有没有办法检测 FFMPEG 视频文件上的黑色

Is there a way to detect black on FFMPEG video files

我正在尝试 运行 对我的视频文件进行 QC 检查。

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

我已尝试执行以下操作,但我遇到了问题,因为我不知道如何从输出中判断。

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 damaged at 45 304.08

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

然而,实际视频的黑框不止于此。

有没有办法告诉它继续看视频并获取所有黑帧,而不仅仅是第一个实例。

I also do not understand what this 0.1:pix_th=.1 is doing?

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

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

    0->纯黑(最暗)。

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

However, the actual video has more than this for the black frame.

is there a way to tell it to continue looking at the video and get all black frames, not just the first instance.

增加pix_th值并检查。

了解更多信息BlackDetect