Por padrão, o muxer HLS mantém apenas os últimos 5 segmentos da lista de reprodução.
Use
ffmpeg -i test.mov -hls_list_size 0 output.m3u8
Estou usando a versão 3.2.2 do ffmpeg e convertendo os arquivos mp4 e mov para o formato m3u8 pelo comando abaixo.
ffmpeg -i test.mov output.m3u8
O comprimento de test.mov é de cerca de 3 min, mas é convertido para durar apenas 24-25 segundos, quando eu jogo esse m3u8 no player. Eu até mesclo todos os segmentos do m3u8 para confirmar a duração do vídeo, pelo comando
ffmpeg -i output.m3u8 -c copy -bsf:a aac_adtstoasc output.mp4
o output.mp4 também é 24-25 segundos, os últimos 24 segundos de test.mov.
Eu não sei o que está errado, ele está trabalhando com arquivos de entrada de tamanho pequeno, como um arquivo de 10 segundos.