FFMPEG 可以(例如 10 秒)间隔从网络摄像头录制吗?
我需要来自网络摄像头的连续小视频(用于我正在开发的 p2p 实时流媒体应用程序),这样我就可以在之后播放它们,而不会注意到实际上有多个视频。
我想,我必须打破关键帧或类似的东西,这样我才能有清晰的剪辑。
为了播放多个视频而不会卡顿,我使用了 Web MediaSource API,它实际上已经很好地工作了。
我只需要将网络摄像头流分割成多个可变视频文件。
谢谢!
最佳答案
您可以使用通用 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)。片段持续时间必须是关键帧间隔的倍数。
关于html - FFMPEG:从网络摄像头创建连续视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33214300/