将流保存为 mp4 文件

Rus*_*pov 3 debian video ffmpeg streaming rtsp

如何将流(协议 rtsp,编解码器 h264)保存在文件(容器 mp4)中?也就是说,输入源源不断(带闭路电视摄像头),输出文件以 mp4 格式大小为 5-10 分钟的录制时间。

操作系统:debian、ubuntu 软件:vlc、ffmpeg (avconv)

目前使用这个方案:

cvlc rtsp://admin:admin@10.1.1.1:554/ch1-s1 --sout=file/ts:stream.ts
ffmpeg -i stream.ts -vcodec copy -f mp4 stream.mp4
Run Code Online (Sandbox Code Playgroud)

但是它不能连续录制视频(重启vlc之间是损失了大约10秒的实时视频)

小智 9

VLC 不支持分割输出文件。您可以尝试直接使用 ffmpeg,因为它支持输出分段

ffmpeg -i rtsp://admin:admin@10.1.1.1:554/ch1-s1 -c copy -map 0 -f segment -segment_time 600 -segment_format mp4 "out%03d.mp4"
Run Code Online (Sandbox Code Playgroud)

  • 如果应用程序用于“CCTV”,我建议您使用“-segment_atclocktime 1”。因为这将尝试根据挂钟而不是自记录开始以来的时间进行分割。 (2认同)