问题 MP4无法在Chrome版本27.0上播放


截至2013年6月5日的最新版Chrome(版本27.0.1453.110米)不播放mp4视频。举个例子 W3Schools Video Sandbox 给了我视频控制,没有别的。 (抱歉无法发布屏幕截图,只是注册了StackO。)

有谁知道为什么??并修复?

是:

有一个 回答 像这样的问题

chrome可以播放html5 mp4视频,但html5test表示chrome不支持mp4视频编解码器

有一个 悬而未决 像这样的问题:

Chrome的html5视频问题 


7007
2018-06-05 10:25


起源

即时通讯使用相同版本的铬,一切正常吗?尝试使用<a>标签(所以没有<视频),看看你得到了什么/ - Marco Geertsma
<a> <source src =“movie.mp4”type =“video / mp4”> <source src =“movie.ogg”type =“video / ogg”>您的浏览器不支持视频标记。 </a>给出'您的浏览器不支持视频标签'。如果从本地源打开,也无法播放.mp4文件。 - Stephan Luis
也使用网址 w3schools.com/html/movie.mp4 给出一个带控件的黑屏 - Stephan Luis
再一次视频播放完美,如果你在本地链接一个mp4文件,你需要描述网站根目录的路径。所以例如assets / video / lorem.mp4。 - Marco Geertsma
如果屏幕保持黑色,只需尝试从互联网上添加一个随机视频,它应该工作相同,因此具有相同的结果。快速视频: youtube.com/watch?v=AvT9VhgROe0 - Marco Geertsma


答案:


遇到同样的问题 - 这是我的一些想法:

  • 由于Chrome删除了对h264的支持,在某些机器上,使用它编码的mp4视频将无法正常工作(在Firebug / Network选项卡下查看时抛出Parser错误 - 与提交的问题一致 这里),或崩溃浏览器,具体取决于编码设置
  • 它不一致 - 它完全取决于计算机上安装的编解码器 - 虽然我没有在我的机器上遇到这个问题,我们确实在办公室里有一个问题发生(因此我们用这个来测试)
  • 它可能与Quicktime / divX设置有关(有问题的机器有一个比我原来的版本更旧的Quicktime版本 - 我们不想放弃我们的测试电脑,所以我们没有更新它)。

因为它只影响Chrome(其他浏览器可以正常使用 VideoForEverybody 解决方案)我使用的解决方案是:

  • 对于每个mp4文件,创建一个Theora编码的mp4文件(example.mp4 - > example_c.mp4)
  • 申请以下js:

    if (window.chrome)
        $("[type=video\\\/mp4]").each(function()
        {
            $(this).attr('src', $(this).attr('src').replace(".mp4", "_c.mp4"));
        });
    

不幸的是,这是一个糟糕的Chrome黑客攻击,但嘿,至少它是有效的。


8
2018-06-10 13:32



移除了对h.264的Chrome支持哪些机器? CanIUse.com报道chrome支持h.264: caniuse.com/#search=mp4 - Clay Nichols
那里有一个昏迷的原因;)是的 - CanIUse报告持续支持,但这并不意味着问题不存在。我认为这可能是因为Chrome删除了支持,去了webm,但它可能也是一个bug。看看我链接到的错误报告。 - eithed


我遇到了同样的问题,即使我没有得到任何答案,我试图以另一种方式解决它,这就是我所做的:

首先,将视频嵌入您的html中:

<video id="videoId" width="100%" autoplay loop>
  <source src="main.webm" type="video/webm">
  <source src="main.mp4" type="video/mp4">

Your browser does not support the video tag.
</video>

然后检测浏览器是否为chrome:

var isChrome = !!window.chrome; 
var isIE = /*@cc_on!@*/false;

如果是Chrome,请用webm版本替换视频。 (对于那些自己没有遇到过问题的人: 如果你嵌入mp4和webm,chr​​ome将不会播放任何一个,所以你必须只嵌入“webm”

if( isChrome ) {
$("#videoId").replaceWith($('<video id="videoId" width="100%" autoplay loop><source src="video.webm" type="video/webm"></video>'));
}

至于IE: 在我的情况下,我用图像替换了html5视频:

if( isIE ) {
$("#videoId").replaceWith($('<img id="videoId" src="img/video.jpg" />'));
} 

3
2018-06-05 18:51



我还有一个脚本来检测firefox并将视频源更新为ogg格式。考虑更新脚本以便Chrome播放webm,但是我不能在这台机器上播放视频并不重要。 有多少用户有同样的问题? - Stephan Luis


Chrome似乎加载了宣布的第一个视频。因此,对于播放webMV的Chrome,首先声明webMV视频,然后声明mp4视频,依此类推。


3
2018-01-04 00:53





答案在前一篇文章中虽然很难找到:

chrome可以播放html5 mp4视频,但html5test表示chrome不支持mp4视频编解码器

它与逐步淘汰Chrome中的mp4支持有关,支持webm开放格式。目前浏览器支持似乎是虚假的。有关详细信息,请参阅帖子。

Cromium论坛提供了有关编解码器支持的更多信息。

希望这可以帮助。


0
2018-06-06 10:46





我在Chrome版本上也遇到此问题:Windows7 64位上的28.0.1500.72。 虽然它不会影响WinXP上相同版本的Chrome。 根据我所读到的,这个问题在不同的主机上是非常零星的,取决于许多变量。但是,由于一些快速的jquery,我能够为潜在的Chrome用户解决此问题。

感谢Sony Flat指点我这个方向

var isChrome = !!window.chrome; 
var isIE = /*@cc_on!@*/false;

if( isChrome ) {
$("#videoId").replaceWith($('<video id="videoId" width="100%" autoplay loop><source src="video.webm" type="video/webm"></video>'));
}

0
2017-07-27 21:47





谢谢eithedog。 此代码可供我使用“视频”标记在Chrome上播放视频

if (window.chrome) {
                $("[type=video\\\/mp4]").each(function () {
                    $(this).attr('src', $(this).attr('src').replace(".mp4", "_c.mp4"));
                });
            }

0
2017-07-02 10:02