collapse

Autor Tema: Convertir películas al formato de Google para ahorrar espacio  (Leído 227 veces)

JorgeAVM

  • Administrador
  • *****
  • Mensajes: 233
    • Ver Perfil
    • Foro del PC
Para quienes gustan de guardar videos grandes, tal como películas en Full HD o 4K, les comparto un procedimiento para comprimirlas en el códec de Google: VP9 (https://www.webmproject.org/vp9/).


VP9 ofrece muy buena compresión en comparación a AVC o H.264 (https://es.wikipedia.org/wiki/H.264/MPEG-4_AVC) manteniendo la misma calidad. Para darles una idea, una película de 12 GB en H.264 podría reducir su tamaño a 5 GB o menos. Puede sonar muy bueno para ser cierto, pero sí lo es. El truco consiste en la cantidad de horas que hay que invertir para lograr una compresión tan buena.

Acá https://goo.gl/EJFz5z pueden descargar una muestra de un video de 10 segundos de 14,7 MB en H.264 y luego 4,17 MB en VP9. Pueden abrirlos con VLC o Media Player Classic. Así pueden comprobar la calidad de compresión y la enorme diferencia de tamaño.

En cuanto al códec H.265 o High Efficiency Video Coding (HEVC), he encontrado que VP9 también logra comprimir más que este y con una ventaja adicional: la reproducción requiere menos recursos en VP9 que en HEVC, pudiendo reproducir los videos fácilmente en dispositivos móviles de bajo desempeño.

El procedimiento que voy a compartir es para almacenar videos en 8 bits y sin HDR.

Programas necesarios:
FFMPEG https://ffmpeg.zeranoe.com/builds/
(Muy recomendable la versión de 64 bits si su equipo la soporta. Extraer en una carpeta fácil de ubicar.)

MKVToolNix https://www.fosshub.com/MKVToolNix.html (Programa instalable)

K-Lite Codec Pack https://www.codecguide.com/download_kl.htm (Descargar la opción "Mega" y seleccionar perfil 9: Lots of stuff)

El primer paso será extraer la pista de video. Normalmente los videos incluyen audio y también podrían tener subtítulos. Con MKVToolNix puedes hacer este paso.
Este paso no es indispensable pero facilita las cosas y mejora el rendimiento.

Segundo será crear un archivo de comandos para realizar la transcodificación al nuevo códec. Asegúrese que la extensión sea cmd, ejemplo: "tarea01.cmd". Recuerde que Windows oculta las extensiones de archivo, por tanto deberá habilitar la opción para que se muestren. Le recomiendo utilizar Notepad++ como editor.


Este es un ejemplo del archivo:
Código: [Seleccionar]
::cmd
@SET ffmpeg="d:\ffmpeg\bin\ffmpeg.exe"
@SET ORIGEN="d:\carpeta origen\video01.mkv"
@SET DESTINO="d:\carpeta salida\video01.webm"


%ffmpeg% -i %ORIGEN% -b:v 0 -tile-columns 2 -row-mt 1 -g 240 -threads 7 -quality good -speed 4 -crf 31 -c:v libvpx-vp9 -pass 1 -an -sn -y -f webm NUL
%ffmpeg% -i %ORIGEN% -b:v 0 -tile-columns 2 -row-mt 1 -g 240 -threads 7 -quality good -speed 2 -crf 31 -c:v libvpx-vp9 -pass 2 -an -sn -y %DESTINO%
Paso a explicar cada parte del archivo:
La primera línea "::cmd" es sólo para especificar el tipo archivo.
Las siguientes tres líneas son para especificar dónde fue extraído FFMPEG, dónde está el archivo de video de origen y dónde se va a guardar el nuevo archivo con el códec VP9. En este último recuerde mantener la extensión ".webm". Yo especifiqué carpetas diferentes, pero puede ser la misma en ambos casos.


Las dos últimas líneas son los comandos para la codificación. Está hecha en dos pasos para lograr un mejor trabajo.
Respecto a los parámetros:
-b:v 0 - Este le dice al codificador que haga una tasa de bits variable según la complejidad de cada cuadro (frame) del video. Esto mantiene la mejor calidad y el menor tamaño posible.
-tile-columns 2 - Este divide el cuadro en secciones para paralelizar el trabajo de codificación y aprovechar los núcleos del procesador.
Para 1920x1080 se recomienda 2.
Para 2560x1440 se recomienda 3.
Para 3840x2160 se recomienda 4.
(Ver imagen adjunta)
-row-mt 1 - Esto habilita los multihilos, de modo que aproveche todos los núcleos del CPU.
-g 240 - Esto indica cada cuántos cuadros debe ir un keyframe, es decir, un cuadro completo. Un valor muy bajo daría como resultado un archivo más grande. Un valor muy alto daría problemas para adelantar o retroceder en el video.
-threads 7 - Define cuántos hilos utilizar. por ejemplo en un core i7 con 4 núcleos y 8 hilos, 7 es una cantidad óptima según mi experiencia en archivos 1080p.
-quality good - Esto define el balance entre velocidad y calidad. "Good" es la opción más adecuada para la mayoría de situaciones. "realtime" es para transmisión en vivo y "best" es la mejor calidad pero el tiempo de compresión aumentaría demasiado haciendo que no sea práctico.
-speed 4 y -speed 2 en la primera y segunda pasadas, define la eficiencia de la compresión. (Ver imagen adjunta).
-crf 31 - Define la calidad a mantener. Valores más bajos, calidad más alta. (Ver imagen adjunta).
-c:v libvpx-vp9 - Especifica el codificador a utilizar.
-an -sn - Ignora el audio y los subtítulos.
-y - Indica que sobreescriba archivos de destino.
-f webm indica el formato de archivo de destino.
NUL - Indica que no guarde un archivo de salida en la primera pasada.

Quedaría ejecutar el archivo y esperar. Este trabajo podría tomar entre 12 y 24 horas dependiendo del video y el rendimiento de tu equipo.
Una vez terminado, lo que debes hacer es unir, mediante MKVToolNix, el video resultante con extensión .webm y el video original del cual se descarta la pista de video.

Acá un ejemplo de este último procedimiento:
« Última Modificación: abril 30, 2018, 02:48:48 pm por JorgeAVM »

 


Compartir en Redes Sociales

* Recientes

wifi por Leidy Reina
[Hoy a las 03:28:56 pm]


Necesito ayuda urgente por Leidy Reina
[Hoy a las 03:18:15 pm]


Telefono HUAWEI Y5 II 2016 NO ENCIENDE por JorgeAVM
[Ayer a las 08:58:57 am]


AYUDA - Dell Latitude e6320 no responde después de reiniciar por JorgeAVM
[Ayer a las 08:57:17 am]


Mi conexion de wifi se desconecta solo por alexander tovar varon
[julio 13, 2018, 03:59:20 pm]


Problema con \ por JorgeAVM
[julio 09, 2018, 09:36:46 pm]


PROBLEMA DE REINICIO CONSTANTE DEL UN PC DE MESA por Stiven32
[julio 09, 2018, 01:54:55 pm]


CONECTE UN PROSESADOR A MI PC Y ME DEJO DE FUNCIONAR la tarjeta grafica por koda
[julio 05, 2018, 09:13:58 pm]


tablet exo se tilda en el inicio por fabiman2019
[junio 30, 2018, 09:51:45 pm]


Mi computadora ASUS X441U se apaga por JorgeAVM
[junio 29, 2018, 11:47:03 am]


Se tilda el proceso de Windows por JorgeAVM
[junio 29, 2018, 11:45:14 am]


Problemas de FPS con la solución más absurda por koda
[junio 28, 2018, 03:36:21 pm]


mi tarjeta de video se daño por koda
[junio 28, 2018, 03:33:44 pm]


Icono PDF para Office 2010 y Office 2013 por Chavez18
[junio 18, 2018, 01:50:53 pm]


Problema con el Grub al instalar Ubuntu 18.04 por JorgeAVM
[junio 14, 2018, 08:01:17 am]