【发布时间】:2020-05-01 19:11:47
【问题描述】:
我想从网络摄像头捕获视频(保存到文件),同时偶尔获取最新的静止帧(来自 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
附加说明/限制:
- 必须可以控制从 python 的解决方案(例如,通过
subprocess.Popen调用ffmpeg)到 (a) 开始录制,(b) 在任意点获取帧,(c) 停止录制。 - 帧计时不必精确。最后几秒钟内的一帧很好。
- 任何容器格式都可以(mkv、mp4 等)
- 其他程序都可以,不只是
ffmpeg
【问题讨论】: