使用 youtube-dl,我能够下载相当多的 .mp4 文件。但是,我刚刚发现,在手动播放其中一些之后,它们在某些部分丢失了电影帧,而仍在播放音频(因此显示了一个空白屏幕),或者在播放电影帧时丢失了音频。
因此,
(1) 为什么 youtube-dl 不检测或警告这种情况?看起来电影片段和音轨已合并,并且在没有任何警告的情况下生成了 .mp4。有没有办法配置 youtube-dl 来检测这种情况并重新下载电影?
(2) 否则,还有其他方法可以以编程方式检测此类情况吗? (考虑到一个人可能有数千个这样的 .mp4 文件并且可能无法手动通过所有这些文件?)将不胜感激使用 FFmpeg 或 php 的解决方案。
最佳答案
其原因可能是 youtube-dl 在下载文件时跳过了(一些)片段,如果您使用终端/命令提示符,您可以采取一些措施来防止这种情况发生,其中一些是:
--fragment-retries infinite
--abort-on-unavailable-fragment
这应该可以防止任何 future 的视频/音频出现损坏的片段,阅读更多 here
NOTE: I'm currently looking for a way to detect downloaded videos whether it's broken or not (i.e. fragment lost, etc.)
关于php - 如何以编程方式检查 .mp4 文件是否未损坏且未丢失电影帧或音频片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53636417/