
Guten Morgen, ich teste HLS-Streaming und habe mit dem Befehl eine einfache Playlist und ein Segment eines Videos erstellt ffmpeg -i C:\Users\funny\Desktop\uscita\out.mp4 -vcodec libx264 -g 24 -hls_time 10 -hls_playlist_type vod -vsync 1 index1.m3u8
.
Das Quellvideo wird ohne Probleme geöffnet und ffmpeg kodiert es ohne Probleme in index1, das ist die Wiedergabelistendatei, und index10 index11 index12, also die 3 .ts (das Video ist nur 26 Sekunden lang). Ich habe VLC installiert, weil ich weiß, dass es Wiedergabelistendateien öffnet, damit ich meine .m3u8 testen konnte, aber wenn ich es mit VLC öffne, startet das Programm, aber es spielt nichts ab. Zur Referenz hier ist es auch die Wiedergabeliste:
#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
Antwort1
tl;dr: Das sieht nach einem Fehler bei VLC aus. Verwenden Sie einen anderen Player.
Ich kann dieses Problem mit einer Reihe von HLS-Videodateien reproduzieren, die ffmpeg
wie in der Frage angegeben erstellt wurden. Das ist mit ffmpeg 4.0.2 und VLC 3.0.4
Symptome:
Beim Öffnen der .m3u8
Datei mit VLC erhalte ich die Fehlermeldung:
Adaptiver Demux-Fehler: Demuxer konnte nicht erstellt werden (null) TLS
Die Debug-Protokolle zeigen, dass VLC die Wiedergabeliste tatsächlich erfolgreich liest und die TS-Dateien findet, aber dann geht etwas schief.
Ich kann die Dateien jedoch erfolgreich abspielen mit beiden ffplay
undMPlayer, also scheint der Fehler bei VLC zu liegen.
Der VLC-Bugtracker enthält einige ähnlich aussehende Fehlerberichte, die meisten sind jedoch recht alt und angeblich behoben. Ich konnte einen HLS-Stream über HTTP abspielen, indem ich die URL der .m3u8
Datei öffnete. Der Fehler scheint also nur für heruntergeladene HLS-Streams zu gelten. Vielleicht hat das Abspielen lokal heruntergeladener .m3u8
Dateien für VLC keine hohe Priorität, also verwenden Sie einfach einen anderen Player.
Antwort2
VLC kann eine m3u8-Datei mit diesen 'EXT-X'-Anweisungen darin anscheinend nicht verarbeiten. Vermutlich handelt es sich dabei um einen VLC-Fehler (wie an anderer Stelle erwähnt), der bis heute noch nicht behoben wurde.
Ihre beste Wahl ist:
- Bearbeiten Sie die
.m3u8
Datei und löschen Sie die EXT-X-Zeilen (behalten Sie aber die EXTINF-Zeilen). Sie sollten dann in der Lage sein, die Wiedergabeliste mit VLC abzuspielen, oder .m3u8
Verwenden Sie eine andere Anwendung, um die Datei unverändert abzuspielen .ffplay
ist beispielsweise eine, die sie abspielt.
Antwort3
Nur für den Fall, dass jemand noch Informationen dazu braucht.
Überprüfen Sie den „Content-Type“-Header Ihres MPEG-Blocks. Er sollte „video/mp2t“ lauten.