【问题标题】:HTML5 video player does not play mp4 h264 video in ChromeHTML5 视频播放器无法在 Chrome 中播放 mp4 h264 视频
【发布时间】:2015-08-13 22:02:54
【问题描述】:

我有 2 个视频(从 avconv 输出):

https://drive.google.com/file/d/0B8riTqvQMQTIOGxnUWFwVTRwSm8/view?usp=sharing(删减版)

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 1
    compatible_brands: isomavc1
    creation_time   : 2012-12-07 18:32:40
Duration: 00:03:07.38, start: 0.000000, bitrate: 1369 kb/s
  Stream #0.0(und): Video: h264 (High), yuv420p, 1280x720 [PAR 1:1 DAR 16:9], 1064 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
  Metadata:
    creation_time   : 2012-12-07 18:32:40
  Stream #0.1(und): Audio: aac, 48000 Hz, stereo, fltp, 301 kb/s
  Metadata:
    creation_time   : 2012-12-07 18:32:40

https://drive.google.com/file/d/0B8riTqvQMQTITF9sQXkxM1FQdzA/view?usp=sharing(删减版)

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '2.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2014-01-01 00:03:01
    encoder         : Lavf54.20.4
  Duration: 00:00:02.83, start: 0.000000, bitrate: 9815 kb/s
    Stream #0.0(eng): Video: h264 (High), yuv420p, 1920x1080 [PAR 1:1 DAR 16:9], 9679 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 59.94 tbc
    Metadata:
      creation_time   : 2014-01-01 00:03:01
    Stream #0.1(eng): Audio: aac, 48000 Hz, stereo, fltp, 128 kb/s
    Metadata:
      creation_time   : 2014-01-01 00:03:01

第一个视频的大小 - 32087109 字节,第二个 - 11071658 字节。它们具有相同的视频和音频编解码器,但行为不同:

  1. 第一个视频正在使用 FF/Chrome 中的 MediaElement.js(在 html5 模式下)在页面上播放。
  2. 第二个视频仅在 FF 中使用 MediaElement.js 播放。在 Chrome 中,它会尝试无限加载它,但我可以看到该元素出现 MEDIA_ERR_SRC_NOT_SUPPORTED 错误。
  3. 当您将第二个视频从文件系统拖到浏览器时,第二个视频正在 Chrome 中播放。
  4. 第二个视频直到完全下载后才开始播放(在 Chrome 中完全下载后会失败,在 FF 中您应该等到完全下载)。第一个预加载一些部分并在播放时下载新部分。

我尝试将带有第二个视频的标签直接插入页面并且没有任何更改。同样的MEDIA_ERR_SRC_NOT_SUPPORTED错误。

来自 nginx 的响应头是相同的。但是对于第二个视频,网页会生成 2 个请求:第一个带有标头 Range: 0-,第二个带有标头 Range: 28-

服务器:

  • Debian 杰西
  • Nginx 1.6.2-5
  • Owncloud 8.1.0 通过 https

客户:

  • Ubuntu 14.04.2
  • 谷歌浏览器 43.0.2357.134(64 位)

UPD。添加了视频的剪辑版本(它们是私有的,所以只剪辑了)。

【问题讨论】:

  • 你有这些视频的链接吗?
  • @zer00ne 添加了剪辑版

标签: google-chrome nginx html5-video mediaelement.js owncloud


【解决方案1】:

这是owncloud的一个错误。它自己提供所有静态文件,不支持部分内容。您可以在此处阅读更多相关信息:Odd video streaming behavior / serving "partial content"

Serving Static Files for Better Performance的文章帮助了我:解决问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-20
    • 2016-04-26
    • 1970-01-01
    • 2011-10-20
    • 2016-12-17
    • 1970-01-01
    • 1970-01-01
    • 2016-05-09
    相关资源
    最近更新 更多