ffmpegを使用してHTTPライブストリーミング(HLS)用にエンコードしたmp4ビデオ - 一連のmyvideo.tsファイルとmyvideo.m3u8プレイリストを作成し、SafariでHTML <video>
タグを使用して再生しようとしていますが、そのブラウザのネイティブHLS機能を使用します。HLS(m3u8)ビデオをSafariでループさせるにはどうすればよいですか?
<video id="myvideo" src="myvideo.m3u8" loop="loop"></video>
これは一度再生されます。しかし、ビデオタグの "loop"属性にもかかわらず、ループしません。ビデオの最後のフレームで固定されたままです。
私はここで説明するように、イベントリスナーを使用してビデオの終わりを検出しようとした場合: Detect when an HTML5 video finishes ...そのイベントが発生すると思われることはありません。
ビデオが一度再生されて停止した後でも、javascriptの「一時停止」プロパティ(document.getElementById('myvideo').paused
)はfalseと評価されます。
Safariでビデオをループさせるにはどうすればよいですか?
サファリはおそらくサーバーサイドに書き込まれるのを待っている可能性があります。ほとんどのブラウザでは使用できないため、ネイティブHLS機能を使用しないことをお勧めします。メディアソース拡張APIを使用するHLS用のクライアントサイドJavaScriptハンドラを検討してください。彼らはあなたのHLSの状況をよりよく扱うかもしれません。 – Brad
他のすべてのブラウザでは、私はDailymotionの "hls.js"ライブラリ(https://github.com/dailymotion/hls.js)を使用しています。これはSafari以外のすべてでうまく機能しています。 Safariでは、再生がうまくいかず、そのため、その1つのブラウザでネイティブ再生を試していたのです。 – sherlock42