相关疑难解决方法(0)

rtsp流捕获

我正在寻找一些转储rtsp流的通用方法.我想弄清楚,一些rtsp流运行良好,服务器正在发送一些可观看的视频.

openRTSP

起初,谷歌推荐我openRTSP工具.

 openRTSP -4 ${stream_link} > ${output_file}
Run Code Online (Sandbox Code Playgroud)

但是该工具转储的输出视频文件并不正确.视频解码器(ffdec)返回许多错误,如"无法解码视频数据包"和"[h264]无框架!",这些都不适合我.

ffmpeg的

然后我试图用ffmpeg工具转储rtsp流.

ffmpeg -loglevel debug -i "${stream_link}" -s 640x480 -vcodec copy -acodec copy -y ${output_file}
Run Code Online (Sandbox Code Playgroud)

但是流媒体过程经常被错误中断:

Application provided invalid, non monotonically increasing dts to muxer in stream 0: 730672 >= 730672
av_interleaved_write_frame(): Invalid argument
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用,--fflags igndts但ffmpeg不会忽略这些错误.它没有任何意义,因为该错误实际上意味着音频和视频流是异步发送的.最糟糕的是,由于中断转储导致的转储文件也不正确.Ffdec返回一些错误:

ERROR [mov,mp4,m4a,3gp,3g2,mj2] moov atom not found
ERROR [ffdec] av_open_input_file: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

经过一段精彩的谷歌搜索,我发现,这是一个非常古老的ffmpeg的muxer bug.

mplayer的

比我尝试使用mplayer和LIVE_555 lib.

mplayer -noframedrop -dumpfile ${output_file} -dumpstream ${stream_link}
Run Code Online (Sandbox Code Playgroud)

但我也有一些错误.

Stream not seekable!
Core dumped …
Run Code Online (Sandbox Code Playgroud)

video ffmpeg rtsp video-streaming mplayer

22
推荐指数
2
解决办法
4万
查看次数

标签 统计

ffmpeg ×1

mplayer ×1

rtsp ×1

video ×1

video-streaming ×1