Soy totalmente un novato en FFmpeg y cosas de programación, por lo que la pregunta puede ser demasiado estúpida... Tengo un video y quiero recortarlo en partes pequeñas y renderizar cada una, así que estoy tratando de usar un bucle FOR. :
FOR /l %x IN (0,40,1000) DO ffmpeg -i sample.avi -filter:v "crop=20:20:x:x" outx.avi; done
Lo que obtuve es: [NULL @ 0000000002624220] No se puede encontrar un formato de salida adecuado para 'outx.avi;' outx.avi;: Argumento no válido
¿Alguien puede ayudar con esto?
Respuesta1
Aparentemente estás usando archivos por lotes de Windows. Aquí, FOR
los bucles no tienen un final ; done
, como lo tienen los bucles Bash.
En Windows:
FOR ... IN ... DO ...
Bajo golpe:
for ... in ...; do ...; done
Por lo tanto, asegúrese de utilizar la sintaxis adecuada para su shell.
Tenga en cuenta que simplemente especificar out.avi
hará que ffmpeg elija MPEG-4 y MP3 como códecs de vídeo y audio, respectivamente, y su calidad puede ser bastante mala. Lo ideal es especificar los codificadores de vídeo y audio, por ejemplo:
ffmpeg -i <input> -c:v libx264 -crf 23 -c:a aac -b:a 192k out.mp4
Leer elguía de codificación H.264para más información.