问题描述
这是从我的 iPhone 8 复制的 MOV 视频文件 URL。
https://www.yangfamily.tw/attachments/IMG_3049.MOV
然后我尝试在 Chrome 上播放这个视频,html 代码如下:
<video width="320" height="240" controls>
<source src="https://www.yangfamily.tw/attachments/IMG_3049.MOV">
Your browser does not support the video tag.
</video>
然后我右键单击控件,菜单显示它是一个AUdio文件,而不是视频文件。
这确实是一个视频文件,我可以播放这个视频文件并在任何其他播放器上成功显示帧。 为什么这个 MOV 视频文件在谷歌浏览器中被读取为音频文件? (Chrome 版本:90.0.4430.93 64 位)
有什么想法吗?
解决方法
在您的 <source>
标签中,您需要添加 type='video/mp4'
像这样:
<source src="https://www.yangfamily.tw/attachments/IMG_3049.MOV" type='video/mp4'>
此视频编码为 h.265 HVEC。
ffprobe 是一个免费的开源工具(在线版本:https://ffprobe.a.video/probe?url=https%3A%2F%2Fwww.yangfamily.tw%2Fattachments%2FIMG_3049.MOV)
当我查看编解码器时:
codec_long_name : H.265 / HEVC (High Efficiency Video Coding)
h265 仅在 Safari 中受支持。它是专利/特许权使用费。您应该将视频重新编码为 h264 - 并提供该版本(99.9% 浏览器支持)。
Chrome 可以播放音轨:
codec_long_name : AAC (Advanced Audio Coding)
这就是为什么您只能在 Chrome 中获得音频。