Enquanto estiver usando -vcodec copy, ele deve ser cortado no quadro-chave mais próximo. Para obter um quadro preciso, você precisa re-codificar o vídeo.
Eu tenho um script em Python que mostra os capítulos de um vídeo M4V e dá ao usuário a opção de extrair esses capítulos.
O problema é que ffmpeg
não está cortando com precisão. Corta um pouco antes do horário de início dado e / ou um pouco depois do horário de término.
Se vocês quiserem testar, baixe este vídeo:
Este é o comando que estou enviando:
ffmpeg -y -ss 00:37:32.52 -t 00:00:10.244 -i "videos\bh_LSB_01_r240P.m4v" -vcodec copy "out_Salmosffmpeg -y -ss 00:37:32.52 -t 00:00:10.244 -i "videos\bh_LSB_01_r240P.m4v" -vcodec copy "out_Salmos%pre%2.m4v"
2.m4v"
Mesmo cortando logo no começo (por sorte completa), ele corta após o tempo final.
Foi-me dito que preciso recodificar o vídeo e usar as opções force-keyframe e segment_time, mas segment_time nem sequer é reconhecido como uma opção. E qual codificação devo usar?
Enquanto estiver usando -vcodec copy, ele deve ser cortado no quadro-chave mais próximo. Para obter um quadro preciso, você precisa re-codificar o vídeo.