Você pode fazer isso diretamente do ffmpeg sem o uso de um script. Essencialmente, sempre que você usar ffmpeg segment
, ele irá em frente e fará o melhor para dividir perto do tempo especificado para cada segmento. Isso é baseado em key_frames
, ele encontrará o quadro-chave mais próximo e cortará lá. Para cortar segmentos exatos, você precisará codificar todo o vídeo.
ffmpeg -i input.mp4 -c:v libx264 -crf 22 -map 0 -segment_time 9 -g 9 -sc_threshold 0 -force_key_frames "expr:gte(t,n_forced*9)" -f segment output%03d.mp4
Você precisará ler em -crf
, -sc_threshold
e -force_key_frames
. Na wiki para ffmpeg .