Flash player vdpau

Acabo de probar la aceleración de vídeo por hardware en flash player utilizando vdpau y funciona de lujo :) .

He probado en una ATI HD 4670 y en un APU A8-3870 ambos equipos utilizando el driver libre y mesa en sus ultimas versiones desde el siguiente ppa ppa:oibaf/graphics-drivers bajo Ubuntu 13.10

Sin vdpau
Imagen
Imagen

Con vdpau
Imagen
Imagen

basta con añadir el ppa antes citado actualizar el equipo (para obtener las nuevas versiones del driver y mesa). Instalar libg3dvl-mesa y configurar flash player para que haga uso de la gráfica

sudo mkdir -p /etc/adobe
echo “EnableLinuxHWVideoDecode=1″ | sudo tee /etc/adobe/mms.cfg
echo “OverrideGPUValidation=1″ | sudo tee -a /etc/adobe/mms.cfg


El cambio me a sorprendido gratamente, no se si se pueda utilizar en el driver privativo, pero con el libre estoy más que bien servido.

Espero que este tema no este repetido, hice una búsqueda rápida y no encontré nada relacionado
A mí el libre me va muy mal, todavía esta muy verde con la serie 7000 o con el crossfire. Es que me hace vsync vergonzoso.
Realmente no tienes VDPAU, es propietario o son unas especificaciones hechas por Nvidia, pero instalas unas librerías que hacen de puente y parece que hacen un trabajo decente. Que es bueno saberlo y habrá mucha gente que se pueda aprovechar de estas nuevas ventajas que ofrece tener esa compatibilidad.

Es que la realidad VDPAU está mucho mas implantado y lleva mucho mas tiempo que otras soluciones de aceleracion de video HD en linux. (XBMC soporta VDPAU con activar la opción en las opciones) Por mucho que muchos vanaglorien las Radeon la realidad es que Nvidia siempre está unos cuantos pasos por delante implementando siempre mejoras, cuando rulaba VDPAU en linux con las Nvidia las Radeon ni tenían drivers decentes y menos aceleracion de vídeo h264. Y con otras cosas ha pasado igual. (CUDA no ha tenido competencia hasta la salida de OpenCL, y con muchos años de retraso)
Interesante. Precisamente anteayer estuve instalando Xubuntu en mi netbook (E450+HD6310) y después de mucho probar medio conseguí configurar la aceleración de vídeo h264 (mediante vaapi). ¿Sabes si este método también te permite usar vdpau para acelerar vídeo HD en mplayer gstreamer o similar? Estoy por probarlo, pero bastante me ha costado dejar el sistema como está [+risas]
Korso10 escribió:Interesante. Precisamente anteayer estuve instalando Xubuntu en mi netbook (E450+HD6310) y después de mucho probar medio conseguí configurar la aceleración de vídeo h264 (mediante vaapi). ¿Sabes si este método también te permite usar vdpau para acelerar vídeo HD en mplayer gstreamer o similar? Estoy por probarlo, pero bastante me ha costado dejar el sistema como está [+risas]


Sí, funciona con la salida vdpau en el mplayer

mplayer -vo vdpau, -vc ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau, nombredelarchivo


o seleccionando la salida vdpau desde gnome-mplayer o smplayer
Cory escribió:
Korso10 escribió:Interesante. Precisamente anteayer estuve instalando Xubuntu en mi netbook (E450+HD6310) y después de mucho probar medio conseguí configurar la aceleración de vídeo h264 (mediante vaapi). ¿Sabes si este método también te permite usar vdpau para acelerar vídeo HD en mplayer gstreamer o similar? Estoy por probarlo, pero bastante me ha costado dejar el sistema como está [+risas]


Sí, funciona con la salida vdpau en el mplayer

mplayer -vo vdpau, -vc ffmpeg12vdpau,ffwmv3vdpau,ffvc1vdpau,ffh264vdpau,ffodivxvdpau, nombredelarchivo


o seleccionando la salida vdpau desde gnome-mplayer o smplayer


Gracias, habrá que probarlo entonces, a ver si por fin puedo usar la aceleración HW de forma decente :)
Interesante, en casa tengo una libre asi que puede molar, gracias.
Una cosa interesante que he notado es que con vdpau sí puedo acelerar contenedores L@5.1. Y con xvba lo máximo era L@4.1, que me parece es el mismo formato que utilizan los blu ray.

Por lo cual puedo acelerar los vídeos más pesados y agresivos con una carga de CPU casi nula :) .

Si bien no es vdpau tal cual (gracias por la explicación Darumo) sigue siendo un avance interesante, ya no extraño para nada los catalyst y tengo las funciones más interesantes de el driver privativo (aceleración de vídeo por hardware incluido flash cosa que catalyst no soporta y la administración de energía), solo falta tener soporte opengl 3.3 en mi gráfica ;)
Vaya, pues si que es interesante, alguien ha conseguido activarlo en una intel4500mhd y que funcione? Por que en teoria lo tengo activado pero sigue tragando cpu y flash se vuelve inestable.

En teoria hay soporte,https://wiki.archlinux.org/index.php/VDPAU, pero plugin-container se sigue comiendo la cpu, y los videos en hd en flash se siguen haciendo imposible (intento usar flash lo menos posible, pero hay páginas de streaming que se hace casi obligatorio usarlo, eso o ponerte a jugar como un loco con rdmpdump y demas)

Por lo que veo, mi "tarjeta" tambien tiene soporte va-api para h264 pero este es experimental y actualmente no esta en desarrollo https://wiki.archlinux.org/index.php/In ... n_GMA_4500

-----
Añado, esta es la salida de vdpauinfo

