HTML5 视频播放器无法播放 Chrome 中的 mp4 h264 视频
HTML5 video player does not play mp4 h264 video in Chrome
我有 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 字节。它们具有相同的视频和音频编解码器,但行为不同:
- 第一个视频正在 FF/Chrome 中使用 MediaElement.js(在 html5 模式下)在页面上播放。
- 第二个视频正在使用 MediaElement.js 仅在 FF 中播放。在 Chrome 它试图无限加载它,但我可以看到该元素有 MEDIA_ERR_SRC_NOT_SUPPORTED 错误。
- 当您将第二个视频从文件系统拖到浏览器时,它正在 Chrome 中播放。
- 第二个视频直到完全下载后才开始播放(在 Chrome 中,它在完全下载后失败,在 FF 中,您应该等到完全下载)。第一个预加载一些部分并在播放时下载新部分。
我尝试将带有第二个视频的标签直接插入页面,但没有任何变化。同样的MEDIA_ERR_SRC_NOT_SUPPORTED错误。
nginx 的响应header是一样的。但是对于第二个视频,网页生成了 2 个请求:第一个请求 header Range: 0-
,第二个请求 header Range: 28-
.
服务器:
- Debian 杰西
- Nginx 1.6.2-5
- Owncloud 8.1.0 通过 https
客户:
- Ubuntu 14.04.2
- Google Chrome 43.0.2357.134(64 位)
更新。添加了视频的剪辑版本(它们是私人的,所以只剪辑)。
是owncloud的一个bug。它自己提供所有静态文件,不支持部分内容。您可以在此处阅读更多相关信息:Odd video streaming behavior / serving "partial content"。
Serving Static Files for Better Performance文章对我有帮助:解决问题
我有 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 字节。它们具有相同的视频和音频编解码器,但行为不同:
- 第一个视频正在 FF/Chrome 中使用 MediaElement.js(在 html5 模式下)在页面上播放。
- 第二个视频正在使用 MediaElement.js 仅在 FF 中播放。在 Chrome 它试图无限加载它,但我可以看到该元素有 MEDIA_ERR_SRC_NOT_SUPPORTED 错误。
- 当您将第二个视频从文件系统拖到浏览器时,它正在 Chrome 中播放。
- 第二个视频直到完全下载后才开始播放(在 Chrome 中,它在完全下载后失败,在 FF 中,您应该等到完全下载)。第一个预加载一些部分并在播放时下载新部分。
我尝试将带有第二个视频的标签直接插入页面,但没有任何变化。同样的MEDIA_ERR_SRC_NOT_SUPPORTED错误。
nginx 的响应header是一样的。但是对于第二个视频,网页生成了 2 个请求:第一个请求 header Range: 0-
,第二个请求 header Range: 28-
.
服务器:
- Debian 杰西
- Nginx 1.6.2-5
- Owncloud 8.1.0 通过 https
客户:
- Ubuntu 14.04.2
- Google Chrome 43.0.2357.134(64 位)
更新。添加了视频的剪辑版本(它们是私人的,所以只剪辑)。
是owncloud的一个bug。它自己提供所有静态文件,不支持部分内容。您可以在此处阅读更多相关信息:Odd video streaming behavior / serving "partial content"。
Serving Static Files for Better Performance文章对我有帮助:解决问题