1

Доброе утро, я создал, я тестирую потоковую передачу 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

1 ответ1

1

tl; dr: это похоже на ошибку в VLC. Используйте другого игрока.

Я могу воспроизвести эту проблему с набором видеофайлов HLS, созданных ffmpeg как указано в вопросе. То есть с ffmpeg 4.0.2 и VLC 3.0.4

Симптомы:

Открывая .m3u8 с помощью VLC, я получаю сообщение об ошибке:

ошибка адаптивного демультиплексора: не удалось создать демплексор (ноль) TLS

Журналы отладки указывают, что VLC фактически успешно читает список воспроизведения и находит файлы TS, но затем что-то идет не так.

Тем не менее, я могу успешно воспроизводить файлы как с ffplay , так и с MPlayer , так что, похоже, ошибка в VLC.

VLC bugtracker имеет несколько похожих отчетов об ошибках, но большинство из них довольно старые и предположительно исправлены. Мне удалось воспроизвести поток HLS через HTTP, открыв URL-адрес файла .m3u8 , поэтому ошибка, по-видимому, относится только к загруженным потокам HLS. Возможно, воспроизведение локально загруженных файлов .m3u8 не является высоким приоритетом для VLC, поэтому просто используйте другой проигрыватель.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .