mediainfo 说视频被截断是什么意思?

mediainfo 说视频被截断是什么意思?

我有两种方法来检查损坏的视频文件。第一个是使用mediainfo并立即运行:

mediainfo "$1" | grep --color 'IsTruncated'

第二种是手动逐帧浏览视频ffmpeg(需要几分钟的密集处理):

ffmpeg -v error -i "$1" -f null -

我了解IsTruncated视频已被移动或下载并被中断意味着什么。文件太小,视频一旦到达该位置就会停止播放。但有时第一个脚本会告诉我有一个视频被截断,但它播放得很好并且一直播放到最后。运行时,第二个脚本根本不会给出任何错误消息。

IsTruncated如果视频看起来不错意味着什么?是否有可能找出缺失了多少或哪些部分?

答案1

媒体可以使用各种编码和容器来存储。这些编码和容器将具有 (1)介质尺寸在标题中或 (2)流结束末尾的标记(字节序列)。我们可以考虑 Media“IsTruncated”,当标头中的媒体大小与磁盘上的大小不匹配,或未找到流结束标记。在这些情况下,媒体播放器可以在可能的情况下播放内容,直到流耗尽。

此外,(3) 容器可能有多个交替流包括标题中列出的音频流或字幕或封面艺术图像。其中一些流或图像可能是损坏和/或丢失。即使使用 1 个视频流 + 1 个音频流进行流畅播放,容器也不完整,并且由于内容损坏/丢失,媒体“已截断”。

您可以使用 VLC 等播放器并检查媒体属性,并在使用各种备用流选择进行播放时观察错误。
您还可以使用媒体编辑工具来检查属性的详细信息和验证。

相关内容