FFMPEG可以从网络摄像头录制(例如10秒)吗? 我需要来自网络摄像头的连续小视频(用于我正在开发的p2p直播应用程序),以便我可以在之后播放它们而不会注意到,实际上有多个视频。
我想,我必须打破关键帧或类似的东西,以便我有明确的削减。
为了在没有口吃的情况下播放多个视频,我使用了Web MediaSource API,它实际上已经很好地工作了。
我只需要将网络摄像头流分段为多个可变视频文件。
谢谢!
答案 0 :(得分:4)
您可以使用通用stream segmenter或特定Apple HTTP Live Streaming (HLS) segmenter。
Linux上的流分段器示例:
ffmpeg -f v4l2 -framerate 25 -video_size 640x480 -i /dev/video0 -an -f segment -segment_time 10 -segment_format_options movflags=+faststart out%03d.mp4
您可以使用GOP大小选项(-g
)设置常量关键帧间隔,即:
-c:v libx264 -r 25 -g 50
每2秒放置一个关键帧(50帧,25 fps)。段持续时间必须是关键帧间隔的倍数。