Tengo algunos vídeos de hace unos años, con varios formatos, como avi, mpg, wmv, rm, rmvb, .... Sus tamaños son enormes (más de 500 MB, y en ocasiones > 1GB).
- Dado que es probable que haya algún avance en la compresión de datos, me gustaría saber qué formatos de archivos y métodos de compresión se recomiendan hoy en día, según el estándar sin perder datos obvios y al mismo tiempo lograr una gran reducción de tamaño.
- ¿Cómo puedo realizar la conversión de formato de archivo y la compresión de datos en Ubuntu 12.04? Las formas de línea de comando y por lotes serían las más convenientes, aunque también se agradecen las formas de GUI.
¡Gracias y saludos!
Respuesta1
Ubuntu y su FFmpeg incluido
Bueno, te has topado con el problema de que FFmpeg ya no viene con Ubuntu pero intentaste instalarlo a través de apt-get
.
Este programa ya no está desarrollado y solo se proporciona por compatibilidad.
Esto es simplemente una mentira. FFmpeg se desarrolla activamente, pero los paquetes de Ubuntu están desactualizados y cambiaron a libav. Ver aquí para elinforme de error que analiza la redaccióndel mensaje.
Instalar desde la fuente o usar una compilación estática
Si no le gusta compilar usted mismo, simplemente puede tomar una compilación estática desdela página de descarga.
Si desea mantenerse actualizado y configurar la herramienta usted mismo, deberácompilarlo desde la fuente. Controlarla guía de compilación de Ubuntupara obtener instrucciones detalladas sobre la instalación. Siguiendo estos pasos, obtendrás la versión más reciente de FFmpeg (la herramienta de codificación) y x264 (un determinado codificador de video).
¿Qué necesito para reducir la talla?
Usted pregunta …
qué formatos de archivo y métodos de compresión se recomiendan actualmente
De hecho, sólo existe un método de compresión ("códec") que todo el mundo recomendaría. Es el estándar H.264 o MPEG-4 Parte 10/AVC, que especifica un método de compresión para vídeo de bajo ancho de banda. H.264 también logra excelentes resultados para anchos de banda más altos. Un codificador muy común se llama "x264", el que hemos instalado arriba.
Reemplaza a MPEG-4 Parte 2, el estándar de códec de vídeo que hizo famosos a los codificadores "DivX" y "XviD". Estos también son buenos, pero necesitan más ancho de banda para conservar la misma calidad.
El formato de archivo real no importa. El vídeo H.264 puede residir en casi cualquier contenedor, desde AVI hasta MP4, MOV y MKV. Es importante conocer la diferencia entre un códec de vídeoper sey el contenedor que simplemente lo encapsula. Consulte aquí para obtener más información:¿Qué es un códec (por ejemplo, DivX) y en qué se diferencia de un formato de archivo (por ejemplo, MPG)? Hoy en día elegiría MP4 o MKV como contenedor de salida. AVI es demasiado antiguo y no permite hacer mucho con el vídeo, y para los contenedores antes mencionados hay mejores herramientas de remultiplexación disponibles.
Cuando desee reducir el tamaño, deberá reducir la tasa de bits promedio del video. En el caso más simple, esto significaría forzar al codificador a, digamos, una velocidad de bits constante de 1,5 MBit/s. Esto funciona, pero tiene algunos inconvenientes. En lugar de codificar con una velocidad de bits fija, deje que el codificador elija cuánto quiere gastar. Esto da como resultado una tasa de bits promedio, adaptada al contenido del vídeo. Haga esto usando elFactor de tasa constanteopción.
Para x264, esto significa establecer un valor entre 18 y 26 para este CRF. El valor predeterminado es 23 y los valores más altos le darán peor calidad y viceversa. No necesitas saber exactamente qué hace, pero si estás interesado mira esto.guía CRF.
¿Cómo se realiza la conversión?
Una vez que tenga FFmpeg en funcionamiento, simplemente puede convertir un vídeo a x264/MP4 con audio AAC a una tasa de bits fija de 192 kBit/s:
ffmpeg -i input.avi -c:v libx264 -crf 23 -c:a aac -b:a 192k output.mp4
Eso es todo. Puede variar el tamaño y la calidad de la salida ajustando el valor CRF. Más bajo significa mejor calidad y mayor tamaño. Más alto significa peor calidad y menor tamaño. Como dije, los valores sensatos están entre 18 y 26, tal vez más. Si realmente desea reducir el tamaño del vídeo de entrada, elija el valor CRF que aún ofrezca una calidad de vídeo aceptable con una reducción del tamaño del archivo.
Para probar cómo se vería tu video, puedes presionar Qen cualquier momento durante la conversión. Sin embargo, dejará un archivo truncado que aún debería poder reproducirse. También puede proporcionar la -t <seconds>
opción donde <seconds>
especifica cuánto tiempo desea codificar (por ejemplo, solo los primeros 30 segundos).
Para obtener más configuraciones, consulte laguía de codificación H.264.
Procesamiento por lotes
Si tiene un lote de archivos AVI que desea convertir, puede hacer algo como esto, que transcodifica recursivamente todos los archivos, por ejemplo en Bash:
while IFS= read -d '' -r file; do
ffmpeg -i "$file" -c:v libx264 -crf 23 -c:a aac -b:a 192k ${file%%.avi}-converted.mp4
done < <(find . -iname "*.avi" -print0)
Puede cambiar el .avi
sufijo en este comando y dejar que se ejecute nuevamente para otros archivos.
Tenga en cuenta que la codificación de vídeo es una tarea que requiere mucho tiempo y que lleva algún tiempo encontrar la configuración perfecta para sus archivos fuente.
Respuesta2
Otra herramienta versátil (y con una GUI muy práctica) esAvidemux.
A continuación se ofrece información detallada sobre cómo funciona el procesamiento por lotes:Avidemux DocuWiki - Procesamiento por lotes