Deutscher Artikel

Version 1.0.3 - Fix for Vivaldi Final

For decoding video and audio streams and files Vivaldi is using the installed codecs of Linux. Sometimes you have to install a extra package or some libraries to get it working for H.264, MP3 or MP4 and others, especially a different libffmpeg is needed. On Ubuntu and Ubuntu clones you can install the package chromium-codecs-ffmpeg-extra and for other Linux Ruarí Ødegaard has described the install/compile process in his Gist-Article.

For Debian a package like chromium-codecs-ffmpeg-extra is not existent, you need fetching other packages containing the correct libffmpeg.so. Ike Devolder, a maintainer for Vivaldi on Arch Linux, has archlinux herecura repo which is hosting some useful packages. The correct file libffmpeg.so for Vivaldi can be found there in some packages called vivaldi-…ffmpeg-codecs-…pkg.

But life has to be easy (i mean:fetching the file, extracting and installing). I wrote the bash script vivaldi-libffmpeg-install.sh for you to reduce your work.

Login as root to you Linux and start the bash script, wait for download and install, and all is done.

Sorry to say, but you have start the script every new update of Vivaldi, if videos and audios don't play fine any more.

But the plus is: Vivaldi is playing fine then with all(?) H.264, MP4 video and MP3 audio, i hope.

But take care: Use it on your own risk!



Download: vivaldi-libffmpeg-install-1-0-3.sh

Latest version: vivaldi-libffmpeg-install.sh

Version 1.03

#!/bin/bash #------------------------------------------------------------------------------------------- # # Installs special precompield libffmpeg.so for Vivaldi on Debian distries # # Author: GwenDragon <dev@gwendragon.de>, <http://gwendragon.de/> # License: OpenSource, GPL3 # Date: 2016-04-06 # Version: 1.0.3 # Source: http://gwendragon.de/repo/linux/vivaldi/vivaldi-libffmpeg-install.sh # # Thanks to: Ruarí Ødegaard <https://gist.github.com/ruario>,<http://ruario.ghost.io/> # Ike Devolder <http://herecura.eu/> # #------------------------------------------------------------------------------------------- #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #!!!! !!!! #!!!! NO WARRANTY! !!!! #!!!! !!!! #!!!! SCRIPT MAY MISBEHAVE AND EXPLODE YOUR LINUX INSTALLATION !!!! #!!!! !!!! #!!!! NO WARRANTY! !!!! #!!!! !!!! #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! DEBUG=0 function help { echo " vivaldi-ffmpeg-install v.1.0.3 Adds libffmpeg.so to all Vivaldi installations found on system Usage: vivaldi-ffmpeg-install [-h] [-d] Parameter: -d Debug mode -h this Help "; exit 255; } function error { echo '!!!>>> ERROR: '"$1"; } function debugmsg { if [ "$DEBUG" == 1 ] ; then echo '> DEBUG: '"$1"; fi } # test for commandline parematers while getopts dh option ; do case "${option}" in d) DEBUG=1;; h) help;; esac; done ### Create temporary dir TMPDIR=/tmp/vivaldi-libffmpeg debugmsg "Creating temporary dir ${TMPDIR}" mkdir -p "${TMPDIR}" || error "Cant create dir ${TMPDIR}" cd "${TMPDIR}" || (error "Fail to change to dir ${TMPDIR}" ; exit 255); ### Get architecture ARCH=`uname -m` debugmsg "Architecture is $ARCH" # Find current vivaldi-ffmpeg-codecs in Ike Devolder's Arch Linux repo debugmsg "Fetching file list fron online repo" REPO_FILES=`wget -qO- http://repo.herecura.eu/pool | sed -rn 's/.*"(vivaldi-.*ffmpeg-codecs.*pkg.tar.xz)".*/\1/p' | sort -rV` ### Check for all channels debugmsg "Checking existence of Vivaldi installations" for VIVALDI_CHANNEL in vivaldi-snapshot vivaldi-beta vivaldi-stable vivaldi; do if [ ! -d /opt/${VIVALDI_CHANNEL}/ ] ; then debugmsg "${VIVALDI_CHANNEL} is not found on system" continue fi debugmsg "${VIVALDI_CHANNEL} is found" echo "------------------------" ### get Vivaldi/Chromium buld version ; see <https://gist.github.com/ruario> debugmsg "Getting Vivaldi build version" CHROMIUM_BUILD=`grep -Pao 'Chrome/.Vivaldi(.([0-9]+.){3}[0-9]+)' /opt/${VIVALDI_CHANNEL}/vivaldi-bin | sed -r 's/[^0-9.]//g'` echo "Vivaldi ${VIVALDI_CHANNEL} with Chromium build ${CHROMIUM_BUILD} found" ### filename with highest version for Vivaldi Chromium version and architecture debugmsg "Get corresponding package filename for Chromium build ${CHROMIUM_BUILD} and architecture ${ARCH} for download" FILENAME=`echo "${REPO_FILES}" | grep "${VIVALDI_CHANNEL}-ffmpeg" | grep ${CHROMIUM_BUILD} | grep ${ARCH} | head -n1` if [ "$FILENAME" == "" ] ; then error "No corresponding package found for ${VIVALDI_CHANNEL} Chromium build ${CHROMIUM_BUILD} on architecture ${ARCH} in online repo" continue fi ### Download libffmpeg from Ike Devolders repo debugmsg "Fetching package file ${FILENAME} from online repo http://repo.herecura.eu/pool" wget -q http://repo.herecura.eu/pool/${FILENAME} if [ $? == 0 ] ; then echo "Download of ${FILENAME} complete" ### Extract tarball content debugmsg "Extract file ${FILENAME} with tar" tar xf "${FILENAME}" || error "Extracting with tar failed" ### Install libffmpeg.so debugmsg "Install libffmpeg.so to ${VIVALDI_CHANNEL}/lib/" ( install ${TMPDIR}/opt/${VIVALDI_CHANNEL}/libffmpeg.so /opt/${VIVALDI_CHANNEL}/lib/libffmpeg.so && echo "Installed /opt/${VIVALDI_CHANNEL}/lib/libffmpeg.so" ) || error "Cant install /opt/${VIVALDI_CHANNEL}/lib/libffmpeg.so" ### Cleanup extraction dir debugmsg "Remove extraction dir" rm -fr "${TMPDIR}/opt/" else error "Fetching ${FILENAME} from online repo failed"; fi done # ### Cleanup temp dir debugmsg "Remove of temporary dir" rm -fr "${TMPDIR}" # tab:4

I hope you like the script and enjoy looking videos and listening to audio with Vivaldi, now.

Thanks in advance for commenting in my blog.