保存连续RTSP流,以5-10分钟长的MP4文件(Save continuous RTSP stre

2019-07-29 06:37发布

我怎么可能保持文件(容器MP4)流(RTSP协议,编解码器H264)? 即,在输入的环形流(用CCTV摄像机),并在5-10分钟的记录时间mp4格式大小的输出文件。

操作系统: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

但它不能连续录制视频(重启之间VLC损失约10秒的现场视频)。

Answer 1:

见这个问题上的服务器故障和答案。 总之,切换工具。 avconv会做你想要什么。 (FFMPEG已成为avconv。)

您正在寻找的功能被称为分割。 你的命令行看起来是这样的:

avconv -i rtsp://10.2.2.19/live/ch01_0 -c copy -map 0 -f segment -segment_time 300 -segment_format mp4 "capture-%03d.mp4"



Answer 2:

亚历山大花园解决方案适用于ffmpep使用下面的版本。 更换avconvffmpeg

./ffmpeg -i RTSP://10.2.2.19/live/ch01_0 -c复制-map 0 -f段-segment_time 300 -segment_format MP4 “捕获 - %03d.mp4”

我包括这头,因为FFmpeg的困惑过的版本,Ubuntu的分裂和快速发展。

ffmpeg的版本N-80023-gd55568d版权(C)2000至2016年FFmpeg的开发人员用gcc 4.8内置(Ubuntu的4.8.4-2ubuntu1〜14.04.1)配置:前缀= /家庭/ rhinchley / Q10 / ffmpeg_build --pkg -config-标志= - 静态--extra-CFLAGS = -I /家庭/ rhinchley / Q10 / ffmpeg_build / --extra包括-LDFLAGS = -L /家庭/ rhinchley / Q10 / ffmpeg_build / lib目录--bindir = /家/ rhinchley / Q10 / bin中--enable-GPL --enable-libass --enable-libfdk-AAC --enable-libfreetype建立--enable-了libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis - 使-libvpx --enable-libx264 --enable-libx265 --enable-非自由libavutil 55. 24.100 / 24.100 55. libavcodec的57 42.100 / 42.100 57. 57.了libavformat 36.100 / 36.100 57. 57. libavdevice 0.101 / 0.101 57 libavfilter 6. 45.100 / 6. 45.100 libswscale 4. 1.100 / 1.100 4 2 libswresample 0.101 / 0.101 2 54 libpostproc 0.100 / 0.100 54



Answer 3:

团队工作:分割视频源和具有两个进程交替记录的时间帧。 你将要测试的启动时间是怎么变,怎么变也。 您可能需要设置的过程优先实时减少启动时间的差异。 会有一些重叠,但听起来像它可能为你的应用是确定从我推断。 例:

p1: sRRRRRRRRRwwwwwwwwsRRRRRRRRRwwwwwwwwsRRRRRRRRR...
p2: wwwwwwwwwsRRRRRRRRRwwwwwwwwsRRRRRRRRRwwwwwwwww...

                    time -->

s: startup
R: running
w: wait


文章来源: Save continuous RTSP stream to 5-10 minute long mp4 files