请问live555的是怎么实现的,比如testProgs中的openRTSP是经过source(rtsp://localhost/test.mp4)之后将video或者audio的数据存储到文件中,再进行解码吗,是如何解码呢,我想用ffmpeg解码,如何实现呢?
问题点数:20分
CSDN今日推荐
- ⋅ Live555接收h264使用ffmpeg解码为YUV420
- ⋅ 基于Live555的封装H264裸流为Ts流笔记(H264转ts流最简单方法)
- ⋅ Live555接收h264使用ffmpeg解码为YUV420 .
- ⋅ live555实现TS码流RTSP传输
- ⋅ ffmpeg用来进行编码解码,live555用来进行传输rtsp、rtp
- ⋅ live555+MediaCodec实现获取并解码RTSP视频(H264)
- ⋅ live555接收实时视频流+ffmpeg解
- ⋅ V4L2+FFMPEG+live555实现流媒体服务端
- ⋅ Live555 + h264 + ffmpeg 客户端解码 笔记
- ⋅ 判断网络传输h264视频流是否丢包
0 2009-05-15 07:26:23
引用 ・ 举报 ・ 管理 #1 得分:0
是问题没有难度还是什么啊,小弟刚来这里注册,希望各位帮忙啊....
版主
0 2009-05-15 12:36:21
引用 ・ 举报 ・ 管理 #2 得分:0
live没有解码,只是接收网路数据。接收的地方也就是写文件的地方在filesink文件里
可以从filesink写文件的地方直接取数据用ffmpeg来解码
ffmpeg怎么用你看看它自己的Demo程序
0 2009-05-15 12:56:23
引用 ・ 举报 ・ 管理 #3 得分:0
我把filesink中得到的数据文件,用ffmpeg解码后,老是出错啊.我觉得,是不是在解码之前,需要对数据文件做些其他处理,然后解码吧?
video-H264-1.h264是openRTSP保存得到的文件,只加了个后缀.h264.然后用如下命令转换,但是出错.
D:\ffmpegdev\ffmpeg3.2sdk\bin>ffmpeg -i video-H264-1.h264 -vcodec wmv2 -y test.wmv
[h264 @ 65E8EAC0]non existing PPS referenced
[h264 @ 65E8EAC0]decode_slice_header error
[h264 @ 65E8EAC0]non existing PPS referenced
[h264 @ 65E8EAC0]decode_slice_header error
[h264 @ 65E8EAC0]no frame!
[h264 @ 65E8EAC0]non existing PPS referenced
[h264 @ 65E8EAC0]decode_slice_header error
[h264 @ 65E8EAC0]non existing PPS referenced
[h264 @ 65E8EAC0]decode_slice_header error
[h264 @ 65E8EAC0]no frame!
Input #0, h264, from 'video-H264-1.h264':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: h264, yuv420p, 25.00 tb(r)
Output #0, asf, to 'test.wmv':
Stream #0.0: Video: wmv2, yuv420p, q=2-31, 200 kb/s, 25.00 tb(c)
Stream mapping:
Stream #0.0 -> #0.0
[asf @ 69945930]dimensions not set
Could not write header for output file #0 (incorrect codec parameters ?)
D:\ffmpegdev\ffmpeg3.2sdk\bin>
0 2009-05-16 10:52:42
引用 ・ 举报 ・ 管理 #4 得分:0
请高手回答啊,琢磨了好久,搞不定,非常谢谢啊.
用openRTSP测试程序,我把filesink中得到的数据文件(是h264视频流数据),原封不动,用ffmpeg解码后,老是出错啊.我觉得,是不是在解码之前,需要对数据文件做些其他处理,然后解码吧? 对其他的流,比如mpeg4视频流,可以把得到的文件直接用ffmpeg解码,解码正常.h264数据流就不行,是不是h264数据流,要进行必要的处理后,才能解码呢???
如下:
video-H264-1.h264是openRTSP保存得到的文件,只加了个后缀.h264.然后用如下命令转换,但是出错.
D:\ffmpegdev\ffmpeg3.2sdk\bin>ffmpeg -i video-H264-1.h264 -vcodec wmv2 -y test.wmv
[h264 @ 65E8EAC0]non existing PPS referenced
[h264 @ 65E8EAC0]decode_slice_header error
[h264 @ 65E8EAC0]non existing PPS referenced
[h264 @ 65E8EAC0]decode_slice_header error
[h264 @ 65E8EAC0]no frame!
[h264 @ 65E8EAC0]non existing PPS referenced
[h264 @ 65E8EAC0]decode_slice_header error
[h264 @ 65E8EAC0]non existing PPS referenced
[h264 @ 65E8EAC0]decode_slice_header error
[h264 @ 65E8EAC0]no frame!
Input #0, h264, from 'video-H264-1.h264':
Duration: N/A, bitrate: N/A
Stream #0.0: Video: h264, yuv420p, 25.00 tb(r)
Output #0, asf, to 'test.wmv':
Stream #0.0: Video: wmv2, yuv420p, q=2-31, 200 kb/s, 25.00 tb(c)
Stream mapping:
Stream #0.0 -> #0.0
[asf @ 69945930]dimensions not set
Could not write header for output file #0 (incorrect codec parameters ?)
D:\ffmpegdev\ffmpeg3.2sdk\bin>
0 2009-06-18 21:32:05
引用 ・ 举报 ・ 管理 #5 得分:0
Live555开发研究,欢迎加入QQ群:55905994
0 2009-06-21 21:38:47
引用 ・ 举报 ・ 管理 #6 得分:0
mpeg4打包 很简单,一个udp包就是一帧, 而h.264一个nalu可能有好几个UDP包,filesink需要把相同timestamp的包拼成一个完整的nalu再给解码器。 另外,h264需要用SDP里的SPS,PPS来初始化解码器
0 2009-06-26 15:32:31
引用 ・ 举报 ・ 管理 #7 得分:0
顶一下,楼主的问题解决了没?
0 2009-07-13 13:50:56
引用 ・ 举报 ・ 管理 #8 得分:0
支持一下,我也很想知道live555是怎么实现传输的呢?
0 2009-08-19 23:08:36
引用 ・ 举报 ・ 管理 #9 得分:0
刚开始用openRTSP测试程序,请问一下如何写文件参数如何用的,如果我是看一个实时的视频,输出到文件怎么控制时间呢,比如说我只希望录制5分钟???命令行该如何写!!!openRTSP -q -F aaa rtsp://******************.sdp这样对吗,好像程序一直在那执行
0 2010-01-07 16:09:24
引用 ・ 举报 ・ 管理 #10 得分:0
LZ 我也想知道怎么解决啊,你完成了吗?
0 2010-07-28 09:36:08
引用 ・ 举报 ・ 管理 #11 得分:0
占座,学习
0 2010-07-29 21:58:10
引用 ・ 举报 ・ 管理 #12 得分:0
如果是音频和视频数据放在一起,自己写一个splitter,音频和视频首帧addstream到formater中,并初始化解码器,对不同的stream调用不同的process进行解码就可以了。
如果是各自数据分开的,创建两个线程读取保存的数据调用对应的解码process就可以了,需要同步。当然如果在server中播发的数据流同步过的最好,省了麻烦。
此外音频和视频不同的格式需要对编码的sdp信息解码用来初始化解码器。不知道会不会对你有所帮助
0 2010-09-15 17:52:06
引用 ・ 举报 ・ 管理 #14 得分:0
顶一下,楼主的问题解决了没?
1 2010-09-16 20:28:00
引用 ・ 举报 ・ 管理 #15 得分:0
正在研究streaming,学习学习
0 2010-12-20 16:54:40
引用 ・ 举报 ・ 管理 #16 得分:0
http://www.yanfaw.com/b2b/technology/151.html
1 2010-12-20 17:02:21
引用 ・ 举报 ・ 管理 #17 得分:0
偶实现了live555+ffmpeg+sdl显示,需要的q我:一一五六九九四二八一
0 2011-10-13 09:40:37
引用 ・ 举报 ・ 管理 #18 得分:0
引用 16 楼 coloriy 的回复:
http://www.yanfaw.com/b2b/technology/151.html
能不能给我留个联系方式 ,我有点基础的问题,刚搞这个
我是新手 我想问下 live555得到的流数据怎么传给递给ffmpge?(最好是用代码来解释下 谢谢)
第2 我在这源代码里边看到很多 sink source 还有环境什么的 能不能给我通俗的解释?
我是这样理解的 Source,Sink以及 Filter等概念。Sink就是消费数据的对象,比如把接收到的数据存储到文件,这个文件就是一个Sink。 Source就是生产数据的对象,比如通过 RTP读取数据。数据流经过多个'source'和'sink's
按我的理解是 先接到流 给source 然后取出数据 给sink? 不知道对不
0 2011-10-13 11:27:48
引用 ・ 举报 ・ 管理 #19 得分:0
关注一下,我估计也快遇到这样的问题了.
0 2011-10-20 11:43:55
引用 ・ 举报 ・ 管理 #20 得分:0
引用 19 楼 wzt226 的回复:
关注一下,我估计也快遇到这样的问题了.
已经遇到了,通过live555得到了h264的裸码流,但不知道怎么交给ffmpeg处理啊!!!!