.mp4文件没有在chrome中播放

时间:2014-08-05 05:45:02

标签: html5 google-chrome html5-video

我想在我的网站上播放视频。我创建了一个.mp4文件,并使用HTML5视频标记将其添加到html中。

问题是它没有以chrome显示。我也想知道如何一次又一次地重播它。

6 个答案:

答案 0 :(得分:6)

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

  • 由于Chrome删除了对h264的支持,在某些机器上,mp4视频 用它编码将不起作用(抛出一个Parser错误 在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黑客,但是嘿,至少它有效。

来源:user: eithedog

这也可以提供帮助:chrome could play html5 mp4 video but html5test said chrome did not support mp4 video codec

另请在此处查看您的crome版本:html5test

答案 1 :(得分:3)

我也有同样的问题。我将编解码器更改为H264-MPEG-4 AVC,并且视频开始在HTML5 / Chrome中运行。

在转换器中选择的选项:H264-MPEG-4 AVC,在VLC播放器中可见的编解码器:H264-MPEG-4 AVC(第10部分)(avc1)

希望有帮助...

答案 2 :(得分:1)

这最初是为了尝试将视频从我的电脑投射到电视(带字幕),最终使用Chromecast。而我最终在这个“不玩mp4”的情况下。但是我似乎已经证明Chrome会播放(完全相同)mp4,只要它不包含在html(5)中 所以这就是我构建的内容。我在localhost下创建了一个网页,其中有一个default.htm,其中包含: -

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<video  controls >
 <source src="sample.mp4" type="video/mp4">
 <track kind="subtitles" src="sample.vtt" label="gcsubs" srclang="eng">
</video>
</body>
</html>

视频和字幕文件存储在default.htm

所在的文件夹中

我有最新版本的Chrome(今天上午更新)

当我在Chrome浏览器中键入相应的localhost时,会出现一个黑色方框,其中显示“GO”箭头,经过时间栏,静音按钮和显示“CC”的图标。如果我按下go箭头,则没有任何反应(它不会变为“暂停”,经过的时间不会移动,计时器会在0:00停止。没有错误消息 - 没有!

(请注意,如果我输入localhost ..到IE11视频播放!!!!

在Chrome中,如果我输入sample.mp4的光盘地址(即C:\ webstore \ sample.mp4,那么Chrome 会播放视频?。

最后一点可能是Chromecast的有效解决方案,但我看不到任何字幕。我真的想要一个带有工作字幕的解决方案。 我只是不明白在两种播放mp4方法之间Chrome有什么不同。

答案 3 :(得分:0)

遇到同样的问题,我通过在iMovie中使用默认的mp4设置重新转换文件来解决这个问题。

答案 4 :(得分:0)

<嗯......嗯......这个帖子已经2年了,但问题还在继续。]

好的,我(还)不知道最后的答案,但可能还有一些评论 将帮助其他人追逐这些问题。

评论#1:MP4容器文件已存在YEARS,所以 在他们内部允许的几乎可以是任何编解码器。 所以,在你的MP4中获取'mediainfo'cmd-line pgm和peer 容器,所以你要知道里面的编解码器名称。

MP4文件和MKV文件只是CONTAINER文件(参见维基百科),你可以 将许多差异视频代码中的任何一个放入MP4中。 (然而, 我认为Webm可能会内置VP8或VP9或VP10视频编解码器。

评论#2:我们Chromecast用户使用制表符(来自Chrome标签) 可以通过将本地文件粘贴到浏览器的选项卡中来实现 使用如下的网址:

file://C:/Users/David/The_Big_Lebowski(1998)--5mins--snippet.mp4

然而,还可以使用视频和源标签和参考 同一个文件的副本......称为“HTML 5”视频。

我(错误地)认为他们在任何给定的情况下都会呈现相同的效果 浏览器,但他们没有。到目前为止,至少在Chrome中,我发现了 “file://”URL将呈现的情况,但HTML-5会呈现 NOT。

深思熟虑。

答案 5 :(得分:0)

一段时间前,我实际上在mp4时遇到了一些奇怪的错误。对我来说,解决此问题的方法是使用已知的受支持编解码器(H.264和MP3)对视频进行重新编码。

我实际上使用了VLC player,之后运行良好。我使用提到的编解码器 H.264 / MP3 进行了转换。那为我解决了。

问题可能不在于format方法的JavaScript实现中,而在于play/ pause方法中。我是否可以建议访问以下link,Google开发人员会以很好的方式对其进行解释?

此外,您可以选择使用Chrome浏览器开箱即用的新型webp格式,但请谨慎使用其他浏览器。在实施之前,请检查其支持。这是link,描述了提到的格式。

请注意:我创建了一个小的script,可以轻松地将所有标准格式转换为webp。您可以轻松地对其进行配置以满足您的需求。这是相同项目的Github repo