Useful Multimedia Programs for FreeBSD

In this tutorial, I will introduce you to some useful audio and video programs.

Asunder

Asunder is a graphical audio CD ripper and encoder. We can use it to save songs from an audio CD such as WAV, MP3, OGG, and/or FLAC.

It offers the following functions:

We can easily install it with the following command.

$: doas pkg install asunder

Quod Libet

Quod Libet is a GTK+-based audio player written in Python and using the tagging library Mutagen. We can create playlists based on regular expressions (don't worry, regular searches work too). With Quod Libet, we can view and edit all the tags we want in the file, for all the file formats it supports.

Unlike other programs, Quod Libet scales to libraries with tens of thousands of songs. It also supports most of the features you'd expect from a modern media player: Unicode support, advanced tag editing, replay gain, podcasts and Internet radio, album art support, and all major audio formats.

We can install it easily:

$: doas pkg install py39-quodlibet

It is recommended to install the following ports to play additional audio formats under Quod Libet:

For some Quod Libet plug-ins additional ports have to be installed:

We will install all ports at once in one go

$: doas pkg install gstreamer1-plugins-faad gstreamer1-plugins-flac gstreamer1-plugins-mpg123 gstreamer1-plugins-ogg gstreamer1-plugins-speex gstreamer1-plugins-vorbis gstreamer1-plugins-wavpack gstreamer1-libav py39-musicbrainzngs py39-pyinotify webkit2-gtk3

MPV

As a simple video player, I can recommend MPV.

mpv is based on the projects MPlayer and mplayer2, which it improves a lot. It supports a wide range of video file formats, audio and video codecs, and subtitle types. Special input URL types are available to accept input from a variety of sources other than hard disk files. A variety of different video and audio output methods are supported, depending on the platform.

Other features include:

We can install MPV with the following command:

$: doas pkg install mpv

Celluloid

Celluloid (formerly GNOME MPV) is a simple GTK+ frontend for MPV. It is easy to use while providing a high level of configurability.

We install it with:

$: doas pkg install celluloid

Subsonic compatible clients

If you followed my Airsonic or Navidrome guide I will show you 2 compatible clients you can use.

STMP

STMP is a terminal client for sonic music servers. Inspired by ncmpcpp.

It offers the following features:

We can install it as follows:

$: doas pkg install stmp

Then we create the configuration file.

$: mkdir ~/.config/stmp

$: nano ~/.config/stmp/stmp.toml =>

[auth]
username = 'your username'
password = 'your password'

[server]
host = 'https://music.(domain)'

shortcut functionality
1 folder view
2 queue view
enter play song (deletes the current queue)
d / delete Removes the currently selected song from the queue
D removes all songs from the queue
a Adds an album or track to the queue
p Play or pause
– / = Decreases the volume / increases the volume

Sublime Music

Sublime Music is a native GTK client with numerous features for Subsonic-compatible servers.

Sublime Music offers the following features:

First, we need to install py39-pip.

$: doas pkg install py39-pip

Then we can install Sublime Music with pip.

$: pip-3.9 install sublime-music

spotify-qt

Spotify-qt is an unofficial Spotify client that uses Qt as a simpler, lighter alternative to the official client, inspired by Spotify-tui. Similar to spotify-tui, we need an actual Spotify client, for example, spotifyd, which can be configured in the app. As with other clients, Spotify Premium is required to control music playback.

We can install spotifyd and spotify-qt as follows:

$: doas pkg install spotifyd spotify-qt

The first time we start spotify-qt, we are told that we need to register spotify-qt on Spotify's developer site first.

We log in at https://developer.spotify.com/dashboard/applications and then create a new app. We then enter the app name. For the redirect URL, we enter http://localhost:8888.

And then click complete and thereafter, it will then show the required client ID and client secret.

We then enter both in spotify-qt.

In the settings, we change to the Spotify tab.

In the path field, we enter “/usr/local/bin/spotifyd” and select “Start with App” and “Always start”.

Under Spotify Configuration, we uncheck “use global config”.

Finally, we create a new configuration file under .config/spotifyd.

$: nano ~/.config/spotifyd/spotifyd.conf =>

[global]
# Your Spotify account name.
username = "Your username"

# Your Spotify account password.
password = "Your password"

# The audio backend is used to play your music. To get
# a list of possible backends, run `spotifyd --help`.
backend = "portaudio"

# The displayed device type in Spotify clients.
# Can be unknown, computer, tablet, smartphone, speaker, t_v,
# a_v_r (audio/video receiver), s_t_b (set-top box), and audio_dongle.
device_type = "speaker"

Discuss...