如何将流(协议rtsp、编解码h264)保存在文件(容器mp4)中?也就是说,在输入一个没完没了的流(带有闭路电视摄像头)的情况下,输出的文件以mp4格式大小为5-10分钟的记录时间。
操作系统: debian、ubuntu Software: 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秒的实时视频)。
发布于 2012-08-18 20:35:04
请参阅this question并回答服务器故障。简而言之,切换工具。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"
发布于 2016-06-24 07:21:38
Alexander Garden解决方案适用于使用以下版本的ffmpep。用ffmpeg替换avconv。
。/ffmpeg -i rtsp://10.2.2.19/ -c /ch01_0-c copy -map 0 -f segment -segment_time 300 -segment_format mp4 "capture-%03d.mp4“
我加入这个标题是因为FFmpeg对版本的混淆,ubuntu的分裂和快速开发。
前缀ffmpeg版本N-80023-gd55568d版权所有(c) 2000年至2016年使用--extra-cflags=-I/home/rhinchley/q10/ffmpeg_build/include --extra-ldflags=-L/home/rhinchley/q10/ffmpeg_build/lib 4.8 (Ubuntu4.8.4-2ubuntu1~14.04.1)构建的配置:--
=/ FFmpeg /rhinchley/q10/ffmpeg_build--pkg-config---extra-cflags=-I/home/rhinchley/q10/ffmpeg_build/include--extra-ldflags=-L/home/rhinchley/q10/ffmpeg_build/lib=-- --bindir=/home/rhinchley/q10/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis -enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree libavutil 55。24.100 / 55。24.100 libavcodec 57.42.100 / 57年。42.100 libavformat 57.36.100 / 57年。36.100 libavdevice 57。0.101 / 57年。0.101 libavfilter 6. 45.100 / 6. 45.100 libswscale 4. 1.100 / 4. 1.100 libswresample 2. 0.101 / 2. 0.101 libpostproc 54。0.100 / 54。0.100
发布于 2012-05-12 19:51:48
团队工作:拆分视频源,并让两个进程交替记录时间帧。您将需要测试启动时间的可变程度,以及它的可变程度。您可能希望将进程优先级设置为实时,以减少开始时间差异。会有一些重叠,但根据我的推断,这听起来可能适合你的应用程序。示例:
p1: sRRRRRRRRRwwwwwwwwsRRRRRRRRRwwwwwwwwsRRRRRRRRR...
p2: wwwwwwwwwsRRRRRRRRRwwwwwwwwsRRRRRRRRRwwwwwwwww...
time -->
s: startup
R: running
w: waithttps://stackoverflow.com/questions/10459338
复制相似问题