sábado, 14 de mayo de 2011

Guía para ver Matroska con/sin DVXA

Bueno como veo que en el foro hay algunas peticiones de cómo visualizar correctamente Matroska con nuestro ordenador, voy a realizar una pequeña guía para que todos consigamos poder reproducir este formato desde nuestro pc y poder visualizarlo en la pantalla, TV de plasma o LCD. Antes de empezar quiero dar las gracias a la guía que Héctor tiene en un foro amigo de las películas en alta resolución, en mucho más extenso y preciso que este, si alguien está interesado, que me mande un privado.
Para empezar definición de Wikipedia de Matroska:
“Matroska (en ruso: Матрёшка) es un formato de archivo contenedor multimedia cuya extensión habitualmente se presenta como ".mkv" (video) o ".mka (audio)". Es compatible con casi cualquier códec de audio/vídeo, incluyendo Theora, H.264, los que utiliza Windows Media, los que utiliza QuickTime, Vorbis o RealMedia por poner algún ejemplo, y pudiendo usar cualquier códec de audio de entre ellos con cualquiera de vídeo. Pretende ser un contenedor universal avanzado y ampliable fácilmente, proporcionando mejoras sobre los contenedores clásicos.
El nombre es una deformación del nombre nativo de las muñecas rusas: Matrioska ya que en un solo archivo permanecen guardados muchos otros archivos multimedia. Le diferencia con otros formatos contenedores similares como AVI, MP4 o ASF el hecho de ser de código abierto.”

Con la aparición del formato Blu Ray (BR) y las pantallas de plasma y LCD, la alta definición se va extendiendo por todos los sitios y las copias de seguridad de nuestras películas de DVD en Xdiv, no aprovechan la resolución de nuestra nuevas TV y por lo tanto ha sido necesario crear un nuevo estándar que sustituya a los famosos Divx. Podemos hacernos una copia de seguridad de nuestras películas BR en varias resoluciones pero los estándares van a ser 720p (720x1280) y 1080p (1080x1920), a más resolución más trabajo va a tener que realizar nuestra CPU. Para reproducir 720p. no es necesario un procesador con doble core, pero sí uno que tenga más de 2000 Mhz., ahora bien para reproducir 1080p, es casi obligatorio un doble core, siempre dependiendo del bitrate medio de la película. Más adelante veremos que esto no tiene que ser necesariamente así con la aceleración DXVA de las algunas tarjetas gráficas.
Vayamos al grano, para poder ver una película en formato Matroska (códec x264, h264, vc1…), necesitaremos un visualizador de video, un códec que acepte Matroska y una CPU con potencia o una gráfica con DXVA.

MATROSKA SIN ACELERACIÓN GRÁFICA
Empezamos la configuración sin aceleración DXVA, es decir que todo el trabajo lo haga la CPU. Vamos a utilizar el siguiente software:
-Media Player Classic Home Cinema (MPC HC), por varios motivos, primero es fácil de configurar, segundo es gratis y más adelante veremos que tiene un códec propio de descompresión para h264 y VC1 con aceleración DXVA.



-CoreAVC, es el códec que da mejores resultados en relación calidad/consumo de CPU, lo malo que es de pago.
- AC3Filter (MPC HC), buen filtro de sonido para manejar DTS y AC3.
- Haali Media Splitter (MPC HC), es un filtro DirectShow que permite reproducir diversos formatos contenedores y es muy recomendable tener instalado para reproducir archivos Matroska.
-Película en contenedor Matroska, de 1080p., Codec profile: High@L4.1 (más adelante sabremos que es esto), bitrate de media de 16,2 Mb/seg., sonido DTS bitrate de media 1,5Mb./seg. y codificada con X264.
Abrimos el MPC HC --> Ver --> Opciones --> Filtros Internos y deshabilitamos las casillas de AC3, DTS, H264/AVC(DXVA) y VC1 (DXVA), los dos primeros serán sustituidos por el filtro AC3filter y los dos últimos con el CoreAVC.



En Opciones --> Filtros Externos --> Agregar Filtro, elegimos de la lista que salga CoreAVC (se supone que lo tenemos instalado) y aceptar, en la pantalla que estamos veremos el filtro elegido le marcamos y elegimos la opción preferir, lo mismo haremos con el AC3filter.



