ffmpeg mesma colheita de vídeo várias vezes

0
Eu sou totalmente novato no FFmpeg e em coisas de programação, então a pergunta pode ser muito estúpida ... Eu tenho um vídeo e quero recortar em pedaços pequenos e renderizar cada um, então eu estou tentando usar um loop FOR:

FOR /l %x IN (0,40,1000) DO ffmpeg -i sample.avi -filter:v "crop=20:20:x:x" outx.avi; done

O que obtenho é: [NULL @ 0000000002624220] Não é possível encontrar um formato de saída adequado para 'outx.avi;' outx.avi ;: Argumento inválido

Alguém pode ajudar nisso?

    
por Link 28.09.2017 / 17:09

1 resposta

2

Você aparentemente está usando arquivos em lote do Windows. Aqui, FOR loops não tem um ; done à direita, como os loops Bash têm.

No Windows:

FOR ... IN ... DO ...

Em Bash:

for ... in ...; do ...; done

Portanto, certifique-se de usar a sintaxe apropriada para o seu shell.

Note que simplesmente especificar out.avi fará o ffmpeg escolher MPEG-4 e MP3 como codecs de áudio e vídeo, respectivamente, e sua qualidade pode ser muito ruim. O ideal é especificar os codificadores de vídeo e áudio, por exemplo:

ffmpeg -i <input> -c:v libx264 -crf 23 -c:a aac -b:a 192k out.mp4

Leia o Guia de codificação H.264 para obter mais informações.

    
por 28.09.2017 / 17:12