Arquivo VLC e m3u8

Arquivo VLC e m3u8

Bom dia, criei estou testando streaming HLS e criei uma playlist simples e segmento de um vídeo usando o comando ffmpeg -i C:\Users\funny\Desktop\uscita\out.mp4 -vcodec libx264 -g 24 -hls_time 10 -hls_playlist_type vod -vsync 1 index1.m3u8.

O vídeo de origem abre sem problemas e o ffmpeg o codifica sem problemas no index1, que é o arquivo da lista de reprodução, e index10 index11 index12 sendo o 3 .ts (o vídeo tem apenas 26 segundos de duração). Instalei o VLC porque sei que ele abre arquivos da playlist, então pude testar meu .m3u8, mas quando abro com o VLC, o programa começa a rodar, mas não reproduz nada. Para referência aqui está a lista de reprodução também:

#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

Responder1

dr: Isso parece um bug do VLC. Use um player diferente.

Posso reproduzir este problema com um conjunto de arquivos de vídeo HLS, criados conforme ffmpegindicado na pergunta. Isso é com ffmpeg 4.0.2 e VLC 3.0.4

Sintomas:

Abrindo o .m3u8arquivo com VLC, recebo a mensagem de erro:

erro de demux adaptativo: Falha ao criar demuxer (nil) TLS

Os logs de depuração indicam que o VLC realmente lê a lista de reprodução com êxito e encontra os arquivos TS, mas algo dá errado.

No entanto, posso reproduzir os arquivos com êxito com ambos ffplayeMPlayer, então parece que a falha é do VLC.

O bugtracker do VLC possui alguns relatórios de bugs semelhantes, mas a maioria é bastante antiga e supostamente corrigida. Consegui reproduzir um stream HLS por HTTP, abrindo o URL do .m3u8arquivo, então o bug parece se aplicar apenas a streams HLS baixados. Talvez a reprodução de .m3u8arquivos baixados localmente não seja uma alta prioridade para o VLC, então use um player diferente.

Responder2

O VLC parece não conseguir processar um arquivo m3u8 com as diretivas 'EXT-X' nele. Presumivelmente, este é um bug do VLC (conforme observado em outro lugar) que ainda não foi resolvido até hoje.

Suas melhores escolhas são:

  1. Edite o .m3u8arquivo e exclua as linhas EXT-X (mas mantenha essas linhas EXTINF). Você poderá então reproduzir a lista de reprodução com o VLC ou
  2. Use um aplicativo diferente para reproduzir o .m3u8arquivo como está. ffplayé aquele que vai jogar, por exemplo.

Responder3

Caso alguém ainda precise de alguma informação sobre isso.

Verifique o cabeçalho "content-type" do seu bloco mpegts. Deveria ser "vídeo/mp2t".

informação relacionada