Salimos del MPC HM para que se validen los cambios que hemos realizado, volvemos a entrar y en la opción abrir archivo elegiremos nuestra película de Alta Resolución. Para saber si hemos elegido correctamente el códec adecuado para descomprimir el formato matroska se puede verificar mientras que se está reproduciendo la película picaremos sobre la pantalla botón derecho y elegimos la opción filtros, veremos que debe de estar el códec CoreAVC. Si todo está correcto veremos y oiremos la imagen y el sonido, si vemos la película con saltos o sonido entrecortado, será debido a poca potencia de nuestra CPU o mala configuración, como hemos dicho anteriormente en este método es el microprocesador el que realiza todo el trabajo.

CON ACELERACIÓN GRÁFICA (DXVA) Direct X Video Acceleration
Las tarjetas gráficas ATI Radeon 2xxx/3xxx, Nvidia 8xxx/9xxx y las nuevas Intel G45 tienen un chip para la descompresión de video alta resolución (en las gráficas ATI el chip se llama UVD en las Nvidia con PureVideo y ExtremeHD), con este chip nuestro pc se puede ver una película en BR (con powerdvd) y la CPU no hará todo el trabajo de descompresión, este chip puede ser aprovechado también por las películas mkv, para liberar de carga a la CPU y poder verlas más fluidas, sin tirones.
Una película mkv. de 1080p. con una media de bitrate 12.5Mb, sin aceleración consume en un AMD X2 3800 un 66% de carga media, con DXVA activado menos del 5%, yo creo que merece la pena, además que si lo conseguimos no nos hará falta un doble core para poder ver 1080p. y podremos aprovechar CPU’s que pensábamos dejar en el cajón para montarnos un HTPC.
Algunas consideraciones a tener en cuenta:
-Solamente hay tres códec que aprovechan DXVA, el del Powerdvd Ultra llamado “Cyberlink H.264/AVC Decoder (PDVD7.x 8 y 9), CoreAVC V1.95 y el códec interno de MPC MH (H264/AVC(DXVA) y VC1). Ahora bien, el primero se puede usar con ATI y Nvidia, el segundo solamente con ATI e IntelG45 y el tercero en Nvidia .
- Tenemos que elegir un render compatible con DXVA, que son Overlay Mixer, VMR7, VMR9 o VMR9 renderless, en XP y el EVR o EVR Custom en el Vista.



-Si queremos habilitar los subtítulos es mejor que dejemos que lo haga el filtro interno de MPC HM y no utilizar o desinstalar vobsub, ya que deshabilita la aceleración y habilitar el render VMR7(9) or EVR Custom (Vista).

-Las películas BR tienen un perfil o códec profile de 4.1, al ripearlas a Matroska se suele hacer con un códec profile de 5.1, pues bien esta es la principal causa por las que las películas de 1080p. no se pueden acelerar, por eso es aconsejable que se utilice un perfil de 4.1 que es compatible con los códec DXVA. Esto no sucede con las películas de 720p. que si son compatible con 5.1 y 4.1., las mayoría las acelera.
-Muchas veces la aceleración DXVA es difícil de conseguir, no os desaniméis y probar todas las opciones, comentar en el foro, vuestras impresiones y como os ha ido.

Vamos a utilizar el siguiente software:
-Media Player Classic Home Cinema (MPC HC), por tres motivos, primero es fácil de configurar, segundo es gratis y tercero porque tiene un códec propio de descompresión para h264 y VC1 con aceleración DXVA. Nota: el PowerDVD no acepta ficheros mkv., es decir no podemos utilizarlo para ver película en este tipo de códec.
-Un códec para ATI/Nvidia el del Powerdvd Ultra llamado “Cyberlink H.264/AVC Decoder (PDVD7.x)” y otro solamente para ATI que es el interno de MPC HC.
- AC3Filter (MPC HC), buen filtro de sonido para manejar DTS y AC3.
- Haali Media Splitter (MPC HC), es un filtro DirectShow que permite reproducir diversos formatos contenedores y es muy recomendable tener instalado para reproducir archivos Matroska.
- Película en contenedor Matroska, de 1080p., Codec profile: High@L4.1 (más adelante sabremos que es esto), bitrate de media de 16,2 Mb/seg., sonido DTS bitrate de media 1,5Mb./seg. y codificada con X264.

