HTML 视频标签在 Google Chrome 中读取 MOV 文件作为音频文件

HTML video tag read MOV file as an audio file in Google Chrome

这是从我的 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 视频文件在 Google Chrome 中被读取为音频文件? (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 HEVC。

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 中受支持。这是一件 patent/royalty 的事情。您应该将视频重新编码为 h264 - 并提供该版本(99.9% 的浏览器支持)。

Chrome 可以播放音轨:

codec_long_name : AAC (Advanced Audio Coding)

所以这就是为什么您只能在 Chrome 中获得音频。