有没有一种方法可以检测FFMPEG视频文件上的黑色

时间:2019-11-21 09:49:57

标签: audio video ffmpeg frame-rate

我正在尝试对视频文件进行质量检查。

我知道有一种方法可以检测视频文件中的黑框或音频丢失。谁能帮我语法的写法?

我尝试执行以下操作,但是由于不知道如何从输出中得知问题,因此出现了问题。

ffmpeg -i inputfile.mxf -vf blackdetect=d=0.1:pix_th=.1 -f rawvideo -y /dev/null

也可以使用ffprobeffmpeg来检查我是否有任何错误的数据包

我还不知道这个0.1:pix_th=.1在做什么?

编辑*:

我已经使用了此命令

ffmpeg -i 01.mxf -vf blackdetect=d=0:pix_th=.01 -f rawvideo -y /NUL

这给了我

  

[blackdetect @ 000001a2ed843740] black_start:0.04 black_end:2

     

black_duration:1.96

     

[mpeg2video @ 000001a2ed86efc0] ac-tex在45 304.08损坏

     

bitrate = 829328.3kbits / s dup = 1 drop = 0 speed = 5.6x

但是,对于黑框,实际的视频不止于此。

是否有一种方法可以告诉它继续观看视频并获得所有黑框,而不仅仅是第一个实例。

1 个答案:

答案 0 :(得分:1)

  

我也不明白这个0.1:pix_th = .1在做什么?

  1. d = 0.1 提到要检测的持续黑屏的持续时间(以秒为单位)。例如,如果将其设置为5,则仅当输入视频包含黑屏5秒钟或更长时间时,您才会收到通知。它不会检测到少于5秒的黑色。

  2. pix_th = .1 提到要检测的黑框像素阈值(黑框的暗度)。 您可以在0到1之间设置一个值。

    0->纯黑色(最大暗度)。

    1->浅黑色(检测所有帧,因为您告诉ffmpeg将最小到最大像素值检测为黑色帧)。

  

但是,对于黑框,实际的视频不止于此。

     

是否有一种方法可以告诉它继续观看视频并获得所有黑框,而不仅仅是第一个实例。

增加 pix_th 的值并检查。

有关更多信息,BlackDetect