ffmpeg记录间隔拍摄相机v4l2

问题描述 投票:0回答:1

如何指示ffmpeg(v。:3.4.5)每分钟从我的摄像机/ dev / video0记录一帧,并将其复制到每秒30帧的新文件?目标是几个月的间隔拍摄视频,每分钟仅录制一帧到视频中以节省空间和处理能力,而不是仅以30fps捕捉相机,然后预处理巨大的视频文件以加快...

相机提供1920x1080 30fps流,并在命令行中选择“mjpeg”。我想保留原始帧,然后将它们复制到out文件中。我试过这个命令得到1fps输入到30fps输出,但这似乎不起作用:

ffmpeg -framerate 1 -input_format mjpeg -i /dev/video0 -r 30 -c:v copy -an out.mp4

[video4linux2,v4l2 @ 0x55ece63ac360] The driver changed the time per frame from 1/1 to 1/30
Input #0, video4linux2,v4l2, from '/dev/video0':
  Duration: N/A, start: 37064.594605, bitrate: N/A
    Stream #0:0: Video: mjpeg, yuvj422p(pc, bt470bg/unknown/unknown), 1920x1080, 30 fps, 30 tbr, 1000k tbn, 1000k tbc

但这不起作用。

video ffmpeg timelapse
1个回答
0
投票

我认为这可能是一个解决方案。保持输入帧速率不变,而是将输出速率设置为每分钟一帧,并从流中输出图像,以便稍后我可以通过ffmpeg将它们与我想要的目标帧速率放在一起:

ffmpeg -input_format mjpeg -i /dev/video0 -r 1/60 out%3d.jpeg
© www.soinside.com 2019 - 2024. All rights reserved.