Upated multimedia

A step-by-step howto to create a debian based Multimedia AppVM to play Netflix, Amazon Prime, Spotify content and playback DVDs.
This commit is contained in:
praschdorff 2018-02-18 23:28:51 +01:00 committed by GitHub
parent e090bf5826
commit 9e36bdf0eb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,136 +1,160 @@
--- ---
layout: doc layout: doc
title: How to play multimedia content title: Multimedia
permalink: /doc/config/multimedia/ permalink: /doc/multimedia/
redirect_from:
- /en/doc/multimedia/
- /doc/Multimedia/
- /wiki/Multimedia/
--- ---
This short howto will explain how you can use Spotify, Netflix or Amazon Prime under Qubes OS. Multimedia
This steps have been tested by providing an own "multimedia" App VM which is based on the Qubes OS Debian 8 Template VM. ==========
Listen to Spotify In order to choose Qubes OS as your primary OS it must be able to do all tasks, including playing multimedia content.
================= This howto explains how to create a multimedia temmplate which can be used to play multimedia content.
Install-Howto: https://www.spotify.com/de/download/linux/ This includes:
Detailed steps which must be run in the Debian 8 template VM. - Spotify
A good idea might be to clone the existing Debian 8 template and create an own debian-8-multimedia template from whoch you can then create an App-VM. - Amazon Prime
You need to make sure that you allow networking to the internet during installation, as you need to download some data which are not from the default repositories. - Netflix
- DVDs
# Become root Hint: This first draft of this howto was written under Qubes OS 3.2 but it should also work for Qubes 4rc4.
su -
# Download the Key which is used for signing the Spotify package repository
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys BBEBDCB318AD50EC6865090613B00F1FD2C19886
#Public-Key: http://keyserver.ubuntu.com/pks/lookup?op=vindex&search=0xD2C19886&fingerprint=on
#Fingerprint: BBEB DCB3 18AD 50EC 6865 0906 13B0 0F1F D2C1 9886
# Add the package repository to your list of package sources
echo deb http://repository.spotify.com stable non-free | tee /etc/apt/sources.list.d/spotify.list
# Make the new repository known to your system
apt-get update
# Install the Spotify Client
apt-get install -y spotify-client
Installation
------------
Play Netflix Start by cloning the default debian template in dom0.
============ Hint:
You can play Netflix by installing a more recent version of firefox or by installing Google Chroome. t-multimedia is just the template VM where we will install all packages.
As Google Chrome will play video from Netflx and (!) Amazon, the suggestion is to install Google Chrome. In the last step we will create an AppVM from this template.
If you don't use Amazon Prime, Firefox will work.
Install Firefox `qvm-clone debian-9 t-multimedia`
---------------
The built in Firefox (from the Debian Template VM) was Firefox ESR 45.3.0
According to the "supported browser" list Mozilla Firefox >= 47.x is needed.
I've thereoff installed Firefox v53.0.2 according to this manual:
http://libre-software.net/how-to-install-firefox-on-ubuntu-linux-mint/
1) download firefox from https://www.mozilla.org/en-US/firefox/new/?scene=2 As we need to install some package outside of the regular repositories you need to enable networking for the Template VM.
direct download link:
https://download-installer.cdn.mozilla.net/pub/firefox/releases/53.0.2/linux-x86_64/en-US/firefox-53.0.2.tar.bz2
2) unpack the downloaded file `qvm-prefs --set t-multimedia netvm sys-firewall`
tar -xjf firefox-53.0.2.tar.bz2
3) move the unpacked folder: Launch a Terminal in the new template VM:
sudo mv firefox /opt/firefox53
4) Create a symlink to the new firefox version: `qvm-run --auto t-multimedia gnome-terminal`
if you want to use the new installed firefox as "standard firefox", rename the original link in case you want to go back to the previous version
sudo mv /usr/bin/firefox /usr/bin/firefox-old
Create a link to the new firefox version
sudo ln -s /opt/firefox53/firefox /usr/bin/firefox
5) Launch firefox and open Preferences, Content and enable "Play DRM content" Important:
That's it, login into Netflix and enjoy. Enter all the following commands in the terminal of the template VM
Become the root user to run all follwoing command without the need to use sudo
`sudo -i`
Installation of Spotify
-----------------------
Import GPG-Key for spotify
`apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 0DF731E45CE24F27EEEB1450EFDC8610341D9410`
> http://keyserver.ubuntu.com:11371/pks/lookup?op=vindex&search=0xEFDC8610341D9410&fingerprint=on
> UUID: Spotify Public Repository Signing Key <tux@spotify.com>
> Key-ID: 0x341D9410
> Fingerprint=0DF7 31E4 5CE2 4F27 EEEB 1450 EFDC 8610 341D 9410
Add Spotify repository to package list
`echo deb http://repository.spotify.com stable non-free | tee /etc/apt/sources.list.d/spotify.list`
Update package list
`apt-get update`
Install Spotify from the repositories
`apt-get install -y spotify-client`
Create a spotify desktop-entry
`cp -p /usr/share/spotify/spotify.desktop /usr/share/applications/`
`cp /usr/share/spotify/icons/spotify-linux-16.png /usr/share/icons/hicolor/16x16/apps/spotify.png`
How to use Amazon Prime Installation of VLC
======================= -------------------
Playing Video thorugh Amazon Prime via Firefox didn't work, with Google Chrome it works.
Warning: You need to install Google Chrome, not Chromium.
Install Google Chrome To play DVDs you can install VLC with the needed Codecs
---------------------
Launch you Debian 8 Template VM
1) Download latest .deb-package of Google Chrome Add Repository for libdvdcss
wget -c wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb (See also: http://www.videolan.org/developers/libdvdcss.html)
2) Install the package Add GPG-Key
sudo dpkg -i google-chrome-*.deb `apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 8F0845FE77B16294429A79346BCA5E4DB84288D9`
3) Install missing dependencies > Public-Key: http://keyserver.ubuntu.com/pks/lookup?op=vindex&search=0xB84288D9&fingerprint=on
sudo apt-get install -f > Fingerprint: 8F08 45FE 77B1 6294 429A 7934 6BCA 5E4D B842 88D9
4) Shutdown Template VM Add repositories to install VLC and libdvdcss
`echo "deb http://download.videolan.org/pub/debian/stable/ /" >> /etc/apt/sources.list`
`echo "deb-src http://download.videolan.org/pub/debian/stable/ /" >> /etc/apt/sources.list`
5) Add Google Chrome Shortcut to your multimedia App VM Update package repositories
`apt-get update`
Install libdvdcss and VLC
`apt-get install -y libdvdcss2 vlc`
Installation Google Chrome
--------------------------
Play DVDs To play Videos with Netflix, Amazon Prime & Co using Chrome is a good option as it has all needed codecs included.
========= Hint: Using Chromium will not work for some reasons.
To play DVDs within Qubes I have used my new multimedia App VM (which can also play Spotify and Netflix, see post from yesterday).
The multimedia App-VM is based on the Debian 8 Template in Qubes 3.2
Some suggested to install the whole desktop within the Debian Image, I don't want to install everything but only the stuff, that is really needed. Download Google Chrome package from the Google Debian repository
As such I have looked at the Debian documentation
1) Launch Debian 8 Template VM and install the Qubes Proxy Tools, so that you can pass your (external?) DVD-Drive via sys-usb to the multimedia App-VM. Strangely the qubes-usb-proxy seems to be installed within the fedora template but not in the debian template. `wget -c https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb`
In Debian Template VM:
sudo apt-get install qubes-usb-proxy
2) Install libdbdread4 from the default repositories: FIXME: Howto verify the debian package or better adding a Google Debian package repository?
In Debian Template VM: Link: https://www.google.com/linuxrepositories/
apt-get install libdvdread4
3) Install libdvdcss for the decryption of CSS protected-DVDs.
Because of license restrictions in various countries this can't be done from the Debian repositories but needs to be installed manually.
(not that hard :-)).
Download the packaged .deb from: http://www.deb-multimedia.org/dists/stable/main/binary-amd64/package/libdvdcss2
In Debian Template VM:
wget http://www.deb-multimedia.org/pool/main/libd/libdvdcss/libdvdcss2_1.3.0-dmo1_amd64.deb
sudo dpkg -i libdvdcss2_1.3.0-dmo1_amd64.deb
4) I like to use VLC to playback Video/DVDs - you might want to use another player, but VLC works fine. 1st attempt to install the downloaded package
As this is not installed in the default Debian Template:
In Debian Template VM:
sudo apt-get install vlc
This will also install some dependencies.
5) Shutdown the Debian Template VM and launch your multimedia App VM `dpkg -i google-chrome-stable_current_amd64.deb`
6) Plugin your external USB DVD-Drive (if you don't have an internal drive) and pass it to the multimedia App VM Installer will quit with an error message as not all dependencies are met (yet):
In dom0:
qvm-usb -a multimedia sys-usb:3-6
7) Launch VLC > dpkg: dependency problems prevent configuration of google-chrome-stable:
qvm-run multimedia vlc > google-chrome-stable depends on fonts-liberation; however:
Warning: a window will open in the background which will ask for collecting metadata information. > Package fonts-liberation is not installed.
I haven't seen the window as it was covered by the VLC main window, so that I couldn't launch any commands in this window. > google-chrome-stable depends on libappindicator1; however:
> Package libappindicator1 is not installed.
> dpkg: error processing package google-chrome-stable (--install):
> dependency problems - leaving unconfigured
> (...)
> Errors were encountered while processing:
> google-chrome-stable
8) Open DVD within VLC: Install the missing dependencies for Google Chrome
Media > Open Disk
You can leave the defaults (/dev/sr0) and just hit play
Enjoy your DVD `apt-get -f upgrade`
(This will install: fonts-liberation libappindicator1 libdbusmenu-glib4 libdbusmenu-gtk4 libindicator7 libxss1)
After the dependencies are installed rerun package installation of Chrome
`dpkg -i google-chrome-stable_current_amd64.deb`
Clean up the mess and shutdown your multimedia template VM
`rm google-chrome-stable_current_amd64.deb && shutdown -h now`
Create a Multimedia AppVM
-------------------------
After you have created the multimedia AppVM template you can create an AppVM for daily use based on it
`qvm-create --template=t-multimedia --label=orange multimedia`
Add Google Chrome, VLC and Spotify to the AppVM Menu via "add/remove app shortcuts"