两个H.264 mp4视频:一个在Chrome中播放,一个不在

时间:2012-09-14 19:57:51

标签: google-chrome video h.264 mp4

我有两个不同的视频,两者(据我所知)通常以相同的方式捕获,我正在尝试使用Chrome中的HTML5视频标记。两个视频都在VLC中打开并完美播放,因此我认为文件损坏没有任何问题,两者都是带有H.264格式的mp4,使用YUV色彩空间。但是,当我尝试在Chrome中播放一个(Version 21.0.1180.89)时,它会给我一个灰色的播放按钮,而另一个则完美无缺。作为参考,我的操作系统是Ubuntu 10.10,虽然我在操作系统的新版本中看到了同样的问题。这是我是将视频加载到HTML5标记中,还是直接导航到存储视频的URL。我在这里有些不知所措,有谁知道我应该去哪个方向找出这两个视频之间的重大差异?

编辑:

这个有效:https://dl.dropbox.com/u/100841270/1_G101_20120914_0139PM_Course_101.mp4

这个不是:https://dl.dropbox.com/u/100841270/1_G101_20120914_1156AM_Course_101.mp4

更新

它似乎与操作系统无关,因为我在Windows和Linux中都遇到了同样的问题。 Ubuntu中的Chrome 22 beta似乎也不起作用。

2 个答案:

答案 0 :(得分:6)

我们遇到了这个问题,发现按照iPhone的webview标准对文件进行编码可以创建在Chrome中运行良好的文件。 Chrome和iPhone webview共享相同的渲染引擎,看起来它们具有类似的HTML5视频要求。

Chrome并不支持所有H.264编码的Mp4文件,编码过程中的细微差别可能会产生无效的视频。即使使用了完全相同的编码设置,H.264也是一种可变比特率编码器,因此不同的视频可能会超出比特率限制。

我们成功的编码设置是:

  • 仅使用H.264 Baseline Profile Level 3.0
  • 分辨率低于640 x 480,帧率高达30 fps
  • 基线配置文件中不支持B帧。
  • 比特率限制为900kb。

以下是我们用于达到这些设置的reference。可能并非所有这些都是Chrome所必需的,但我们坚持这些规则并发现所有视频都适用于这两个平台。进一步的研究可能会确定导致Chrome无法播放视频的确切设置。

答案 1 :(得分:0)

我正在运行Windows XP,而chrome也不喜欢第二个。

我最好的猜测是,工作的只有6.4 MB,而另一个大约是21.7 MB。 Chrome可能只是拒绝直接播放那么大的视频。您是否尝试让YouTube托管,并将其播放器嵌入您的网站?这可以解决问题。 (如果你担心观看视频的随机陌生人,你为什么要在这里发帖?为什么任何人甚至想看他们?虽然,你可以在YouTube上制作私人视频,以防这些只是两个视频,演示了您在真实视频中遇到的相同问题。)

当我尝试使用Windows的内置播放器时,两个视频都存在不同的问题,这也可能更加复杂。当我使用计算机的视频播放器时,两个视频都显得扭曲,水平拉伸300%。

您的其他视频是否以完全相同的方式失败?由于这些只是真实的测试视频,如果这是唯一有问题的视频,我不会说它确实是一个问题,除非它再次发生。功能失调的视频可能只是遇到了百万分之一的机会,因为它有正确的内容使其不起作用。