Multimedia and web
The multimedia category1 and the list of (Internet) applications2 provides broad information on different software you can try. During the installation and customization of the desktop environment in the previous guide you may have noticed that I like to remove some of the Xfce applications. This is on purpose as basic multimedia capabilities and essential internet applications are going to be discussed here as follows:
- Configuring the basic #Sound system
- #Media player, codecs and tools installation
- Playing and burning #Optical discs
- Applications for #Image viewing and editing
- Setting up essential #Internet applications
Sound system
Since ALSA3 modules are included in the Linux kernel no manual installation
is necessary. The alsa-utils
package provides amixer
, which is required for unmuting the channels, as they
are muted by default. Hence, I install the package via:
sudo pacman -S alsa-utils
and unmute typical channels of built-in audio interfaces:
amixer sset Master unmute
amixer sset Speaker unmute
amixer sset Headphone unmute
PulseAudio clients
PulseAudio4 (PA) or just pulse is a general purpose sound server providing modules for extended functionalities, such as support for bluetooth audio. However, PipeWire also implements its features and is a simple and more modern successor to it. To manage pulse clients a replacement service can be installed as follows:
sudo pacman -S pipewire-pulse
Normally, no further configuration is needed. The service is enabled by default and will start on re-login or after rebooting. I start it immediatly executing:
systemctl --user start pipewire-pulse.service
Controls and routing
To control the volume and other levels graphically I can use alsamixer
in a
terminal or open the Xfce panel applet xfce4-pulseaudio-plugin5 leveraging
pavucontrol. Both packages
might have been installed already in the previous guide due to dependencies of
the xfce4-goodies package:
sudo pacman -S pavucontrol xfce4-pulseaudio-plugin
In the Items tab of
panel preferences, I add the applet PulseAudio-Module. Additionally, I like to
activate multimedia key support in the preferences of the applet for keyboard
volume control. If this does not work for you, consider using pactl
commands
and bind these to specific keys in the Application shortcuts tab of the
Keyboard preferences.
In addition, I install qpwgraph to visualize applications, inputs and outputs as well as their connections. This is an easy to use graphical way to route signals and inspect current connections:
sudo pacman -S qpwgraph
Media player
As a substitute to Parole I like mpv to be used as default media player to watch streams by leveraging the terminal app yt-dlp, for example. In addition, the popular VLC media player is employed for other use cases such as DVD menus and media recording.
I Install their packages by invoking:
sudo pacman -S mpv vlc yt-dlp
mpv configuration
Mpv can be configured to use hardware video acceleration, to create reproducible
screenshots and choose the best quality open codecs (VP9 and Opus) first during
streaming. I create a user configuration file $HOME/.config/mpv/mpv.conf
and
set the aforementioned options using the following contents:
hwdec=auto
screenshot-template="%F - [%P]v%#01n"
ytdl-format="((bestvideo[vcodec^=vp9]/bestvideo)+(bestaudio[acodec=opus]/bestaudio[acodec=vorbis]/bestaudio[acodec=aac]/bestaudio))/best"
Custom profiles and scripts maybe considered for any more advanced features and use cases.
Codecs
Codecs and containers are diverse and broadly supported by mpv and VLC media player. I like to use FLAC and Opus for audio, and VP96 and Matroska7 (MKV) for video. However, MP3 is still a popular audio format and H.264 or the High Efficiency Video Coding (HVEC/H.265) the for MP4 container8 is a de facto video format standard. Additionally, the Advanced Audio Coding (AAC) and Xvid codecs provide interoperability with older media. For this reason, I install the following packages, if they are not already installed due to dependencies:
sudo pacman -S faac flac lame libvorbis opus
sudo pacman -S libtheora libvpx x264 x265 xvidcore
Optical discs
Playing CD, DVD and Blu-ray
Playing CD, DVD and Blu-ray media requires access libraries installed as follows if not provided by dependencies already:
sudo pacman -S libaacs libbluray libcdio libdvdcss libdvdnav libdvdread libmpeg2
optical
group is not necessary anymore to
play optical media.
Rip Audio CDs
By default Audio CDs can be mounted in the same way other block devices are mounted. The Compact Disc Digital Audio (CDDA) tracks are shown as WAV files using CDfs. You can copy those WAV9 files to rip the Audio CD and convert them hereafter (see Post-processing). I install kid3-qt for tagging the audio files with Kid3:
sudo pacman -S kid3-qt
CD, DVD and Blu-ray burning
Although Xfce comes with Xfburn, in my oppinion Brasero provides essential features regarding audio CD creation (such as CD-Text10 editing). Therefor, I install the package brasero:
sudo pacman -S brasero
Image viewing and editing
A very fast image viewer with support for RAW image format11 and capable of typical modifications (crop, resize, rotate) is nomacs and provided by AUR:
yay -Sy nomacs
If nomacs does not appeal to you, find many other image viewers in the List of applications in the ArchWiki.
Graphics editing
For more graphics editing I use GIMP, Inkscape and depending on the final media sometimes Scribus (desktop publishing). Their packages are installed using:
sudo pacman -S gimp inkscape scribus
To use advanced filters and decorations I use Gmic. Additionally, for PDF support in GIMP, it’s necessary to install the package poppler-glib:
sudo pacman -S gimp-plugin-gmic poppler-glib
Creating new projects from templates in Inkscape also requires the following installation of a Python library if it is not installed due to dependencies:
sudo pacman -S python-lxml
QR code generation
Instead of using web services like this one to
generate a QR code12, you can use the qrencode
command after installation:
sudo pacman -S qrencode
For example, to create a QR code for https://example.org
as PNG graphic using
10 dots (pixels) per module run the following command:
qrencode --output=example_url_qr-code.png --size=10 'https://example.org'
Meta data stripping
Other editing tasks of images include the stripping of meta data (capture device information and GPS positional data. This can be achieved by using the features of the exiftool, a Perl script, which is installed via:
sudo pacman -S perl-image-exiftool
To strip all meta data of images in the current directory just run:
exiftool -all= *
The exiftool will append _original
to the original image file backups.
Internet applications
Browsing a website, receiving and sending email or using instant messaging are fairly common Internet applications and almost indispensable these days.
Web browser
Though Firefox by Mozilla is a standards and privacy respecting web browser, I prefer LibreWolf for even greater privacy, security and freedom. It will be used as a primary web browser. I install the librewolf-bin package as follows:
yay -Sy librewolf-bin
Spell checking
In LibreWolf, hunspell and its directories for German are installed as follows to provide spell checking:
sudo pacman -S hunspell hunspell-de
Blob download
Some websites embed content, such as videos, in blob format. To download the content anyway I use Video Download Helper. The add-on is installed in LibreWolf and the companion application is provided in the AUR as vdhcoapp-bin package:
yay -Sy vdhcoapp-bin
Email client
Thunderbird, as a popular email client besides other communication capabilities, manages retrieving and sending of emails as well as news feeds. Similar to Firefox its GUI translation is provided by a language pack (German in my case) and both packages are installed using:
sudo pacman -S thunderbird thunderbird-i18n-de
Instant messaging
IRC client
Text-based chat known as Internet Relay Chat13 (IRC) has already been used since the early years of the internet and is still favored in many communities (see Arch IRC channels). For this reason, I install HexChat:
sudo pacman -S hexchat
Other clients
For Matrix, XMPP (previously Jabber) or Signal packages for clients are provided (sometimes through AUR). Element is a reference Matrix client and the element-desktop package can choosed for installation. For XMPP, I prefer Dino, which offers Off-the-Record Messaging and is very streamlined. The package name for Signal is signal-desktop and it needs to be connected to the App installed on a smartphone or tablet. To install all these packages I use the following command:
sudo pacman -S dino element-desktop signal-desktop
The computer is now setup for basic daily tasks and it’s time to have some fun. Thus, the next guide deals with setting up a professional audio environment. If this is not your use case, go back to the overview and select another guide.
-
Category:Multimedia in the ArchWiki ↩︎
-
List_of_applications/Internet in the ArchWiki ↩︎
-
Advanced Linux Sound Architecture in the ArchWiki ↩︎
-
PulseAudio in the ArchWiki ↩︎
-
The xfce4-pulseaudio-plugin in the Xfce Developer Wiki ↩︎
-
MP4 file format in the Wikipedia ↩︎
-
Raw image format in the Wikipedia ↩︎
-
Internet Relay Chat in the Wikipedia ↩︎