·Utilizando el códec interno de MPC MH, solamente para tarjetas gráficas ATI e IntelG45.

Es necesario realizar unos cambios en el registro (Solamente para Win XP) para optimizar el funcionamiento de estas tarjetas, posteriormente a montar los drivers de ATI. Los cambios los podéis ver y bajar desde aquí

Estas modificaciones de los valores de ATI en el registro y no afectan a 3d.
Abrimos el MPC HC --> Ver --> Opciones --> Filtros Internos y habilitamos las casillas de H264/AVC y VC1, tanto en DXVA como ffmpeg.



En Opciones --> Filtros Externos --> Agregar Filtro, eliminamos cualquier filtro que tengamos para descomprimir mkv.
Salimos del MPC HM para que valgan los cambios que hemos realizado volvemos a entrar y en la opción abrir archivo y elegimos nuestra película. Para saber si hemos elegido correctamente el códec adecuado, mientras que se está reproduciendo la película picaremos sobre la pantalla botón derecho y elegimos la opción filtros, veremos que debe de estar el códec MPC Video Decoder, si picamos sobre él podremos variar alguna opción, pero siempre debemos tener marcado la casilla DXVA. Si todo es correcto, el uso de nuestro CPU estará por debajo del 5%.

·Utilizando el códec Cyberlink H.264/AVC Decoder (PDVD7.x)” para tarjetas gráficas ATI/Nvidia.

El codec de Cyberlink, se instala en nuestro pc cuando tengamos PowerDVD 7.3 o superior.
Abrimos el MPC HC --> Ver --> Opciones --> Filtros Internos y deshabilitamos las casillas de H264/AVC y VC1, tanto en DXVA como ffmpeg.
En Opciones --> Filtros Externos --> Agregar Filtro, elegimos de la lista que salga “Cyberlink H.264/AVC Decoder (PDVD7.x)”(se supone que lo tenemos instalado) y aceptar, en la pantalla que estamos veremos el filtro elegido le marcamos y elegimos la opción preferir.

Salimos del MPC HM para que valgan los cambios que hemos realizado volvemos a entrar y en la opción abrir archivo y elegimos nuestra película. Para saber si hemos elegido correctamente el códec adecuado, mientras que se está reproduciendo la película picaremos sobre la pantalla botón derecho y elegimos la opción filtros, veremos que debe de estar el códec Cyberlink, si picamos sobre él podremos variar alguna opción, pero siempre debemos tener marcado la casilla DXVA. Si todo es correcto, el uso de nuestro CPU estará por debajo del 5%.

Utilizando el Codec CoreAVC 2.0, solamente para Nvidia's con tecnología CUDA.

* Si queremos utilizar el codec CoreAVC 2.0 que como hemos dicho tiene descompresión DXVA para las Nvidias que soporten CUDA, solamente tendremos que instalarlo y seleccionarlo en filtros externos, deshabilitando previamente el interno de MPC MH.

CONCLUSION

Resumiendo, si queremos ver archivos matroska, lo ideal es que tengamos una tarjeta grafica con DXVA, tanto ATI (con el codec gratuito de MPC MH) como Nvidia (con el nuevo COREVC 2.0), no es necesario que la tarjeta tenga mucha potencia, con una ATI Radeon 2400 o Nvidia 9xxx, es más que suficiente, y si no tenemos una tarjeta con DXVA, pues cuanto más potencia de CPU mejor. A modo de resumen, si tenéis ATI o Intel G45 con el codec de MPC MH es suficiente, con Nvidia con CoreAVC 2.0

Mi consejo es que experimentéis, y que tengáis el pc lo más limpio posible de codecs, con el MPC HM, AC·filter, Haali y como mucho CoreAVC, es más que suficiente, cambiar de render de video hasta que deis con cual es que mejor resultado obtenéis.
Bueno y que disfrutéis de la Alta Resolución.


Mediainfo Utilidad con la que se puede ver todo de información sobre una archivo multimedia, por ejemplo si una película esta tiene perfil 4.1 o 5.1, el codec que se ha utilizado para renderizarla, las pistas de audio,…