私はSafariの問題と、より短い高品質の動画と組み合わせて<video>
要素の問題に取り組んでいます。ショーケースのウェブサイトでは、<source>
要素を使用して、<video>
コンテナに12から15秒の.mp4
と.webm
ファイルをロードしています。 Chromeでビデオを再生しようとすると、完璧に動作し、ビデオはほぼ即座に再生されますが、再生を開始する前にビデオを完全にロードしたいように見えます。Safariで短いHTML5動画で再生を強制する
私はビデオを直接のsrc
属性を介して読み込み、即時再生を強制するためにpreload="auto"
属性を追加しました。私の周りで私たちはウェブサイト上で使用した動画の1を、使用例を設定した
8メガバイトと長い12秒:あなたは、私はまたのために聞いて見ることができるようにhttps://jsfiddle.net/n1eac46v/
var video = document.getElementById('video');
var source = document.createElement('source');
source.src = "foo.mp4";
source.type = "video/mp4";
video.appendChild(source);
video.on("canplay canplaythrough", video.play);
canplay
とcanplaythrough
というイベントが発生しますが、それでも役立たないようです。私は終わりの日のための場所のいたるところを見てきましたが、オプションの現在実行中です。
あなたの答えをありがとう! MP4BoxはOSXでは簡単に利用できませんが、あなたの答えは正しい方向に私を連れてきました。 FFMPEGだけで問題を解決するために、関連する質問で[この回答](http://stackoverflow.com/a/28512437/3840022)を使いました。 './ffmpeg -i top.mp4 -codecコピー-movflags faststart top-fs.mp4' これは、言及したようにフラグを前面に移動させ、短いビデオの場合でも問題を解決します。 – Thomas
@トーマス - 本当、FFmpegについて忘れました:)うまくいきました。面白い、これが私が-1で受け入れられるのは初めてです:D –