我想从网络摄像头捕获视频(保存到文件),同时偶尔获取最新的静止帧(从python代码获取)。 有没有办法在Linux上做到这一点?
我尝试过的事情:
# Capture Video:
ffmpeg -f v4l2 -framerate 30 -video_size 1024x576 -i /dev/video0 myvideo.mp4
...
# In another terminal, try to capture the latest still frame:
ffmpeg -sseof -3 -i myvideo.mp4 -update 1 -q:v 1 current_frame.jpg
但是,我从上一条命令得到的响应各种各样,例如
Cannot use -sseof, duration of myvideo.mp4 not known
和
[matroska,webm @ 0x55e1aae26900] Duplicate element
Last message repeated 2 times
其他说明/约束:
ffmpeg
调用subprocess.Popen
)到(a)开始记录,(b)在任意点获取帧,(c)停止记录,必须有可能控制解决方案。 ffmpeg
答案 0 :(得分:1)
您可以为FFmpeg提供多个输出。合并您的命令:
ffmpeg -f v4l2 -framerate 30 -video_size 1024x576 -i /dev/video0 myvideo.mp4 -r 1 -update 1 current_frame.jpg