Outros mencionaram ffmpeg ; agora ele tem um muxer de segmento agradável e limpo. No Linux, em vez de depender da versão (desatualizada) do ffmpeg
que vem com o gerenciador de pacotes, você deve fazer o download de uma versão estática ou compilá-lo a partir da fonte .
Para dividir um vídeo em vários segmentos de um minuto, gerando também uma playlist & m3u8; copiando todos os fluxos (sem perdas, mas não totalmente precisos):
ffmpeg -i input.mpg -c copy -f segment \
-segment_time 60 -segment_list list.m3u8 output%03d.ts
Para uma divisão precisa, a documentação recomenda recodificar e usar -force_key_frames
para garantir que haja I-frames nas horas que o muxer de segmento tentará dividir (consulte também o libx264 e AAC guias de codificação na wiki ffmpeg ):
ffmpeg -i input.mpg -c:v libx264 -crf 22 -preset veryfast -c:a libfdk_aac -vbr 3 \
-force_key_frames expr:gte(t,n_forced*60) -f segment \
-segment_time 60 -segment_list list.m3u8 output%03d.ts