Cómo Habilitar HTML5 MP4 (H.264/MPEG-4AVC & AAC) Video en Vivaldi bajo Mageia Linux

Cómo solucionar el problema de reproducción de vídeos H.264/MPEG-4AVC AAC en Vivaldi bajo sistema Mageia Linux.

Advertisements

Una vez instalado el navegador Vivaldi en el sistema Mageia Linux, el mismo no muestra correctamente vídeo desde algunas páginas, lo que ha resultado muy molesto cuando se usan servicios como los de twitter o facebook, por ejemplo. Al tratar de reproducir gran cantidad de vídeos compartidos en esas redes sale un molesto mensaje que dice que no se puede reproducir y que no hay compatibilidad o falta plugin.

Para solucionar ese molesto síntoma me dispuse a revisar un poco la documentación encontrando la solución sencilla para esto.

Primero instalamos las dependencias necesarias para que funcione nuestro procedimiento, con el siguiente comando:

sudo urpmi autoconf automake gcc gcc-c++ libtool make nasm pkgconfig zlib-devel 

A continuación copiamos el siguiente script a un nuevo documento de gedit:

#!/usr/bin/env bash

available () {
 command -v $1 >/dev/null 2>&1
}

# Make sure we have wget or curl
if available wget; then
 SILENT_DL="wget -qO-"
 LOUD_DL="wget"
elif available curl; then
 SILENT_DL="curl -s"
 LOUD_DL="curl -O"
else
 echo "Install wget or curl" >&2
 exit 1
fi

# Check which Chrome stream the user selected to fetch from
CHROME_STREAM=stable
while [ 0 ]; do
 if [ "$1" = "-u" -o "$1" = "--unstable" ]; then
 CHROME_STREAM=unstable
 shift 1
 elif [ "$1" = "-b" -o "$1" = "--beta" ]; then
 CHROME_STREAM=beta
 shift 1
 else
 break
 fi
done

# Set Output dir
WIDEVINE_INSTALL_DIR=${WIDEVINE_INSTALL_DIR:-/opt/google/chrome}

# Set temp dir
TMP=${TMP:-/tmp}

# Set staging dir
STAGINGDIR=$TMP/widevine-staging

# Work out the latest stable Google Chrome if VERSION is unset
VERSION=$($SILENT_DL https://dl.google.com/linux/direct/google-chrome-${CHROME_STREAM}_current_x86_64.rpm | head -c96 | strings | rev | awk -F"[:-]" '/emorhc/ { print $2 }' | rev)

# Error out if $VERISON is unset, e.g. because previous command failed
if [ -z $VERSION ]; then
 echo "Could not work out the latest version; exiting" >&2
 exit 1
fi

# Don't start repackaging if the same version is already installed
if [ -e "$WIDEVINE_INSTALL_DIR/chrome-version-$VERSION" ] ; then
 echo "The latest Widevine is already installed"
 exit 0
fi

# If the staging directory is already present from the past, clear it down
# and re-create it.
if [ -d "$STAGINGDIR" ]; then
 rm -fr "$STAGINGDIR"
fi

set -e
mkdir -p "$STAGINGDIR"
cd "$STAGINGDIR"

# Now get the rpm
$LOUD_DL https://dl.google.com/linux/direct/google-chrome-${CHROME_STREAM}_current_x86_64.rpm

DOWNLOADVERSION=$(head -c96 "google-chrome-${CHROME_STREAM}_current_x86_64.rpm" | strings | rev | awk -F"[:-]" '/emorhc/ { print $2 }' | rev)

if [ ! "$VERSION" = "$DOWNLOADVERSION" ]; then
 echo "The version downloaded ($DOWNLOADVERSION) is different from the version expected ($VERSION)" >&2
 exit 1
fi

# Extract the contents of the Google Chrome binary package
RPMHDRLGTH=$(grep -Fabom1 7zXZ google-chrome-${CHROME_STREAM}_current_x86_64.rpm)

echo "Extracting Widevine from the Chrome RPM ..."
tail -c+${RPMHDRLGTH%:*} google-chrome-${CHROME_STREAM}_current_x86_64.rpm | xz -d | cpio --quiet -id "./opt/google/chrome*/libwidevinecdm.so"

cd opt/google/chrome*

# Add version number file
touch "chrome-version-$VERSION"

# Escalate privileges if needed and copy files into place
if [ "$UID" = 0 ]; then
 mkdir -p "$WIDEVINE_INSTALL_DIR"
 cp * "$WIDEVINE_INSTALL_DIR"
elif [ -r /etc/os-release ] && grep -qx 'ID=\(ubuntu\|linuxmint\)' /etc/os-release; then
 echo "Calling sudo ... If prompted, please enter your password so Widevine can be copied into place"
 sudo mkdir -p "$WIDEVINE_INSTALL_DIR"
 sudo cp * "$WIDEVINE_INSTALL_DIR"
else
 echo "Please enter your root password so Widevine can be copied into place"
 su -c "sh -c \"mkdir -p $WIDEVINE_INSTALL_DIR && cp * $WIDEVINE_INSTALL_DIR\""
fi

# Tell the user we are done
echo "Widevine installed into $WIDEVINE_INSTALL_DIR"

una vez copiado el script se guarda con el nombre “latest-proprietary-media.sh” en el directorio de uso personal preferiblemente.

Ya que tenemos guardado el script con el código copiado bajo el nombre dado, procedemos a habilitar los derechos de ejecución con la orden:

sudo chmod +x latest-proprietary-media.sh

y se ejecuta el mismo con el comando:

./latest-proprietary-media.sh

para probar el resultado debemos cerrar el navegador Vivaldi (si estuviera abierto) y luego reiniciarlo y entrar en este enlace.  Allí se deben observar tres (3) vídeos en los formatos H.264/MP4, WebM y Ogg/Theora; prueba todo lo que necesites ver y oir, si todo marcha bien no debería haber problemas de reproducción de ninguno de los vídeos.

Debe verse algo así:

videos

Author: kenrendon

Linux Admin, aprendiz perpetuo.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s