Saltar al contenido

Cambiar resolución de video ffmpeg

No olvides que en las ciencias un error puede tener diversas soluciones, de igual modo nosotros aquí te enseñamos lo más óptimo y eficiente.

Solución:

Supongo que realmente hay dos preguntas aquí…

  1. ¿Cómo convierto archivos por lotes?
  2. ¿Cómo escalar automáticamente un video?

¿Cómo convierto archivos por lotes?

Estos scripts deberían hacer el truco…

ventanas

for %%i in (*.mp4) do (
    ffmpeg -y -i "%%i" << TODO >> "%%~ni_shrink.mp4"
)

linux (¡NO PROBADO!)

for i in *.mp4; 
do
    ffmpeg -y -i "$i" << TODO >> "$i%.mp4_shrink.mp4";
done

(No estoy muy seguro acerca de la expansión del archivo de salida en el script de Linux, vale la pena validarlo).


¿Cómo escalar automáticamente un video?

Esto es un poco más complicado. Como tiene su comando, la relación de aspecto potencialmente se estropeará. Opciones aquí…

  1. Escale el video, ignore la relación de aspecto. Resultado = video distorsionado
  2. Escale el video, mantenga la relación de aspecto para que la altura (o el ancho) escalada se ajuste para que quepa. Resultado = óptimo
  3. Escale el video, mantenga la relación de aspecto y el relleno con barras negras para que el tamaño del video sea exactamente 480×320. Resultado = tamaño de archivo desperdiciado/aumentado
  4. Recorte la entrada antes de escalar para que “llene” la resolución de 480×320. Resultado = video incompleto

La opción 2 sería la solución preferida, de lo contrario, (probablemente innecesariamente) está aumentando el tamaño del archivo de salida. Opción 3, daré una solución parcialmente probada. Opción 4 Ni siquiera voy a tocar.

Opción 2: Escale el video, mantenga la relación de aspecto para que la altura se ajuste a la medida

ffmpeg -y -i "%%i" -vf scale=480:-2,setsar=1:1 -c:v libx264 -c:a copy "%%~ni_shrink.mp4"

Opción 3: escala el video, mantén la relación de aspecto y rellena con barras negras para que el tamaño del video sea exactamente 480×320

ffmpeg -y -i "%%i" -vf "[in]scale=iw*min(480/iw,320/ih):ih*min(480/iw,320/ih)[scaled]; [scaled]pad=480:320:(480-iw*min(480/iw,320/ih))/2:(320-ih*min(480/iw,320/ih))/2[padded]; [padded]setsar=1:1[out]" -c:v libx264 -c:a copy "%%~ni_shrink.mp4"

Puede usar la herramienta ffmpeg para ello e ingresar el comando

ffmpeg -i input.mp4 -vf scale=480:320 output_320.mp4

o si desea cambiar la relación de aspecto del video, use setdar

ffmpeg -i input.mp4 -vf scale=480:320,setdar=4:3 output_320.mp4

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *