我正在使用以下命令从我的网络摄像头捕获视频:
ffmpeg -r 30 -f v4l2 -video_size 160x120 -i /dev/video0 output.avi
-r 选项表示我想要的帧速率。但是,这并不是说我想要 30 FPS,只是否则它无法正常工作。
如果没有帧速率,捕获就会出现很多错误(我猜它试图捕获太多内容,但无法跟上)。
将帧速率设置为 15 时,输出视频的时间是捕获时间的两倍(有点慢动作)。
将帧速率设置为30,似乎就没问题了。
我如何确定我应该使用 30 fps?如果我想捕捉 15 fps,我应该怎么做才能获得正确的回放?
有关我的网络摄像头的信息:
co@macbook2008:~$ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'YUYV'
Name : YUV 4:2:2 (YUYV)
Size: Discrete 160x120
Interval: Discrete 0.033s (30.000 fps)
Interval: Discrete 0.036s (27.500 fps)
Interval: Discrete 0.040s (25.000 fps)
Interval: Discrete 0.044s (22.500 fps)
Interval: Discrete 0.050s (20.000 fps)
Interval: Discrete 0.057s (17.500 fps)
Interval: Discrete 0.067s (15.000 fps)
Interval: Discrete 0.080s (12.500 fps)
Interval: Discrete 0.100s (10.000 fps)
Interval: Discrete 0.133s (7.500 fps)
Interval: Discrete 0.200s (5.000 fps)
Size: Discrete 176x144
Interval: Discrete 0.033s (30.000 fps)
... and so on for other resolutions
谢谢