Codificación a MKV utilizando MeGUI Suponemos que tenemos instalado nuestro MeGUI según se puede ver en MeGUI. Guía de instalación Agradezco la colaboración muy activa de tebasuna51 así como las ayudas y sugerencias realizadas por pi piscat scat or y LUCHOO.. LUCHOO x264 CLI He recogido trozos del manual de piscator piscator x264
Demultiplexar las "pistas" del fichero Suponemos que tenemos ripeado nuestro Blu-Ray (BD) o, que ya disponemos del fichero MKV (ya sea BDRemux, 1080p o 720p). En cualquiera de los casos, vamos a demulti de multiplexar plexar (separar) las pistas (tracks) de nuestro a rchi rchivo vo.. Para ello usaremos las siguientes herramientas eac3to programa usado para el proceso, que corrige cualquier Delay (retraso) presente en el c ontenedor (f undam undamentalm entalmente ente en los audios audios)) y elim elimin ina a el posible po sible DialNorm DialNorm (ganancia habitual de +4dB). Como complemento, usaremos UsEac3to que es una especie de GUI del eac3to, que instalaremos en su misma carpeta. También podemos instalar el "paquete" completo eac3to + UsEac3to - -> Recomendado Recomendado ArcSoft , debemos registrar ASAudioHD.ax, para ello Nota: Para poder utilizar un decodificar DTS-HD con eac3to y ArcSoft, en el "paquete conjunto" se debe ejecutar el fichero ASAudioHD_reg.bat para S.O. de 32 bits (botón derecho del ratón y ejecutar como Administrador). Para S.O. 64 bits abrir línea línea de c om omandos andos (c md) c om omo o Administrador Administrador y esc e sc ribir c d \win \windows\syswow64 dows\syswow64 regsvr32 "ruta donde esté instalado eac3to" \ASAudioHD.ax Tam Ta mbién nec esitarem esitaremos os MKVToolnix MKVToolnix como como una herramienta más para trabajar con archivos Matroska (MKV) Vamos a iniciar la preparación del fichero, para la extracción de sus pistas, para ello nos valemos de USeac3To
Si es la primera vez que lo usamos en Settings comprobamos que cada una de las rutas (Path) y Carpeta (Folder) señalan hacia los lugares indicados en el desplegable.
En este ejemplo vamos a trabajar con un Blu-Ray (BD) ya ripeado al disco duro, haríamos lo mismo si se tratase de un archivo MKV. Cargamos el fichero, bien por Input o bien "arrastrando y soltando" (Drag&Drop) la carpeta que contenga el Blu-Ray o el fichero MKV. Vemos como eac3to hace un análisis y nos aparecen luego los "streams" que componen el fichero en la ventana **EAC3TO INFO**. Nota: En algunas algunas oc asiones, además debemos elegir el "bloque" "bloque" que que deseamos des eamos,, ya que pueden venir, fundamentalmente en BD, un bloque con la peli, otro bloque con la correspondiente al español, otro con comentarios del Direct Direct or..... selecc ionar ionarem emos os habitualmente habitualmente el de mayor t am amaño. año. Si los tamaños son próximos, próximos, conviene que analicemos analicem os el e l bloque que nos interesa. Global Parameters. Global Paramet ers. El parámet parámetro ro '-demux' '-demux',, se puede utili ut ilizar zar para pedir que extraiga t odas las pista s sin t ener que pedirlas una a una (por eso está en 'Global parameters' con un 'Run' directo sin más parámetros). Track Input. Son las "pistas" que tiene nuestro fichero y que podemos seleccionar una a una. Vienen ya numeradas. Output. format Es el formato de salida que deseamos obtener, dentro de los posibles. Evidentemente si elegimos pista de video en Input, en Output no nos aparecerá ningún formato de audio. Add. Muy importante (se suele olvidar) y aunque lo veremos en otra imagen, para que en la "línea de comandos" se realice la acción de Input-Output hay que pulsar aquí. Frequent parameters. Es el valor o la modificación que podemos realizar sobre el formato de salida. Hay que pulsar igualment igualm ente e "Add" (la de su derec ha).
Formatos de video y audio en Input-Output En Input nos podemos encontrar varios formatos de video, aquí establecemos que formato podríamos tener en Output. También indicamos el valor de los parámetros de audios que son aceptados. mpeg2 -- - > m2v o mkv VC-1 --> mkv h264 --> h264 o mkv Valores parámetros DTS: 768 o 1536 kbps Valores parámetros AC3: Todos los posibles de AC3 que son 128, 160, 192 192,, 224, 256, 320, 384, 448 448,, 512, 576 y 640 Kbps.
NOTA: Pero una cosa nos debe quedar clara, sea cual sea el tipo de vídeo que tengamos en la entrada en Output siempre usaremos mkv. Si el vídeo fuera MPEG MPEG4-ASP 4-ASP (Xvid) (Xv id) necesitaríamos usar MkvExtract (de UsEac3To).
Extracción y/o conversión de las "pistas"
Seleccionamos los tracks de entrada y el formato de salida que deseamos obtener (1, 2, 4, 5, 6, 17), y los añadimos a **COMMAND LINE PARAMETERS (%'char replaced by input name)** con los botones "ADD". Para hacer el demux y/o conversión de formato o recodificación de esos streams damos click al botón "RUN Comma nd Line" y obtendremos: 1. Capítulos en formato de texto.txt 2. Vídeo mkv 4. Audio dts, del mismo bitrate que tuviéramos en Input (en este ejemplo 1.536 Kbps). 5. Audio ac3, de 640 Kbps. Es una conversión (codificación) de formato de audio, desde dts (768 Kbps) en Input. 6. Audio dts, de 448 Kbps. Es una c onversión con rec odificación a un bitrat e de 448 Kbps, desde un dts (768 Kbps) en Input. Si no espec ificamos el parámet ro -448, obtendríamos lo mismo que en el punto 5, uno de 640 Kbps. 17. Conversión de los típicos subtítulos de los Blu-Ray, es decir PGS (Presentation Graphic Streams) en otros de formato .sup. En este caso elegimos el subtítulo español. Esperamos un corto espacio de tiempo y obtendremos las pistas ya demultiplexadas (separadas) en la carpeta que hayamos indicado.
Indexar el video Hay varios métodos para decodificar el video con AviSynth, no hablaremos aquí de los métodos DirectShow ya que, si es posible, preferiremos un método con indexado que proporciona un método más preciso y rápido de acceso (frame accurate).
En MeGUI --> Tools --> F ile Indexer cargaremos el video mkv del paso anterior o el de un fichero MKV que queramos por ejemplo reducir la resolución. Se ac tivará el método FFMSIndex.
Aquí vemos 2 ejemplos, en la imagen de la izquierda, introducimos el video ya demultiplexado según vimos en el paso anterior, compruébese que no tiene audios. En la imagen de la derecha se ha introducido un fichero MKV sin "demultiplexar", que podemos trabajar con el igualmente, simplemente marcar "No Audio demux". En ambos casos, solo deseamos trabajar con el vídeo. Nota: FFMSIndex soporta c ualquier tipo de vídeo c ontenido en un mkv, pero no puede extraer los audios de un mkv. Llegados a este punto solo nos queda pulsar Queue, mandar a la cola el trabajo (Job) y procesarlo, pulsando Start. Si lo deseamos podemos poner varios en "cola".
Una vez finalizado obtendremos un f ichero indexado ffindex.
Fijar parámetros más utilizados
Vamos a cambiar algunos parámetros más utilizados, con el fin de no hacerlo cada vez que lo necesitemos. Veamos las imágenes
La ruta es pestaña Tools ---> AVS Script Creator ---> Config ---> Pulsamos y aparece una nueva pantalla, con 2 pestañas, elegimos la pestaña "Extra Set up" y realizamos los cambios: - Resize F ilter ---> Spline36 (Neutral), antes estaba Lanczos (Sharp) - Prefer DSS2 over DirectShowSource, la marcamos (antes desmarcada).
Vídeo h264/vc-1 entrelazado Con cierto vídeo h264/vc-1 entrelazado, FFVideoSource no funciona adecuadamente (tampoco con DGAVCIndex), solo queda la opción de decodificarlo con DirectShowSource (DSS) o su mejor alternativo DSS2 Para ello se abre el mkv directamente en el AVS Script creator, se elige la opción DirectShowSource y, si se tienen instalados los adecuados filtros DirectShow, se genera el script y se abre la ventana de Preview. Es preferible utilizar DSS2 (DirectShowSourc e2) suministrada por Haali Media Splitter, en lugar de DirectShowSource (DSS) Pestaña F ilters - -- > Subpestaña AVISource/DSSource - - > Marcar allí Prefer DSSource2.
Generar el script de Avisynth Una vez acabado el paso anterior, si no cerramos el programa MeGUI nos seguirá con el proceso y nos aparecerá la pestaña I/O. En caso de no desearlo recordar donde guardamos el fichero indexado y continuaremos más tarde.
Para MKV 1080p Recordamos que la máxima resolución en HD es de 1920x1080, la más típica en los Blu-Ray, así que cuando decimos que queremos pasar a un MKV de 1080p (incluidas bandas negras) nos referimos a la resolución vertical (o alto).
Pulsamos Auto Crop para ver las bandas negras que tenemos en el fichero y marcará Crop auto mátic amente. Nos fijamos que la dimensión 1920 no hay que tocarlo (0,0) Sin embargo 1080 tiene (128, 138). Así que nos quedará una dimensión 1080-128-138 = 814. Para compatibilidades necesitamos que al menos las resoluciones sean múltiplos de 4 (mod4), así que hacemos una breve operación aritmética; 814 / 4 = 203,5 con lo cual no es múltiplo de 4 y además nos da igual reducir al entero anterior o posterior Optamos por utilizar 204, que multiplicado por 4, nos da igual a 816 pixeles.
Ya solo nos queda elegir los 2 pixeles (814-816=-2) que nos sobra quitarlos de la parte superior o inferior del alto. Optamos por hacerlo sobre 138 pixeles, que lo podemos hacer en Crop & Resize (imagen de la izquierda) o cambiarlo manualmente en el script (imagen derecha). En definitiva nos va a quedar el fichero con una resolución de 1920x816. Salvamos el sc ript mediante Save, con lo cual nos crea el fichero.avs como entrada para el posterior tratamiento a fin de conseguir nuestro fichero mkv.
Para MKV 720p Recordemos que en este caso estamos hablando de una resolución HD de 1280x720.
Podemos tener una "fuente" que sea Blu-Ray o un fichero MKV de 1080, así que veamos los pasos a seguir. 1. Pulsar AutoCrop analizará el fichero indexado y nos mostrará los resultados y quedará marcado Crop. 2. Marcamos Resize para poner el valor 1280 ya que el crop no ha dado variaciones del largo. 3. Marcamos Suggest Resolution (mod16), tomara en cuenta el crop y que sea múltiplo de 16 (en el ejemplo quedó en 544). Sí, no os extrañéis MeGUI trabaja con mod16 y de paso nos ayuda a no tener que "ajustarlo" nosotros, como antes con mod4. O bien hacemos los cálculos para mod4 que realizamos en 1080p. 4. Si dejamos marcada la casilla "Apply auto Preview" nos permite ver modificaciones que hagamos en Crop & Resize. 5. Pulsamos Preview AVS script y vemos si el script del AVS funciona adecuadamente. En la pestaña "Filters" en el apartado Resize Filters recomendamos "Spline 36 (Neutral)" que ya vimos que se puede fijar como predete rminada. Igualmente si vemos que el "original" tiene "ruido" (Noise) y muchos más que nos permite AviSynth, para mejorar la calidad final. No busquéis la imagen que no la he puesto Salvamos el sc ript mediante Save, con lo cual nos crea el fichero.avs como entrada para el posterior tratamiento a fin de conseguir nuestro fichero mkv.
Codificación del video Una vez c argado el .avs en la pest aña principal 'Input' elegiremos. 1º. el archivo que queremos salida (en nuestro ejemplo MKV) y después en 'Encoder settings' uno de los perfiles (profiles) recomendados para nuestro reproductor (que veremos más adelante).
NOTA: Ya hemos dicho que esta versión 2050 svn (la última estable a la hora de realizar este manual) no viene con "perfiles" para x264 excepto el *scratchpad* (el perfil base para realizar la configuración del x264), pero nosotros tal como dijimos en MeGUI. Guía de instalación nos decantamos por utilizar perfiles para x264, que venían en versiones anteriores y que en caso de no tenerlos, allí se pueden descargar. Dependiendo del dispositivo donde vayamos a reproducir el video. Los "perfiles" más habituales serán: x264: DXVA-High Def. Limita la dificultad de decodificación con --vbv-bufsize 50000 --vbv-maxrate 50000 --level 4.1. El más recomendable para reproducción en PC's y reproductores tipo PopCorn/WDTV/etc. y reproducción en PC. Hay otro similar, DXVA Max. Compatibility (así lo hemos llamado nosotros), con --vbv-bufsize 40000 --vbv-maxrate 40000 --level 4.1 para PC/reproductores menos potentes. x264: Divx Plus HD con --vbv-bufsize 25000 --vbv-maxrate 20000 --level 4, para reproductores certificados para DivX7 (creo que muchos TV) menos exigente que el anterior. Blu-Ray usamos uno de los múltiples perfiles que tenemos con --vbv-bufsize 30000 --vbv-maxrate 40000 --level 4.1 y otros. Estos perfiles solo son necesarios, si deseamos que el video h264 generado pueda usarse para quemar un BluRay, muchas de las limitaciones no son necesarias para mkv's a reproducir por otros medios.
Configuración x264 Una vez seleccionado el "perfil" x264, pulsamos en Config y entramos en el dialogo de configuración de x264. Marcamos "Show Avanced Settings"
Al marcar Show Advanced Settings' no solo t endremos la pes taña 'Main' veremos otras pestañas (Frame-Type, Rate Control, Analysis y Misc) así como se activan AVC Profile y AVC Level, para la configuración avanzada del códec x264. No debemos espe rar que una peli nec esite e l mismo bitrate que ot ra, por lo que solamente vamos a dar unas pautas orientativas y no vamos a desarrollar las opciones avanzadas. Algunas opciones del códec x264 que hemos de conocer: Encoding Mode: Constant Quality o también conocida por sus iniciales crf (constant rate fac tor), asignará valores
medios no fijos para las I/P/B y por lo tanto no es de bitrate constante. También decir que los valores de los quants para cada frame (Q) van desde 1 (más calidad más tamaño) a 51 (menos calidad menos tamaño). Los valores de crf que ofrecen buena calidad estarían entre 18 y 23, según lo exigente que se sea. Igualmente y explicado más abajo se puede realizar a 2 pasadas automáticamente, usando la calculadora de bitrate que trae MeGUI; también tenemos el mode ABR (Average Bitrate Rate) que utiliza un bitrate medio sobre el bitrate que nosotros le asignemos. A diferencia del XviD, el x264 funciona perfectamente a una pasada, y no vale la pena realizar dos a no ser que queramos fijar un bitrate o un tamaño final concreto. Al hacerlo en una pasada vamos a buscar una calidad constante, por lo que no tendremos control sobre el tamaño final. Preset: ordenados de menos eficiencia (más rapidez de codificación) a más eficiencia (menos rapidez) tenemos Ultrafast - Very fast – Fast – Medium – Slow – Slower – Placebo Recomendamos Slow. Si nuestro PC está muy limitado pues Medium. Tuning (afinar la compresión): opciones para el tipo de video del que partimos (animación, real,). Destacamos Film – Animation –Grain Respec tivamente para imágenes reales, para dibujos animados (c artoon: fondos planos, sin texturas, t ipo Los Simpson) y para conservar el grano del video (como por ejemplo películas filmadas en 16mm. Ojo que esta opción aumenta mucho el bitrate). AVC Level: Es meramente informativo y no influye en la codificación, siendo los parámetros --vbv-bufsize y --vbvmaxrate junto con las ref-frames los que influyen en el nivel de complejidad. Puede ser p.ej. 3.1, 4.1, 5.1 Para Level a 4.1, las especificaciones para los Blu-ray limitan la tasa de datos de video a 40mbit y el buffer de 30mbit. P ara ajustar est o deberemos indicar --VBV Buffer Size 30000 --VBV Maximun Bitrate 40000 - -> Pestaña Rate Control. Target Playback Device: Estos serían los dispositivos que en "teoría" sustituyen a los "perfiles" x264. El problema es que no sabemos si está plenamente funcional entrando con un *scratchpad* vacío ya que el cambio de los parámetros no parec en muy lógicos. Optamos (repitiendo nuevamente) por dejarlo en Default y utilizar los "perfiles" x264. Algunos comentarios: DXVA (reproducir en PC) solo introduce --level 4.1 WDTV (reproductores tipo PopCorn) solo introduce --level 4.1 No establece diferencias ni da valores limite de --vbv-bufsize ni --vbv-maxrate, lo que es lo mismo que no hacer nada. Evidentemente da igual usar uno que otro. Problemático en codificaciones 1080p donde se puede superar el level 4.1, puede usarse para codificaciones 720p. DivX Plus HD (dispositivos certificados DivX7) --level 4 --vbv-bufsize 25000 --vbv-maxrate 20000
Calculadora de bitrate y uso a 2 pasadas En MeGUI --> Tools --> Bitrate Calculator
Se carga automáticamente los datos del vídeo que queremos codificar. Mediante Add, incorporamos los audios y subtítulos que llevará el mkv (en este ejemplo, hemos agregado 2 audios AC3 de 640 Kbps), para que los cálculos lo tomen en consideración.
En Calculate By, elegimos el c riterio que deseamos, en est e ejemplo nos hemos decidido por elegirTotal File Size y para un tamaño determinado, igualmente podríamos haber elegido otro de los que muestra la imagen (Video Bitrate, Bits Per Pixel...). Ya solo nos queda pulsar Apply y nos aparecerá uno de estos dos mensajes o avisos.
En el de la izquierda, nos pregunta si queremos meter los valores calculados en la configuración que tengamos seleccionada. En el de la derecha nos pregunta si copia el bitrate calculado en la configuración del vídeo y cambia la codificación al modo Automático de 2 pasadas. Nos aparecerá uno u otro, según hayamos cambiado algo en la configuración del codec x264, antes de hacer uso de la calculadora de bitrate. Contestamos que Sí y vamos a ver como ha cambiado la configuración que antes teníamos.
Si estamos conforme, le damos a OK y ya tenemos el codec preparado para codificar el video.
Queue y Job Ahora solo nos queda la parte final del proceso
Pulsamos en Enqueue para poner en cola los trabajos de video, esperamos un momento, luego pulsamos Queue ("Cola") y nos aparecerá la imagen de la derecha) En la pestaña Queue, hemos querido reflejar 2 situac iones: Job 1 y Job 2 corresponden al "trabajo" a realizar mediante el método de las 2 pasadas. Job 3 refleja el método de una sola pasada c on Const. Quality (o crf) Ya solo nos queda comenzar, mediante Start. El tiempo empleado dependerá tanto de la configuración que hayamos realizado en el códec x264, de la propia película y de la capac idad de nuestro PC.
Y aquí terminamos, aunque con la tentación de mirar otras características configurables del codec x264, que en la Red hay incluso "grupos de trabajo" o "teams" para analizar otros valores que pueden mejorar la calidad. Hemos visto algunos y en nuestra opinión, no habrá en t érminos generales una variación mayor del 10% de unos a otros y, en otros casos ni eso, y todo ello con un aumento del tiempo de codificación considerable, también se da el caso de estimar una imagen muy mejorada comparándola con otra y personas dicen apreciarla y otras que no notan diferencia, así que aquí lo dejamos y esperamos que os ay ude al inicio de la codificación.
Conversión subtítulos PGS Los Blu-Ray (BD) traen subtítulos PGS (Presentation Graphic Streams) que son imágenes (su extensión es la de formato *.sup) y MKV acepta formatos de subtítulos SRT, SSA, ASS, IDX, por lo tanto tendremos que conve rtir. Para ello vamos a utilizar la herramienta BDSup2Sub que creemos es lo más cómodo y rápido para pasar nuestros subtítulos *.sup a formato *.idx Vamos a verlo con un ejemplo, tenemos los siguientes subtítulos *.sup
Y uno a uno, los cargamos en el programa, para obtener la conversión que deseamos y necesitamos.
Comprobamos que en Output Format, t enemos marcado SUB/IDX ya que es el formato de salida que nos interesa. Los pasos a seguir se puede intuir con las imagenes, son: - Load, carga el subtítulo en formato *.sup - Conversion Options, por si queremos modificar algo, como por ejemplo la resolución o los fps, no hace falta modificar nada y Ok.
- Save/Export, salvaremos el fichero eligiendo el idioma que desee mos utilizar para el subtítulo. Y obte ndremos los f icheros que mostramos a cont inuación, del ejemplo mencionado
Los ficheros *.idx son los que utilizaremos, pero en definitiva es un índice de los ficheros *.sub que llevan asociados. Luego el "conjunto" se identifica en otros programas como subtítulos VobSub. En algunos reproductores externos tipo Xtreamer, no pueden visualizarse los subtítulos *.idx, para ello debemos c onvertirlos a otros formatos. Los programas SupRip y Subtitle Edit son 2 ejemplos de programas, que aceptan como entrada subtitulos *.sup y la salida pueden ser subtítulos *.srt, *.ssa y *ass, igualmente aceptados por el contenedor mkv.
Multiplexar las pistas del fichero Una vez que t enemos t odas las "partes" preparadas, ahora ha llegado e l momento de unirlas (multiplexarlas), para ello utilizaremos el programa MKVToolnix utilizando el arc hivo mmg,exe que se identifica como MKVMerge.
MKVMerge y la compresión de cabeceras Hasta la versión 3.4.0 no había ningún problema en el multiplexado con MKVMerge (incluido en el paquete MKVToolnix), hasta que aparecen las versiones 4 que utilizan compresión en las cabe ceras y aparecen los problemas en aparatos como WD TV y similares que no aceptan esa compresión. De la pagina del autor se puede descargar cualquier versión mkvtoolnix (windows) ---> http://www.bunkus.org/videotools/mkvtoolnix/win32/ Ahora bien a partir de la versión 4.4.0 se puede utilizar sin ningún problema para el multiplexado de la peli, solo debemos tener en cuenta, marcar la siguiente opción que se ve en la imagen. En las versiones 5 la opción viene marcada por "defecto", aunque es recomendable comprobarlo. La ruta para llegar es Archivo --> Opciones ---> mmg ---> marcar la opción recuadrada en rojo.
Juntando pistas con MKVMerge Ya tenemos realizada la configuración que nos puede traer de cabeza, como es la compresión de las cabeceras, por lo que solo nos queda continuar para unir las "pistas".
Mediante Añadir, introducimos la pista de vídeo, los audios y los subtítulos. Nombre de pista, ponemos algún nombre si es nuestro deseo, en caso contrario se deja en blanco. Somos partidarios
de poner algo identificativo, ya que posteriormente nos puede ayudar a identificar características de los ficheros usando MediaInfo, por ejemplo. Idioma: También creemos conveniente identificarlos. En video, entendemos que es mejor poner Un (Indeterminado) que dejarlo en eng (english). Los audios y subtítulos si vienen en castellano, sería recomendable poner la diferenciación entre español de España (es-ES) y español Latino (es-LA). Flag predefinido de pista: Convierte la pista correspondiente en la predifinida para cada uno de sus tipos (audio, video o subtítulos). Los reproductores deberían preferir pistas establecidas como predeterminadas, si no fuera así, se debería realizar el Flag de pista forzada. Destino del archivo creado: Simplemente es la ruta donde guardaremos nuestro mkv e incluso podemos darle un nombre de salida.
Título de archivo/segmento: Es el que nos aparec erá en nuestro reproductor como título principal. División: Solamente lo mencionamos, pero vemos su utilidad, por si necesitamos "trocear" nuestro archivo. Archivo del capítulo: Vimos al principio en el demultiplexado que obtuvimos un capítulo en formato *.txt, lo introducimos ahora aquí y el programa realizará una conversión, ya que los capítulos para MKV solo admiten los formatos XML y OGM.