【问题标题】:ffmpeg record timelapse camera v4l2ffmpeg 录制延时摄影机 v4l2
【发布时间】:2019-08-11 10:41:30
【问题描述】:

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

相机提供 1920x1080 30fps 流,并在命令行中选择了“mjpeg”。我想保留原始帧并将它们复制到输出文件中。我尝试使用此命令将 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】:

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

    ffmpeg -input_format mjpeg -i /dev/video0 -r 1/60 out%3d.jpeg
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-26
      • 2011-01-03
      • 2020-10-05
      • 1970-01-01
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多