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



我有两个不同的视频,(据我所知)通常都是以相同的方式拍摄的,我正试图在Chrome中使用HTML5视频标签播放。这两个视频都在VLC中打开并完美播放,所以我不认为损坏的文件有任何问题,而且都是使用YUV颜色空间的H.264格式的mp4。然而,当我尝试在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测试版似乎也不起作用。

我们遇到了这个问题,发现根据iPhone的webview标准对文件进行编码可以创建在Chrome中运行良好的文件。Chrome和iPhone网络视图共享相同的渲染引擎,而且它们似乎有类似的HTML5视频要求。

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

对我们来说成功的编码设置是:

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

以下是我们用来确定这些设置的参考资料。Chrome可能不需要所有这些,但我们坚持这些规则,发现所有视频都适用于这两个平台。进一步的研究可能会确定导致Chrome无法播放视频的确切设置。

我运行的是Windows XP,chrome也不喜欢第二个。

我对原因的最佳猜测是,工作的一个只有6.4MB,但另一个大约是21.7MB。Chrome可能只是拒绝直接播放这么大的视频。你有没有试过让YouTube托管它,并将他们的播放器嵌入你的网站?这可能会解决问题。

当我尝试使用Windows的内置播放器时,两个视频都存在不同的问题,这可能会加剧这种情况。当我使用电脑的视频播放器时,两个视频都会失真,水平拉伸了300%。

你有没有其他视频以完全相同的方式失败?由于这些只是真实事物的测试视频,如果这是唯一一个有问题的视频,我不会说它真的是一个问题,除非它再次出现。这段功能失调的视频可能只有一百万分之一的机会,因为它有合适的内容让它不起作用。

相关内容

最新更新