我正在寻找一些通用的方法来转储rtsp流。我想弄清楚,一些rtsp流运行良好,服务器正在发送一些可观看的视频。
openRTSP
起初,谷歌推荐我使用openRTSP工具。
openRTSP -4 ${stream_link} > ${output_file}但是该工具转储的输出视频文件并不是真正正确的。视频解码器(ffdec)返回许多错误,比如“未能解码视频数据包”和"h264 no frame!",这些错误不适合我。
ffmpeg
然后我尝试用ffmpeg工具转储rtsp流。
ffmpeg -loglevel debug -i "${stream_link}" -s 640x480 -vcodec copy -acodec copy -y ${output_file}但是,流处理经常被错误所打断:
Application provided invalid, non monotonically increasing dts to muxer in stream 0: 730672 >= 730672
av_interleaved_write_frame(): Invalid argument我正在尝试使用--fflags igndts,但是ffmpeg并没有忽略这些错误。这没有任何意义,因为这个错误实际上意味着音频和视频流是异步发送的。最糟糕的是,被中断的转储导致的转储文件也是不正确的。Ffdec返回一些错误:
ERROR [mov,mp4,m4a,3gp,3g2,mj2] moov atom not found
ERROR [ffdec] av_open_input_file: Operation not permitted在我搜索了一杯好东西之后,我发现它真的很旧了。
mplayer
而不是我尝试在LIVE_555库中使用mplayer。
mplayer -noframedrop -dumpfile ${output_file} -dumpstream ${stream_link}但我也犯了一些错误。
Stream not seekable!
Core dumped ;)问题
我想我做错了什么。这听起来真的很荒谬,没有办法将rtsp流保存在正确和可播放的视频文件中。
也许还有其他一些工具可以帮助完成这项任务?事实上,我将感谢任何对各种语言和语言的建议。但是这个过程应该是自动的,而且应该有cli。
精化
关于50%的实验,我在本地主机上做了一些类似rtsp广播的vlc实验。这是一个手册,我试着跟随它。
我有非常新鲜和最新的x264支持的ffmpeg,这是我通过那有用的线程安装的。
发布于 2011-11-14 05:01:55
德米特里,你应该试试ErlyVideo服务器。它可以捕获RTSP-流量,并将其存储在多媒体文件中,可与媒体播放器一起播放。
https://stackoverflow.com/questions/7932389
复制相似问题