HTML本地播放仅支持OGG格式,MP4/AVI无法播放求助
解决方案
1. 解决MP4无法播放的核心问题
浏览器对MP4的支持有严格编码要求,必须是H.264视频编码 + AAC音频编码的MP4文件才能被<video>标签识别。不少工具生成的MP4可能使用MPEG-4 Visual等非标准编码,直接导致无法播放:
- 用MediaInfo工具查看
motion_1.mp4的编码信息,确认是否符合要求 - 若编码不符,用FFmpeg或格式工厂转码,示例FFmpeg命令:
ffmpeg -i motion_1.mp4 -c:v libx264 -c:a aac -strict -2 output.mp4
2. AVI格式的本质限制
浏览器原生完全不支持AVI容器,<video>标签里的type="video/avi"是无效的——W3C标准中根本没有这个MIME类型,即使IIS配置了MIME也无法让浏览器识别AVI。唯一可行的解决办法:
- 将AVI转码为MP4、OGG或WebM格式,用上述转码工具即可完成。
3. 核对IIS的MIME配置
虽然你已启用相关支持,仍需确认配置是否准确:
- 打开IIS管理器 → 目标网站 → MIME类型
- 确保存在以下条目:
- 扩展名:
.mp4,MIME类型:video/mp4 - 扩展名:
.avi,MIME类型:video/x-msvideo(注:此配置仅让IIS正确返回文件,无法解决浏览器不支持AVI的问题)
- 扩展名:
4. 检查文件路径与权限
- 确认
motion_1.mp4和motion_1.avi确实存放在网站根目录(或对应子目录),路径无拼写错误 - 右键文件 → 属性 → 安全,检查IIS应用池身份(如
IIS AppPool\你的站点名称)是否拥有读取权限,无权限则添加并赋予读取权限
5. 清除浏览器缓存
按Ctrl+F5强制刷新页面,或直接清除浏览器缓存后重新加载,避免旧的错误缓存干扰播放。
修改后的参考代码
<!-- OGG视频 --> <video width="640" height="480" controls> <source src="test.ogg" type="video/ogg"> Your browser does not support the video tag. </video> <!-- MP4视频(需确保编码为H.264+AAC) --> <video width="640" height="480" controls> <source src="motion_1.mp4" type="video/mp4"> Your browser does not support the video tag. </video> <!-- AVI不支持,替换为转码后的MP4 --> <video width="640" height="480" controls> <source src="motion_1_converted.mp4" type="video/mp4"> Your browser does not support the video tag. </video>
内容的提问来源于stack exchange,提问作者NoobProgrammer
相关产品推荐
相关产品推荐