vdpauinfo
display: :0   screen: 0
[VS] Software VDPAU backend library initialized
libva info: VA-API version 0.34.0
libva info: va_getDriverName() returns 0
libva info: Trying to open /usr/lib/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_0_34
libva info: va_openDriver() returns 0
API version: 1
Information string: OpenGL/VAAPI/libswscale backend for VDPAU

Video surface:

name   width height types
-------------------------------------------
420     1920  1080  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8
422     1920  1080  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8
444     1920  1080  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8

Decoder capabilities:

name               level macbs width height
-------------------------------------------

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8          8192  8192    y 
R8G8B8A8          8192  8192    y 
R10G10B10A2       8192  8192    y 
B10G10R10A2       8192  8192    y 
A8                8192  8192    y 

Bitmap surface:

name              width height
------------------------------
B8G8R8A8          8192  8192
R8G8B8A8          8192  8192
R10G10B10A2       8192  8192
B10G10R10A2       8192  8192
A8                8192  8192

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             -
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  -
SHARPNESS                        -
LUMA_KEY                         -
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              - 
VIDEO_SURFACE_HEIGHT             - 
CHROMA_TYPE                      - 
LAYERS                           - 

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 - 
CSC_MATRIX                       - 
NOISE_REDUCTION_LEVEL            - 
SHARPNESS_LEVEL                  - 
LUMA_KEY_MIN_LUMA                - 
LUMA_KEY_MAX_LUMA                - 


No veo ningun tipo de codec en Decoder capabilities, tampoco se si habría de haberlo, xd

---
Vale, he añadido a vaapi soporte para h264 y sip, ya puedo usar vdpau, mirando smplayer paso en un video de 1080p de usar el 30% de cpu a un 8% pero va un poco a "trompicones", con un video a 720 he pasado de un 13 a un 5-8% pero es altamente inestable, en cuanto pierde el foco mplayer, todo se va a la mierda, con vlc lo mismo, algo mas estable pero gasta mas cpu y sigue siendo inestable.

pd: Sorprendentemente el video en 1080 es mas estable que en 720 (eso si no es el mismo, que ando probando con lo que tengo por el disco duro,)

pd2: Asi que me temo que voy a deshacer todos los cambios que he hecho, básicamente lo quería para algún que otro streaming en flash, que usando los reproductores la cpu que tengo aguanta perfectamente los 1080p (core2duo p8700)
@nu_kru

Esto es lo que a mi me sale en un APU A8-3870

vdpauinfo
display: :0   screen: 0
API version: 1
Information string: G3DVL VDPAU Driver Shared Library version 1.0

Video surface:

name   width height types
-------------------------------------------
420    16384 16384  NV12 YV12
422    16384 16384  UYVY YUYV
444    16384 16384  Y8U8V8A8 V8U8Y8A8

Decoder capabilities:

name               level macbs width height
-------------------------------------------
MPEG1                 0  9216  2048  1152
MPEG2_SIMPLE          3  9216  2048  1152
MPEG2_MAIN            3  9216  2048  1152
H264_BASELINE        41  9216  2048  1152
H264_MAIN            41  9216  2048  1152
H264_HIGH            41  9216  2048  1152
VC1_ADVANCED          4  9216  2048  1152
MPEG4_PART2_SP        3  9216  2048  1152
MPEG4_PART2_ASP       5  9216  2048  1152

Output surface:

name              width height nat types
----------------------------------------------------
B8G8R8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8
R8G8B8A8         16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8
R10G10B10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8
B10G10R10A2      16384 16384    y  NV12 YV12 UYVY YUYV Y8U8V8A8 V8U8Y8A8

Bitmap surface:

name              width height
------------------------------
B8G8R8A8         16384 16384
R8G8B8A8         16384 16384
R10G10B10A2      16384 16384
B10G10R10A2      16384 16384
A8               16384 16384

Video mixer:

feature name                    sup
------------------------------------
DEINTERLACE_TEMPORAL             -
DEINTERLACE_TEMPORAL_SPATIAL     -
INVERSE_TELECINE                 -
NOISE_REDUCTION                  y
SHARPNESS                        y
LUMA_KEY                         -
HIGH QUALITY SCALING - L1        -
HIGH QUALITY SCALING - L2        -
HIGH QUALITY SCALING - L3        -
HIGH QUALITY SCALING - L4        -
HIGH QUALITY SCALING - L5        -
HIGH QUALITY SCALING - L6        -
HIGH QUALITY SCALING - L7        -
HIGH QUALITY SCALING - L8        -
HIGH QUALITY SCALING - L9        -

parameter name                  sup      min      max
-----------------------------------------------------
VIDEO_SURFACE_WIDTH              y        48     2048
VIDEO_SURFACE_HEIGHT             y        48     1152
CHROMA_TYPE                      y 
LAYERS                           y         0        4

attribute name                  sup      min      max
-----------------------------------------------------
BACKGROUND_COLOR                 y 
CSC_MATRIX                       y 
NOISE_REDUCTION_LEVEL            y      0.00     1.00
SHARPNESS_LEVEL                  y     -1.00     1.00
LUMA_KEY_MIN_LUMA                y 
LUMA_KEY_MAX_LUMA                y 


Parece ser que aún no es compatible del todo con las Intel
Después de instalar vaapi si que me aparecía en vdpauinfo los decoder de h264, pero como ya he dicho para mi "gráfica" el soporte es experimental y ya he visto que es bastante inestable y con los videos de 1080p se atraganta y sobre todo lo quería para flash (streaming) ya que para el resto la cpu da a basto.

Por lo que leo ya la siguiente generación a la mía va bien o por lo menos no tiene marcado el soporte como experimental, así que a ver cuando mandan a la m las paginas en flash, aunque sea solo las de videos, xd
10 respuestas