我有一个问题,当我用HTML5播放器播放一个大文件时,它会在5分钟之后启动,因为他在播放前先下载视频。 无论大小如何,我如何立即启动视频并在播放时下载?
在谷歌上查了3天却找不到任何东西。 我希望有人可以帮助我,谢谢
HTTP标头(不是文件路径)
Status: HTTP/1.1 200 OK
Server: nginx
Date: Fri, 19 Sep 2014 15:38:02 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: close
X-Powered-By: PHP/5.4.32
Cache-Control: no-store, no-cache, must-revalidate, max-age=0
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
HTTP标头(文件路径)
GET patt/to/file HTTP/1.1[CRLF]
Host: domain[CRLF]
Connection: close[CRLF]
User-Agent: Web-sniffer/1.1.0 (+http://web-sniffer.net/)[CRLF]
Accept-Encoding: gzip[CRLF]
Accept-Charset: ISO-8859-1,UTF-8;q=0.7,*;q=0.7[CRLF]
Cache-Control: no-cache[CRLF]
Accept-Language: de,en;q=0.7,en-us;q=0.3[CRLF]
Referer: http://web-sniffer.net/[CRLF]
需要让它在第一个工作
答案 0 :(得分:3)
moov
(metadata) is before the mdat
(audio/video data)。这也被称为"快速启动"或"网络优化"。例如,Handbrake has a "Web Optimized" checkbox,ffmpeg和avconv的输出选项为-movflags faststart
。您可以使用curl -I http://yoursite/video.mp4
或转到http://web-sniffer.net/并在那里输入您的mp4网址来检查您的网络服务器发送的标头。 HTTP响应标头应包括内容类型:视频/ mp4 和接受范围:字节,并且不包含内容编码:。
答案 1 :(得分:0)
试试这个javascript,它将play()
功能绑定到oncanplay
的event HTML5 video defined by W3C。
var myVid = document.getElementById("video1");
myVid.oncanplay = function() {
myVid.play();
}