¿La forma más rápida de convertir videos (por lotes o individuales)?


26

Sé que hay muchas preguntas sobre los codificadores de video por aquí, pero mi pregunta es más sobre el flujo de trabajo / eficiencia.

Para mi trabajo diario, necesito convertir videos, con frecuencia, de muchos formatos aleatorios (generalmente AVI , M4V grandes y otros) y convertirlos y comprimirlos en archivos eficientes que podamos usar en Internet para cargar. Los formatos que debo producir son:

Necesito crear plantillas comunes para un par de casos de uso (convertir a la misma fuente, 1080p o 720p ) y poder procesarlos rápidamente y hacer cola.

¿Alguna idea sobre cómo hacer mejor este proceso en Ubuntu?


Sé que hay Avanti en Windows, y creo que lo más cercano que puede estar en Linux es la línea de comandos avconv o una interfaz como WinFF o ConvertMe ... tal vez como último recurso podría intentar Avanti in Wine.
Richard

Respuestas:


52

Si prefiere la línea de comandos, puede usar ffmpeg(o handbrake-cli).

MP4

Suponiendo que está utilizando una versión reciente de ffmpeg:

ffmpeg -i input -c:v libx264 -crf 23 -preset medium -c:a aac -b:a 128k \
-movflags +faststart -vf scale=-2:720,format=yuv420p output.mp4
  • -crf: Calidad. El rango es logarítmico 0 (sin pérdidas) a 51 (peor calidad). El valor predeterminado es 23. El rango sensitivo subjetivo es ~ 18-28 más o menos. Utilice el valor más alto que aún le brinde una calidad aceptable. Si está volviendo a codificar entradas imprácticamente grandes para subirlas a YouTube o similar, intente un valor de 17 o 18 ya que estos servicios de video se volverán a codificar de todos modos.

  • -preset: Velocidad de codificación. Un preajuste más lento proporciona una mejor compresión (calidad por tamaño de archivo) pero es más lento. Use el más lento para el que tenga paciencia: ultrarrápido, superrápido, muy rápido, más rápido, rápido, medio (predeterminado), lento, más lento, muy lento.

  • -movflags +faststart: Permite que el video se reproduzca antes de que se descargue por completo en el caso de visualización de descarga progresiva. Útil si aloja el video, de lo contrario es superfluo si lo sube a un servicio de video como YouTube.

  • -vf scale=-2:720,format=yuv420p: Un filtro gráfico usando filtros de video a escala y formato . Escale a 720 píxeles de altura y elija automáticamente el ancho que conservará el aspecto, y luego asegúrese de que el formato de píxeles sea compatible con reproductores tontos.

  • -b:a 128k: Velocidad de bits de audio. Si ffmpegestá desactualizado, deberá agregarlo -strict experimentalpara usarlo -c:a aac.

MOV

Dado que sus archivos MOV y MP4 probablemente contienen los mismos formatos de video y audio, puede codificar el MP4 y hacer el MOV volviendo a mux (con modo de copia de flujo ) en lugar de volver a codificar:

ffmpeg -i input.mp4 -codec copy output.mov

WMV

FFmpeg solo es compatible con WMV 7 y 8. No conozco un codificador de código abierto para la versión 9.

$ ffmpeg -encoders | grep -i windows
[...]
 V..... = Video
 A..... = Audio
 ------
 V..... wmv1                 Windows Media Video 7
 V..... wmv2                 Windows Media Video 8
 A..... wmav1                Windows Media Audio 1
 A..... wmav2                Windows Media Audio 2

Como no estoy familiarizado con estos codificadores, solo puedo dar un ejemplo no probado:

ffmpeg -i input -c:v wmv2 -b:v 1024k -c:a wmav2 -b:a 192k output.wmv

Conseguir ffmpeg

Puede descargar una compilación de ffmpeg para Linux o seguir una guía paso a paso de compilación de ffmpeg para personalizar su compilación.

Usando un bash "for loop" para realizar una codificación por lotes

Para codificar todos los videos en un directorio:

$ mkdir encoded
$ for f in *.avi; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
  -c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
  "encoded/${f%.avi}.mp4"; done

Ver también


5

Prueba HandBrake .

HandBrake es una herramienta para convertir videos de casi cualquier formato a una selección de códecs modernos y ampliamente compatibles. Para instalar, simplemente presione Ctrl+ Alt+ Ten su teclado para abrir Terminal. Cuando se abra, ejecute los siguientes comandos:

sudo add-apt-repository ppa:stebbins/handbrake-releases
sudo apt-get update
sudo apt-get install handbrake
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.