|
|
|
@ -0,0 +1,257 @@
|
|
|
|
|
---
|
|
|
|
|
title: 'Multimedia and web'
|
|
|
|
|
date: 2024-06-07T14:57:09+02:00
|
|
|
|
|
weight: 6
|
|
|
|
|
prev: /docs/computer/xfce-desktop
|
|
|
|
|
next: /docs/computer/office-tools
|
|
|
|
|
---
|
|
|
|
|
|
|
|
|
|
The multimedia category[^1] and the list of (Internet) applications[^2] 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:
|
|
|
|
|
|
|
|
|
|
1. Configuring the basic [#Sound system](#sound-system)
|
|
|
|
|
2. [#Media player](#media-player), codecs and tools installation
|
|
|
|
|
3. Playing and burning [#Optical discs](#optical-discs)
|
|
|
|
|
4. Applications for [#Image viewing and editing](#image-viewing-and-editing)
|
|
|
|
|
5. Setting up essential [#Internet applications](#internet-applications)
|
|
|
|
|
|
|
|
|
|
## Sound system
|
|
|
|
|
|
|
|
|
|
Since ALSA[^3] modules are included in the Linux kernel no manual installation
|
|
|
|
|
is necessary. The [alsa-utils](https://archlinux.org/packages/?name=alsa-utils)
|
|
|
|
|
package provides `amixer`, which is required for unmuting the channels, as they
|
|
|
|
|
are muted by default. Hence, I install the package via:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
sudo pacman -Sy alsa-utils
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
and unmute typical channels of built-in audio interfaces:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
amixer sset Master unmute
|
|
|
|
|
amixer sset Speaker unmute
|
|
|
|
|
amixer sset Headphone unmute
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
PulseAudio[^4] (PA) or just *pulse* is a general purpose sound server providing
|
|
|
|
|
modules for extended functionalities, such as support for bluetooth audio.
|
|
|
|
|
However, [PipeWire](https://wiki.archlinux.org/title/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:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
sudo pacman -Sy 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:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
systemctl --user start pipewire-pulse.service
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
To control the volume and other levels graphically I can use `alsamixer` in a
|
|
|
|
|
terminal or open the Xfce panel applet xfce4-pulseaudio-plugin[^5] leveraging
|
|
|
|
|
[pavucontrol](https://archlinux.org/packages/?name=pavucontrol). Both packages
|
|
|
|
|
might have been installed already in the previous guide due to dependencies of
|
|
|
|
|
the [xfce4-goodies](https://archlinux.org/groups/x86_64/xfce4-goodies/) package:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
sudo pacman -Sy pavucontrol xfce4-pulseaudio-plugin
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
In the [Items](http://docs.xfce.org/xfce/xfce4-panel/preferences#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](https://docs.xfce.org/xfce/xfce4-settings/keyboard) preferences.
|
|
|
|
|
|
|
|
|
|
## Media player
|
|
|
|
|
|
|
|
|
|
As a substitute to Parole I like [mpv](https://wiki.archlinux.org/title/Mpv) to
|
|
|
|
|
be used as default media player to watch streams by leveraging the terminal app
|
|
|
|
|
[yt-dlp](https://wiki.archlinux.org/title/yt-dlp), for example. In addition, the
|
|
|
|
|
popular [VLC media player](https://wiki.archlinux.org/title/VLC_media_player) is
|
|
|
|
|
employed for other use cases such as DVD menus and media recording.
|
|
|
|
|
|
|
|
|
|
I Install their packages by invoking:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
sudo pacman -Sy mpv vlc yt-dlp
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
{{< callout type="warning" >}}
|
|
|
|
|
Again, keep attention at the dialog with preset selection and opt to install
|
|
|
|
|
[pipewire-jack](https://archlinux.org/packages/?name=pipewire-jack) at first.
|
|
|
|
|
Details on JACK support are described in the [pro-audio](../pro-audio) guide.
|
|
|
|
|
{{< /callout >}}
|
|
|
|
|
|
|
|
|
|
### 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:
|
|
|
|
|
|
|
|
|
|
```{filename="~/.config/mpv/mpv.conf"}
|
|
|
|
|
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](https://wiki.archlinux.org/title/Mpv#Custom_profiles) and
|
|
|
|
|
[scripts](https://wiki.archlinux.org/title/Mpv#Scripts) maybe considered for any
|
|
|
|
|
more advanced features and use cases.
|
|
|
|
|
|
|
|
|
|
### Codecs
|
|
|
|
|
|
|
|
|
|
[Codecs and containers](https://wiki.archlinux.org/title/Codecs_and_containers)
|
|
|
|
|
are diverse and broadly supported by mpv and VLC media player. I like to use
|
|
|
|
|
[FLAC](https://xiph.org/flac) and [Opus](https://opus-codec.org) for audio, and
|
|
|
|
|
VP9[^6] and Matroska[^7] (MKV) for video. However, MP3 is still a popular audio
|
|
|
|
|
format and [H.264](https://en.wikipedia.org/wiki/H.264) or the High Efficiency
|
|
|
|
|
Video Coding (HVEC/H.265) the for MP4 container[^8] 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:
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
sudo pacman -Sy faac flac lame libvorbis opus
|
|
|
|
|
sudo pacman -Sy libtheora libvpx x264 x265 xvidcore
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Optical discs
|
|
|
|
|
|
|
|
|
|
### Playing CD, DVD and Blu-ray
|
|
|
|
|
|
|
|
|
|
Playing [CD](https://wiki.archlinux.org/title/Optical_disc_drive#CD), [DVD](https://wiki.archlinux.org/title/Optical_disc_drive#DVD) and [Blu-ray](https://wiki.archlinux.org/title/Blu-ray#Playback) media requires access libraries installed as follows if not provided by dependencies already:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy libaacs libbluray libcdio libdvdcss libdvdnav libdvdread libmpeg2
|
|
|
|
|
|
|
|
|
|
**Note:** Adding the user account to the `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 and show [Compact Disc Digital Audio](https://en.wikipedia.org/wiki/Compact_Disc_Digital_Audio) tracks as [WAV](https://en.wikipedia.org/wiki/WAV) files using [cdfs](https://en.wikipedia.org/wiki/CDfs). You can copy those WAV files to rip the Audio CD and convert them hereafter (see [Post-processing](https://wiki.archlinux.org/title/Rip_Audio_CDs#Post-processing)). For tagging audio files I install the package [kid3-qt](https://archlinux.org/packages/?name=kid3-qt) to use the [KDE](https://wiki.archlinux.org/title/KDE) independent Qt version of [Kid3](https://kid3.kde.org):
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy kid3-qt
|
|
|
|
|
|
|
|
|
|
### CD, DVD and Blu-ray burning
|
|
|
|
|
|
|
|
|
|
Although Xfce comes with [Xfburn](https://docs.xfce.org/apps/xfburn/start), in my oppinion [Brasero](https://wiki.gnome.org/Apps/Brasero) provides essential features regarding audio CD creation (such as [CD-Text](https://en.wikipedia.org/wiki/CD-Text) editing). Install the package [brasero](https://archlinux.org/packages/?name=brasero):
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy brasero
|
|
|
|
|
|
|
|
|
|
## Image viewing and editing
|
|
|
|
|
|
|
|
|
|
A fast [image viewer](https://wiki.archlinux.org/title/List_of_applications/Multimedia#Image_viewers) with support for [Raw image format](https://en.wikipedia.org/wiki/Raw_image_format) and capable of typical modifications (crop, resize, rotate, etc.) is [nomacs](https://nomacs.org) provided by a package with the same name installable with:
|
|
|
|
|
|
|
|
|
|
yay -Sy nomacs
|
|
|
|
|
|
|
|
|
|
### Meta data stripping
|
|
|
|
|
|
|
|
|
|
Other editing tasks include stripping [meta data]() (capture device information and [GPS]() positional data). This can be achieved using the [exiftool](https://sno.phy.queensu.ca/~phil/exiftool), a [Perl](https://wiki.archlinux.org/title/Perl) script. After the following installation command just run `exiftool -all= *` in the directory of images you want to process:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy perl-image-exiftool
|
|
|
|
|
|
|
|
|
|
### Graphics editing
|
|
|
|
|
|
|
|
|
|
More advanced graphics editing employs [GIMP](https://wiki.archlinux.org/title/GIMP), [Inkscape](https://wiki.archlinux.org/title/Inkscape) and maybe [Scribus](https://www.scribus.net) for [desktop publishing](https://en.wikipedia.org/wiki/Desktop_publishing). Install their packages using:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy gimp inkscape scribus
|
|
|
|
|
|
|
|
|
|
To use advanced filters and decorations use [Gmic](https://www.gmic.eu). Additionally, install the [poppler-glib](https://archlinux.org/packages/?name=poppler-glib) package for enabling PDF support:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy gimp-plugin-gmic poppler-glib
|
|
|
|
|
|
|
|
|
|
Creating new projects from templates in Inkscape also requires the following installation of a [Python](https://wiki.archlinux.org/title/Python) library if it is not installed due to dependencies of Inkscape:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy python-lxml
|
|
|
|
|
|
|
|
|
|
### QR code generation
|
|
|
|
|
|
|
|
|
|
Instead of using web services like [Free QR Code Generator](https://qr-code-generator.org) to generate a [QR code](https://en.wikipedia.org/wiki/QR_code), you can use `qrencode --output=example_url_qr-code.png --size=10 'https://example.org'` to create a PNG graphic for the URL [https://example.org](https://example.org) using 10 dots (pixels) per module after installation of its package:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy qrencode
|
|
|
|
|
|
|
|
|
|
## Internet applications
|
|
|
|
|
|
|
|
|
|
Browsing a [website](https://en.wikipedia.org/wiki/Website), receiving and sending [email](https://en.wikipedia.org/wiki/Email) or using instant messaging are fairly common Internet applications and almost indispensable these days.
|
|
|
|
|
|
|
|
|
|
**Note:** These subsections only cover basic installation and setup. Further configuration for improved security and privacy is discussed in the guides of [/cybersec](cybersec/README.md).
|
|
|
|
|
|
|
|
|
|
### Web browser
|
|
|
|
|
|
|
|
|
|
Though [Firefox](https://wiki.archlinux.org/title/Firefox) by [Mozilla](https://www.mozilla.org) is a standards and privacy respecting web browser, I prefer [LibreWolf](https://librewolf.net) for even greater privacy, security and freedom as primary web browser. Install the package [librewolf-bin](https://aur.archlinux.org/packages/librewolf-bin) as follows:
|
|
|
|
|
|
|
|
|
|
yay -Sy librewolf-bin
|
|
|
|
|
|
|
|
|
|
#### Spell checking
|
|
|
|
|
|
|
|
|
|
[Spell-checking](https://wiki.archlinux.org/title/Firefox#Spell_checking) is provided by [hunspell](https://wiki.archlinux.org/title/Language_checking#Spell_checkers) and its directories packages installed for German as follows:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy hunspell hunspell-de
|
|
|
|
|
|
|
|
|
|
#### Blob download
|
|
|
|
|
|
|
|
|
|
Some websites embed content such as videos in blob format. [Video Download Helper](https://www.downloadhelper.net) can be used for downloading blobs. Open LibreWolf and install the [Video Download Helper add-on](https://addons.mozilla.org/de/firefox/addon/video-downloadhelper/). A precompiled binary version of the necessary companion application can be installed via the AUR package [vdhcoapp-bin](https://aur.archlinux.org/packages/vdhcoapp-bin/) as follows:
|
|
|
|
|
|
|
|
|
|
yay -Sy vdhcoapp-bin
|
|
|
|
|
|
|
|
|
|
### Email client
|
|
|
|
|
|
|
|
|
|
[Thunderbird](https://wiki.archlinux.org/title/Thunderbird), as a popular email client besides other communication capabilities, manages retrieving and sending of emails as well as [news feeds](https://en.wikipedia.org/wiki/Web_feed). Similar to Firefox its GUI translation is provided by a language pack for e.g. German and both packages are installed using:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy thunderbird thunderbird-i18n-de
|
|
|
|
|
|
|
|
|
|
**Note:** For [spell-checking](https://wiki.archlinux.org/title/Thunderbird#Spell_checking) Thunderbird uses hunspell and its directories similar to Firefox as previously described in [#Spell checking](#spell-checking).
|
|
|
|
|
|
|
|
|
|
### Instant messaging
|
|
|
|
|
|
|
|
|
|
#### IRC client
|
|
|
|
|
|
|
|
|
|
Text-based chat known as [Internet Relay Chat](https://en.wikipedia.org/wiki/Internet_Relay_Chat) (IRC) has already been used since the early years of the internet and is still favored in project communities (e.g. [Arch IRC channels](https://wiki.archlinux.org/title/Arch_IRC_channels)). For that reason I recommend an IRC client such as [HexChat](https://wiki.archlinux.org/title/HexChat). The package [hexchat](https://archlinux.org/packages/?name=hexchat) is installed by:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy hexchat
|
|
|
|
|
|
|
|
|
|
#### Mattermost client
|
|
|
|
|
|
|
|
|
|
[Mattermost](https://www.mattermost.org) is a self-hostable solution for team communication and alternative to the propietary Slack. Install the package [mattermost-desktop](https://archlinux.org/packages/?name=mattermost-desktop) to use the client application:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy mattermost-desktop
|
|
|
|
|
|
|
|
|
|
#### Other clients
|
|
|
|
|
|
|
|
|
|
Other messaging solutions like [Matrix](https://matrix.org), [XMPP](https://xmpp.org) (previously Jabber) or [Signal](https://signal.org) provide packages for clients (sometimes through AUR). [Element](https://element.io) is a reference Matrix client and available as package [element-desktop](https://archlinux.org/packages/?name=element-desktop). For XMPP I prefer [Dino](https://dino.im) which offers [Off-the-Record Messaging](https://en.wikipedia.org/wiki/Off-the-Record_Messaging) and is very streamlined. The [signal-desktop](https://archlinux.org/packages/?name=signal-desktop) package provides the desktop application which needs to be connected to the App installed on a smartphone or tablet. To install all of those packages use the following command:
|
|
|
|
|
|
|
|
|
|
sudo pacman -Sy dino element-desktop signal-desktop
|
|
|
|
|
|
|
|
|
|
**Note:** A comparison of messengers focused on privacy and security and can be found in the [Messenger-Matrix](https://www.messenger-matrix.de).
|
|
|
|
|
|
|
|
|
|
### Cloud services
|
|
|
|
|
|
|
|
|
|
Some applications benefit from being connected to cloud services. As these imply further considerations there are no instructions at this point. Instructions on bookmark synchronization in LibreWolf or calendar and contacts synchronization in Thunderbird can be found in the [/cybersec](cybersec/README.md) guides.
|
|
|
|
|
|
|
|
|
|
## Next up
|
|
|
|
|
|
|
|
|
|
The next guide deals with [Maintainance and peripherals](04-maintainance_and_peripherals.md) to get an overview on the system state, automating reoccuring tasks, using several utilities and configuring peripherals.
|
|
|
|
|
|
|
|
|
|
[^1]: [Category:Multimedia](https://wiki.archlinux.org/title/Category:Multimedia)
|
|
|
|
|
in the ArchWiki
|
|
|
|
|
[^2]: [List_of_applications/Internet](https://wiki.archlinux.org/title/List_of_applications/Internet)
|
|
|
|
|
in the ArchWiki
|
|
|
|
|
[^3]: [Advanced Linux Sound Architecture](https://wiki.archlinux.org/title/Advanced_Linux_Sound_Architecture)
|
|
|
|
|
in the ArchWiki
|
|
|
|
|
[^4]: [PulseAudio](https://wiki.archlinux.org/title/PulseAudio) in the ArchWiki
|
|
|
|
|
[^5]: The [xfce4-pulseaudio-plugin](https://docs.xfce.org/panel-plugins/xfce4-pulseaudio-plugin/start)
|
|
|
|
|
in the Xfce Developer Wiki
|
|
|
|
|
[^6]: [VP9](https://en.wikipedia.org/wiki/VP9) in the Wikipedia
|
|
|
|
|
[^7]: [Matroska](https://en.wikipedia.org/wiki/Matroska) in the Wikipedia
|
|
|
|
|
[^8]: [MP4 file format](https://en.wikipedia.org/wiki/MP4_file_format) in the
|
|
|
|
|
Wikipedia
|