it-swarm-ja.tech

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
3
Vincent Bavaro

tl; dr:これはVLCのバグのように見えます。別のプレーヤーを使用してください。

質問に示されているように、ffmpegによって作成された一連のHLSビデオファイルでこの問題を再現できます。それはffmpeg 4.0.2とVLC 3.0.4でです

症状:

VLCで.m3u8ファイルを開くと、エラーメッセージが表示されます。

適応デマルチプレクサエラー:デマルチプレクサ(nil)TLSの作成に失敗しました

デバッグログは、VLCが実際に再生リストを正常に読み取り、TSファイルを見つけたが、何かがうまくいかないことを示しています。

ただし、ffplayMPlayer の両方でファイルを正常に再生できるため、VLCに問題があるようです。

VLCバグトラッカーには似たようなバグレポートがいくつかありますが、ほとんどはかなり古く、おそらく修正されています。 .m3u8ファイルのURLを開くことにより、HTTP経由でHLSストリームを再生できたため、バグはダウンロードされたHLSストリームにのみ適用されるようです。ローカルにダウンロードされた.m3u8ファイルの再生はVLCの優先度が高くない可能性があるため、別のプレーヤーを使用してください。

2
sleske