Use o FFmpeg para dividir o vídeo em várias cenas

0

Estou tentando usar o FFmpeg para dividir um vídeo em vários sub-vídeos supostamente de cena única usando o recurso e limite scenecut . Eu encontrei o seguinte comando no SE:

ffmpeg -i myVideo.mp4 -y -c:v libx264 -profile:v high -prese6t:v fast -deinterlace -x264opts min-keyint=15:keyint=1000:scenecut=20 -b:v 2000k -c:a aac -b:a 128k -f segment -segment_format mp4 -segment_format_options movflags=empty_moov+frag_keyframe+default_base_moof+skip_trailer+faststart /home/1/output%%05d.mp4

Mas o comando a seguir não funciona para mim e mostra erro:

Unrecognized option 'prese6t:v'.
Error splitting the argument list: Option not found

Existe alguma alteração desde o último FFmpeg? Estou usando a versão mais recente.

    
por Tina J 06.07.2018 / 23:49

2 respostas

2

@ K7AAY está no caminho certo. O rótulo da opção é preset . A máscara do nome do arquivo de saída deve ser output%05d

Mas, além dos erros de sintaxe, há alguns problemas fundamentais também. As opções MP4 fragmentadas são destinadas para quando os segmentos são empacotados em um único arquivo de contêiner. O muxer do segmento emite vários arquivos para que a fragmentação do muxer MP4 possa ser ignorada. Além disso, segment_time deve ser especificado e com um valor muito baixo, senão os GOPs de tamanho menor que o valor padrão (2s) serão combinados em alguns segmentos.

O comando deve ser

ffmpeg -y -i myVideo.mp4 -vf yadif \
       -c:v libx264 -profile:v high -preset:v fast \
       -x264opts min-keyint=15:keyint=1000:scenecut=20 -b:v 2000k \
       -c:a aac -b:a 128k \
       -f segment -segment_format mp4 -segment_time 0.01 -segment_format_options movflags=faststart \
       /home/1/output%05d.mp4
    
por 07.07.2018 / 08:16
1

Depois de substituir prese6t:v
com preset:v
porque não há opção "prese6t" para o ffmpeg

substitua output%%05d.mp4
com output5d.mp4

como ffmpeg está rejeitando output%%05d.mp4 como um nome de arquivo inválido.

    
por 07.07.2018 / 00:10