ffmpeg HEVC com duração de fragmento específico HLS

ffmpeg HEVC com duração de fragmento específico HLS

Eu uso uma versão de 10 bits do ffmpeg/x265 para executar o seguinte comando, onde decodifico um vídeo de entrada x265/10 bits, canalizo-o para outras ferramentas de linha cmd e canalizo novamente a saída para uma nova instância do ffmpeg onde desejo recodificar e fragmentar com uma duração de fragmento de 3 segundos. Observe que a mesma linha funcionou conforme o esperado com codificação x264/8 bits.

ffmpeg-hi10-heaac -y -an -i "./HEVC.mp4" -s 3840x2160 -f rawvideo - | myCLI | ffmpeg-hi10-heaac -y -f rawvideo -pix_fmt yuv420p10le -s 3840x2160 -r 23.976 -i - -c:v libx265 -b:v 5000K -g 24 -keyint_min 24 -sc_threshold 0 -map 0:v -f stream_segment -segment_time 3 -segment_list manifest.m3u8 -segment_list_type m3u8 output.%05d.ts

O problema é que:

  • manifesto diz que a duração do fragmento é de cerca de 10 segundos
  • e é verdade que cada .ts na saída tem cerca de 10 segundos de duração.

Gostaria de saber se é um problema conhecido, se existe uma solução alternativa ou se vem da opção que usei ou de uma combinação dessas opções.

Obrigado.

Responder1

Você também deve definir o tamanho do gop. -g [fps * tempo do segmento]

informação relacionada