即时视频流分析 - 建议?

Video stream analysis on the fly - advise?

我计划开发一个简单的解决方案,使我能够即时执行非常基本的视频流分析。我以前从来没有做过那样的事情,因此这是一个非常普遍和开放的问题。主要重点是检查流是否没有问题,例如 - 冻结帧、黑屏以及音频是否存在。同步超出范围。我阅读了 OpenCV 和 Xuggler 等开放库,但它们似乎比我需要的更复杂。 FFmpeg 能够检测黑屏,但不能实时检测。

有没有其他我可以查看的开放库?你能给我什么建议吗?我正在考虑使用 Java 或 Python。或者两者兼而有之。解决方案的效率超出了范围,我现在只关注冻结帧和黑屏检测。

欢迎任何建议!

此致, 彼得

可以使用ffmpeg分析实时流。例如:

ffmpeg -i <input> -filter:v blackdetect=d=9 -filter:a silencedetect=d=9 -t 10 -f null /dev/null

检查 10 秒视频中是否有 9 秒是黑色或静音。重复。

在最新版本的 FFmpeg 中,您可以使用 freezedetect 过滤器来检测不变的帧。

如果您需要不同的指标,您可以在不同时间截取两个屏幕截图并将它们与 imagemagick:

进行比较
compare -metric <metric> <in1> <in2> <diff>