FFmpeg múltiples comandos (convertir, luego unirse)

FFmpeg múltiples comandos (convertir, luego unirse)

Tengo, por ejemplo, el archivo 1.mp4, 2.mp4, 3.mp4, etc. que necesita conversión

for %i in (*.mp4) do ffmpeg -y -i "%i" -vf scale=1280:720 -crf 17 -c:v libx265 "%~ni.mp4"

Luego concateno

ffmpeg -f concat -safe 0 -i xmylist.txt -crf 17 -c copy x1.mp4

Ahora quiero hacer esto en un solo paso y fallé.

for %i in (*.mp4) do ffmpeg -y -i "%i" -vf scale=1280:720 -crf 17 -c:v libx265, -f concat -safe 0 -i xmylist.txt -crf 17 -c copy "%~ni.mp4"

¿Cómo fusionar estos dos correctamente? El error que me salió fue

La opción vf (establecer filtros de video) no se puede aplicar a la URL de entrada xmylist.txt; está intentando aplicar una opción de entrada a un archivo de salida o viceversa. Mueva esta opción antes del archivo al que pertenece. Error al analizar las opciones para el archivo de entrada xmylist.txt. Error al abrir archivos de entrada: argumento no válido

Respuesta1

Has probado:

for %i in (*.mp4) do ffmpeg -y -i "%i" -vf scale=1280:720 -crf 17 -c:v libx265 "%~ni.mp4" & ffmpeg -f concat -safe 0 -i xmylist.txt -crf 17 -c copy "%~ni.mp4"

o esto en un lote:

for %%i in (*.mp4) DO (

ffmpeg -y -i "%%i" -vf scale=1280:720 -crf 17 -c:v libx265 "%%~ni.mp4"

ffmpeg -f concat -safe 0 -i xmylist.txt -crf 17 -c copy "%%~ni.mp4"

)

aunque prestando atención a lo que intentas hacer, ¿es bueno hacerlo de esta manera ya que estás concatenando el mismo archivo que ya es un solo archivo?

Como no puede usar más de un conjunto de () en un bucle for, aquí hay una posible solución usando 3 archivos por lotes:

Utiliza el comando de inicio porque si lo coloca allí, ejecutará ambos lotes y se cerrará instantáneamente.

Lote 1:

start "Batch2.bat"

start "Batch3.bat"

Lote 2:

for %%i in (*.mp4) DO ffmpeg -y -i "%%i" -vf scale=1280:720 -crf 17 -c:v libx265 "%%~ni.mp4"

Lote 3:

for %%i in (*.mp4) DO ffmpeg -f concat -safe 0 -i xmylist.txt -crf 17 -c copy "x1.mp4"

Por favor hágamelo saber:). Puedo buscar un cmd mucho más avanzado en casa más tarde esta noche para ayudarte con esto.

información relacionada