11

The latest version of Chrome (Version 27.0.1453.110 m) as of 5 June 2013 does not play mp4 videos. For an example W3Schools Video Sandbox gives me video controls and nothing else. (Sorry can't post a screen shot, just signed up to StackO.)

Anyone know why?? and a fix?

Yes:

There is an answered question like this

chrome could play html5 mp4 video but html5test said chrome did not support mp4 video codec

and

There is an unanswered question like this:

html5 video issue with chrome

4

6 回答 6

8

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

  • 由于 Chrome 删除了对 h264 的支持,在某些机器上,用它编码的 mp4 视频要么不起作用(在 Firebug/Network 选项卡下查看时抛出解析器错误 - 与此处提交的问题一致),要么使浏览器崩溃,具体取决于编码设置
  • 它不一致 - 它完全取决于计算机上安装的编解码器 - 虽然我的机器上没有遇到这个问题,但我们确实在发生问题的办公室里有一个(因此我们使用这个进行测试)
  • 它可能与 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 hack,但是,嘿,至少它有效。

于 2013-06-10T13:32:48.543 回答
3

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

于 2014-01-04T00:53:03.640 回答
3

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

首先,将视频嵌入到您的 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 ,chrome 将不会播放其中任何一个,因此您必须仅嵌入“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" />'));
} 
于 2013-06-05T18:51:42.200 回答
0

答案在以前的帖子中,虽然很难找到:

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

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

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

希望这可以帮助。

于 2013-06-06T10:46:03.423 回答
0

我在 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>'));
}
于 2013-07-27T21:47:31.887 回答
0

谢谢eithedog。此代码适用于我使用“视频”标签在 Chrome 上播放视频

if (window.chrome) {
                $("[type=video\\\/mp4]").each(function () {
                    $(this).attr('src', $(this).attr('src').replace(".mp4", "_c.mp4"));
                });
            }
于 2015-07-02T10:02:39.043 回答