【发布时间】:2020-11-06 09:11:50
【问题描述】:
我正在尝试使用 FFMPEG 来解决我的视频中的一些复杂逻辑。
业务逻辑如下: 我从以下格式获取视频:avi、mp4、mov。
我不知道视频中的内容是什么。可以从1M到5G。
我想以我可以获得的更高质量输出此视频中的图像列表。仅捕获与前一帧相比有较大变化的帧。 (新人、新角度、大动作等)
此外,我想限制每秒的帧数,即使视频速度非常快并且一直在变化,它也不会产生比此参数更多的每秒帧数。
我现在正在使用以下命令:
./ffmpeg -i "/tmp/input/fast_movies/3_1.mp4" -vf fps=3,mpdecimate=hi=14720:lo=7040:frac=0.5 -vsync 0 -s hd720 "/tmp/output/fast_movies/(#%04d).png"
据我了解,它执行以下操作: fps=3 - 首先将视频剪切为每秒 3 帧(这就是我所说的限制)
mpdecimate - 过滤变化不超过我设置的阈值的帧。
-vsync 0 - 同步视频时间戳 - 我不知道为什么但没有它 - 它会产生数百个重复帧,忽略 fps 和 mpdecimate 命令。谁能解释一下?
-s hd720 - 将视频大小设置为
效果很好,但我对质量不太满意。你觉得我错过了什么吗? FFMPEG 中是否有我更好地使用它而不是这些参数的参数?
【问题讨论】:
-
我对质量不太满意 > 为什么?
-
我正在插入中等质量的视频,但我看不到输出帧具有更好的分辨率。
-
@Udi 质量永远比不上输入。只有相同或更差。
-
@llogan 我知道。似乎质量较低。
-
当我只拍摄 1 帧时,它可能处于相机移动的中间,因此质量有点模糊。 FFmpeg 是否可以将 5-6 帧分成 1 帧以减少图像中的模糊区域?
标签: image-processing ffmpeg video-processing vsync mpdecimate