我想以编程方式检查MP4文件是否可播放。我非常有兴趣以编程方式解决这个问题。
手动,我可以很容易地验证损坏的MP4,但我不看这个2-3小时的电影,我的驱动器中有超过500个视频。:
什么是我的损坏文件?
好吧,当我玩MP4时,我会遇到故障,有时会出现“无法播放此视频”等错误。有时播放的视频没有丢失任何错误,但我看不到或听不到任何声音。这有点随机腐败。
我确信,编写视频播放器的人必须面对/处理此类问题。
如何以编程方式找到此类文件?
除非您完全解码文件,否则无法找到答案。您可以解码而不显示。所以使用类似ffmpeg的东西解码到/ dev / null。如果没有错误消息并且它没有在中间中止,一切都很好。如果你知道你在某种文件中有腐败。
通常,如果它们是可恢复的错误,ffmpeg将继续。因此,您可以根据错误消息的数量和持续到结束的能力来了解错误或严重程度。
你可以开始找到mp4解析器库并使用它,看它是否失败。可能有那些只是读取moov标题。