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