如何以编程方式浏览大量视频文件(包含密钥和 ts 文件的 m3u8 播放列表文件),并测试损坏的文件(或任何无法播放的视频文件)?
理想情况下,解决方案不重(即,它可以探测视频的一部分并确定其可播放性)?
使用 ffMPEG 或其姐妹 ffProbe。(http://ffmpeg.org/)
灯光选项:ffProbe 将为您提供有关视频和音频的信息。非常详细。将作为快速运行。
最重要的选项:ffMPEG 可以转换视频,如果您尝试将视频从一种格式转换为另一种格式,那么如果视频不好,它可能会失败。但请注意,这是一个 CPU 密集型操作,您需要对请求进行排队(每个 CPU 内核一个 ffMPEG 实例)。您还可以使用带有 -i 选项的 ffMpeg 为您提供快速且“轻量级”的视频信息
您在服务器上设置 ffProbe 或 ffmpeg - 它可以在 Windows 和 *nix 系统上运行,并且您通过 exec 调用。
从技术上讲,有很多视频流不会以一种判断它们是否损坏的方式解码。除非它是包含对数据流进行某种检查的法典。
我不知道您指的是什么文件格式,但也许 PHP 的开源 getID3 库会有所帮助。如果它无法提取标题信息,则该文件可能不是视频或坏的。它的重量也很轻,因为它只检查标题。