如何使用ffmpeg删除长静音和未更改的视频部分?

时间:2015-03-18 10:09:08

标签: audio ffmpeg video-processing

我想识别.mp4(H264 + AAC)视频中无声且未更改帧的区域并将其剪切掉。 当然,对于测量不变帧的阈值和算法,会有一些微调。

  • 我的问题更为笼统,关于我如何实现自动化?
  • 是否可以使用ffmpeg解决此问题? (最好用C或python)
  • 我如何以编程方式分析音频?
  • 我如何以编程方式分析视频帧?

1 个答案:

答案 0 :(得分:0)

音频沉默see this

对于静态视频场景ffmpeg可能不是理想的工具。

您可以使用低阈值的场景变化检测来查找特定帧,然后提取这些帧并将其与imagemagick的比较功能进行比较:

ffprobe -show_frames -print_format compact -f lavfi "movie=test.mp4,select=gt(scene\,.1)"

compare -metric RMSE frame1.png frame0.png

我认为这不会很好。

最好的办法是使用OpenCV之类的内容来查找框架之间的差异。

OpenCV Simple Motion Detection