AVI 视频 (.avi)

Microsoft 标准

音频视频交错格式(AVI)是微软于 1992 年推出的一款具有里程碑意义的多媒体容器,它将音频和视频流交错排列以实现同步播放。

检查与元数据

操作系统和文件分析器通过检查开头的二进制字节序列来识别 AVI 文件:

选择或将文件拖放到此处

100% 浏览器端私密转换 - 文件绝不会离开您的设备

或粘贴 Ctrl+V
零网络传输隐私保证: 上传至外部服务器的数据为 0 字节。所有处理均在您的浏览器沙箱中本地完成。

字节级文件头签名 (Magic Bytes)

操作系统和文件分析器通过检查开头的二进制字节序列来识别 AVI 文件:

十六进制签名 (偏移量 0):

52 49 46 46 00 00 00 00 41 56 49 20

ASCII 表示形式: RIFF....AVI

标准化: Microsoft RIFF Specification / OpenDML Extension

技术规格

容器架构Resource Interchange File Format (RIFF) interleaved chunk container
压缩方式Interleaved streams supporting DivX, Xvid, Motion JPEG, raw uncompressed, and MP3 audio
字节序Little-Endian (Intel x86 byte order)
色彩空间YUV 4:2:0, RGB, and palette colors
通道与结构Stereo and multichannel audio streams
最大尺寸Unrestricted; OpenDML AVI extension supports 4K and multi-gigabyte streams
透明度Supported via RGBA uncompressed video streams
流式传输与渐进式加载Index chunk placed at end of file; poorly suited for progressive web streaming

技术对比矩阵:AVI 对比同类产品

技术属性AVI (当前)MP4MKVMOV
流媒体适应性较差;跳转前需要下载整个文件优秀(FastStart / HLS / DASH)良好(分段 EBML)优秀(FastStart)
HTML5 网页播放现代浏览器原生不支持所有浏览器 100% 通用部分支持(Edge / Chrome)在 Safari / 苹果设备上受支持
字幕嵌入依赖破解技巧(需要外部 .srt 文件)原生定时文本(tx3g / VTT)完全原生支持 ASS/SSA/SRT原生苹果 QuickTime 字幕
可变帧率严格的恒定帧率(CFR)原生 VFR 支持原生 VFR 支持原生 VFR 支持

常见损坏模式与十六进制恢复指南

媒体播放器可以播放视频但无法跳转或快进,或者报告"损坏的索引"。

根本原因: 在中断的下载过程中,尾部的 'idx1' 索引块被截断或删除。

恢复方法: 使用 DivFix++、VLC("构建索引然后播放"),或运行 'ffmpeg -i broken.avi -c copy fixed.avi' 重建索引。

安全分析与解析器攻击向量

AVI 文件包含复杂的块层级结构并支持无数冷门的传统视频解码器,这使得未沙盒化的解码器容易受到解析器漏洞的影响。

已知攻击向量

  • 旧版 Windows 媒体播放器中 'strh'(流标题)块解析的堆缓冲区溢出。
  • 针对恶意构造的大帧数标题分配索引数组期间发生整数溢出。
  • 旧版 DirectShow 滤镜中运动 JPEG 解压缩的越界读取。

防御性最佳实践:

历史渊源与里程碑

1999DivX 压缩技术使 AVI 成为互联网电影分享的主导格式。
1996OpenDML 联盟发布 AVI 2.0,取消了限制性的 2 GB 文件大小上限。
1992微软作为 Windows 3.1 的一部分,推出了 AVI 以及 Video for Windows。

核心优势与特点

  • 在 Windows 媒体软件和视频编辑器中拥有极其广泛的传统桌面支持。
  • 支持用于档案胶片扫描和科学视频分析的未压缩原始帧。
  • 简单的流交错架构,容器开销较低。

技术局限与劣势

  • 缺乏对现代视频容器功能(如可变帧率 VFR 和章节)的原生支持。
  • 非常不适合网络流媒体播放,因为主索引块('idx1')存储在文件末尾。
  • 在不重新编码为 MP4 或 WebM 的情况下,没有原生的 HTML5 视频浏览器支持。

趣味技术冷知识

  • 在 2000 年代初期,DivX 和 Xvid AVI 文件是对等文件共享网络使用的主要格式。
  • 由于 32 位文件偏移指针,最初的 1992 年 AVI 规范文件大小不能超过 2 GB。
  • AVI 文件末尾的 'idx1' 块列出了用于跳转的每个单帧的字节偏移量。

常见技术问题

为什么我不能在网页浏览器中直接播放 AVI 视频?

现代浏览器将 MP4 (H.264/AV1) 和 WebM (VP9/AV1) 标准化,因为它们的容器格式针对渐进式流媒体进行了优化。AVI 缺乏原生的网页流媒体功能,并且在 HTML5 <video> 中不受支持。

如何修复无法定位或拖动的 AVI 文件?

AVI 文件依赖于文件末尾的索引表。如果不完整,播放器将无法定位。使用 File2File 视频转换器对文件进行转码或重新建立索引可以恢复完整的时间轴拖动功能。

AVI 和 MP4 有什么区别?

AVI 是 1992 年的旧版容器,专为本地桌面播放而设计。MP4 是 2001 年的现代标准,支持网络流媒体、章节、可变帧率、字幕和更高级的压缩。