質問: vlcおよびm3u8ファイル おはようございます、私はhlsストリーミングをテストすることを作成し、ffmpeg -i c:\users\funny\desktop\uscita\out.mp4 -vcodec libx264 -g 24 -hls_time 10 -hls_playlist_type vod -vsync 1 index1.m3u8コマンドを使用して、単純な再生リストとビデオのセグメントを作成しました。ソースビデオは問題なく開き、ffmpegは問題なくそれをindex1、つまり再生リストファイルにエンコードし、index10 index11 index12は3つの.tsです(ビデオの長さはわずか26秒です)。プレイリストファイルを開くことがわかっているため、vlcをインストールしたので、.m3u8をテストできましたが、vlcでそれを開くと、プログラムは実行を開始しますが、何も再生されません。参考までに、これも再生リストです。#extm3u #ext-x-version:3 #ext-x-targetduration:12 #ext-x-media-sequence:0 #ext-x-playlist-type:vod #extinf:11.500000, index10.ts #extinf:12.000000, index11.ts #extinf:2.500000, index12.ts #ext-x-endlist
回答: tl; dr:これはvlcのバグのように見えます。別のプレーヤーを使用してください。質問に示されているように、ffmpegによって作成された一連のhlsビデオファイルでこの問題を再現できます。それはffmpeg 4.0.2とvlc 3.0.4でです症状:vlcで.m3u8ファイルを開くと、エラーメッセージが表示されます。 適応デマルチプレクサエラー:デマルチプレクサ(nil)tlsの作成に失敗しました デバッグログは、vlcが実際に再生リストを正常に読み取り、tsファイルを見つけたが、何かがうまくいかないことを示しています。ただし、ffplayと mplayer の両方でファイルを正常に再生できるため、vlcに問題があるようです。vlcバグトラッカーには似たようなバグレポートがいくつかありますが、ほとんどはかなり古く、おそらく修正されています。 .m3u8ファイルのurlを開くことにより、http経由でhlsストリームを再生できたため、バグはダウンロードされたhlsストリームにのみ適用されるようです。ローカルにダウンロードされた.m3u8ファイルの再生はvlcの優先度が高くない可能性があるため、別のプレーヤーを使用してください。