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 ffmpeg
está desactualizado, deberá agregarlo -strict experimental
para 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