我通过HTML5 video
元素投放视频。我发现有关m4v
视频的相应MIME类型的信息存在冲突。大多数演示将type
属性设置为标记中video/mp4
标记中的source
。我读过的一些文章指出网络服务器Mimetype为video/m4v
,而其他文章则表示video/mp4
。哪个是对的?
例如,请参阅此文章,指出video/m4v
mimetype:http://html5center.sourceforge.net/make-your-html5-video-play-on-mobile-devices
这篇文章指出video/mp4
:http://www.coolestguyplanettech.com/use-html-5-video-on-all-browsers/
答案 0 :(得分:53)
标准媒体类型为video/mp4
。
标准的mp4容器格式通常用于AAC音频和H.264视频+ AAC音频。它们具有不同的媒体类型audio/mp4
和video/mp4
,但是您经常需要不同的音频和视频应用程序,而在某些系统上,只能将默认应用程序与文件扩展名相关联。因此,在某些圈子中,在mp4容器中分别对音频和视频(+音频)使用扩展名.m4a
和.m4v
变得流行。但是,这不会影响媒体类型,媒体类型已使用音频或视频前缀区分这些媒体类型。
video/x-m4v
来存储他们商店中的视频,这些视频位于mp4容器中并使用.m4v
扩展名。默认设置为在iTunes中打开视频。有时这是必要的,因为视频使用DRM,AC-3 Dolby Digital音频或mp4容器中通常不支持但iTunes for files with a .m4v
extension支持的其他功能。如果您依赖这些功能,那么您可能希望使用此媒体类型而不是标准媒体类型。
没有x-
的媒体类型在RFC中标准化并由IANA跟踪。没有名称为video/m4v
has been standardized的媒体类型。非标准媒体类型具有x-
前缀。
答案 1 :(得分:5)
我只为特殊项目编写HTML5,但我遇到了一个问题,我偶然能够解决这个问题。在我的块中,我正在写这样的视频代码:
<source src="Videos/myvideo.mp4" type="video/mp4">
<source src="Videos/myvideo.webm" type="video/webm">
这是我的问题:如果我把mp4线放在第一位,Google Chrome会播放视频部分,但会有没有声音。如果我首先放入webm行,Google Chrome会正确播放视频和声音,但Apple Safari根本无法检测到该视频。即使我在type =语句中添加了编解码器信息,它也没有效果。
我准备陷入困境并尝试使用Flash,但我碰巧遇到了解决方案,大多是偶然的。在mp4的行中,我用type =“video / m4v”替换了type =“video / mp4”。它完全解决了这个问题!注意:我没有将视频文件扩展名从mp4改为m4v - 我只在type =语句中使用了m4v。
我找不到任何文档告诉我这样做,我只是对.mp4和.m4v文件扩展之间的区别感兴趣,并开始玩游戏。我使用Linux(Xubuntu),我使用Openshot视频编辑器创建了我的视频作为webm和H.264 mp4文件。也许Openshot的内部运作导致这是一个问题,但无论如何 - 这就是我如何解决这个问题。我的mp4视频播放完美。我希望这有助于其他人 - 明尼苏达州
答案 2 :(得分:0)
8 年后通过在 Linux 上的 Brave Version 1.22.70 Chromium: 89.0.4389.105 (Offizieller Build) (64-Bit)
和 Firefox 86.0.1 (64-Bit)
中的实际测试回答了这个问题。
<video controls="" controlslist="" preload="metadata">
<source type="video/m4v" src="https://example.com/v.m4v">
</video>
不起作用。
但是 video/x-m4v
和 video/mp4
都适用于我正在测试的 m4v 文件。我想最好根据接受的答案使用 x-m4v
。
答案 3 :(得分:-1)
实际上,这完全取决于您使用的是哪个视频容器。大多数浏览器都支持webm和/或mp4文件格式。提供这两个源文件的组合可确保浏览器可以查看该文件。如果你想包含它,还有.ogg格式。
不太确定m4v格式,但听起来它不是网上常用的。无论如何,我会说服务m4v与视频/ m4v MimeType和mp4作为视频/ mp4 MimeType。