Archivo

Archivo para junio, 2016

Dando a Vivaldi soporte para H.264, MP3 y AAC

miércoles, 1 de junio de 2016 Sin comentarios

Vivaldi es un navegador web desarrollado por parte del equipo inicial de Opera. Utiliza el motor de Chrome e intenta ser todo lo personalizable posible. Yo lo he encontrado como una alternativa fabulosa al alto consumo de recursos de Firefox.

La única pega que me ha hecho plantearme el seguir usándolo ha sido su falta de soporte de recursos multimedia en H.264. Pero, por suerte, tiene solución compilando la librería FFMPEG que incorpora Chromium. Los pasos a seguir están expuestos aquí pero para ciertos sistemas (OpenSuse) resultan incompletos.

Instalamos los elementos básicos para poder compilar aplicaciones en nuestro sistema:

zypper in -t pattern devel_basis

Definimos en una variable la versión del motor de Chrome que está utilizando nuestra versión instalada de Vivaldi (la podemos encontrar en el menú Ayuda->Acerca de):

CHRVER=50.0.2661.102

Descargamos el código fuente de Chromium para esa versión y lo descomprimimos:

wget http://commondatastorage.googleapis.com/chromium-browser-official/chromium-$CHRVER.tar.xz

tar xf chromium-$CHRVER.tar.xz

cd chromium-$CHRVER

Instalamos unas cuantas dependencias que necesitaremos:

zypper install git libXi-devel libXcursor-devel libXcomposite-devel libXrandr-devel libXtst-devel libXScrnSaver-devel pciutils-devel dbus-1-devel gconf2-devel libgnome-keyring-devel mozilla-nss-devel libffi-devel-gcc5 libexif-devel binutils-gold

Descargamos una serie de herramientas que nos ayudarán en el proceso de compilación y estableceremos una variable para indicar dónde se encuentran:

git clone –depth 1 https://chromium.googlesource.com/chromium/tools/depot_tools.git

export PATH=»$PATH:`pwd`/depot_tools»

El comando «pkg-config –variable pc_path pkg-config» nos mostrará los directorios donde se buscan las librerías pc:

/usr/local/lib64/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/share/pkgconfig:/opt/kde3/lib64/pkgconfig

Si no está «/usr/lib64/pkgconfig/», añadimos la ruta con el siguiente comando:

export PKG_CONFIG_PATH=/usr/lib64/pkgconfig/

Ejecutamos los siguientes scripts que, aunque deberían ejecutarse automáticamente, no siempre lo hacen:

./build/linux/sysroot_scripts/install-sysroot.py –running-as-hook

./build/linux/sysroot_scripts/install-sysroot.py –arch i386

./build/linux/sysroot_scripts/install-sysroot.py –arch amd64

Preparamos la compilación de la librería FFMPEG:

touch chrome/test/data/webui/i18n_process_css_test.html

./build/gyp_chromium –depth . -Dcomponent=shared_library -Dffmpeg_branding=ChromeOS -Dclang=0

Configuramos nuestro compilador para que soporte diferentes plataformas:

export C_INCLUDE_PATH=/usr/include/$(gcc -print-multiarch)

Y a compilar:

ninja -C out/Release ffmpeg

Finalmente, para su instalación sólo tendremos que ejecutar lo siguiente:

install out/Release/lib/libffmpeg.so /opt/vivaldi/libffmpeg.so

Para probar los resultados podemos visitar la siguiente página que nos mostrará una serie de vídeos con distinto formato para que comprobemos la compatibilidad de nuestro navegador.

Categories: Software Tags: , ,