Kaffeine
Description
Kaffeine is a media player. What makes it different from the others is its excellent support of digital TV (DVB). Kaffeine has user-friendly interface, so that even first time users can start immediately playing their movies: from DVD (including DVD menus, titles, chapters, etc.), VCD, or a file.
Kaffeine version 2.0, launched in Jun, 2016, has its GUI written on the top of KDE Frameworks 5 and Qt5. For video/audio playback, it uses libVLC as backend, and it interfaces with Linux TV devices via libdvbv5.
It has a simple but intuitive interface (example live TV screenshot) and is easy to setup. Amongst its list of supported formats are CDDA, VCD, DVD, .... and, since versions >0.5, it also provides full DVB support.
The latest version is 2.0.3.
Supported features
- Digital TV and Radio via Digital TV
- Time Shifting
- Recording -- including unattended recording
- EPG, EPG-driven recording timers, OSD EPG now and next.
- AC3
- DVB subtitles
- HDTV
- Multi standards are supported:
- Cable standards: DVB-C
- Terrestrial standards: ATSC, ISDB-T, DVB-T, DVB-T2;
- Satellital Standards: DVB-S, DVB-S2
- Kaffeine can simultaneously play and record different channels within the same transponder.
- Nicely handles mutiple frontends on a single device (for example a multi-standard card supporting DVB-C and DVB-T/T2 on the same frontend).
- Channel scanning on multiple devices/frontends, and multiple satellites.
- Channel favourites lists.
- DiSEqC 1.x switches, DiSEqC 1.2 rotors and USALS.
- Supports both Low and High level CI.
- KDE application style, rather than set top box (like MythTV or VDR)
Setting up Kaffeine for live view (e. g. "over the air broadcasts")
(assumes you have correctly installed your DVB device)
A) Simply open up Kaffeine
B) choose "Digital TV" in the Start Menu
PS.: if it is the first time you're using, the channel tab will be empty and the main screen will be black.
C) hit "Configure Television" option icon
D) Click on the appropriate "Device" tab ... if you only have one DVB device installed, it should be "Device 1"
E) Choose "Source" or whatever is appropriate for your usage (e.g. "us-ATSC-center-frequencies-8VSB" for over-air broadcasts in the U.S.; ....)
F) Close window, go back to Kaffeine TV window and click "Channels" option icon
G) In "Channels" window, make sure the "Source" is set correctly (i.e. to "ATSC" in this example), then hit "Start Scan" button -- the scan will take a couple of minutes or so
Scan channels screen after scan
H) Once the scan is complete, highlight all channels found in the right-hand box "Scan Results" (or all that you would like to save) then click "Add Selected" and those channels will then appear in the left-hand box called "Channels"
Scan channels screen with channel added
I) Hit "Ok" to get out of "Channels" window and you will return to Kaffeine "Digital TV" window with your selected channels appearing in the left margin column.
j) Double click on a channel to select -- and now hopefully you are watching !
Command line options
--tempfile
- The files/URLs opened by the application will be deleted after use
-f
--fullscreen
- Start in full screen mode
--audiocd
- Play Audio CD
--videocd
- Play Video CD
--dvd
- Play DVD
--dumpdvb
- Dump dvb data (debug option)
--channel
name / number- Play TV channel
--tv
channel- (deprecated option)
--lastchannel
- Play last tuned TV channel
file
- Files or URLs to play
Command control with qdbus
Kaffeine can be controlled with qdbus commands. These commands can be triggered with an IR remote, e.g: using LIRC.
Some, but not all qdbus commands:
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.ToggleMuted
- mute, unmmute
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.DecreaseVolume
- decrease volume
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.IncreaseVolume
- increase volume
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.Next
- play next channel
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.Prev
- play previous channel
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.ToggleFullScreen
- toggle full screen
qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.ToggleInstantRecord
- it records the current TV stream
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.Play
- play
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.Stop
- stop
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.LongSkipForward
- Forward
qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.LongSkipBackward
- Backward
qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.PlayLastChannel
- Play previous channel, it toggles actual and last channel
qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.ToggleOsd
- Toggle OSD
qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.PlayChannel 1
- Change to the TV channel number 1
qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.DigitPressed 1
- Press the key 1, it waits a bit for another key to select the channel
Installing Kaffeine
Prerequisites
The following tools are needed to build Kaffeine:
- GNU c++
- GNU make
- cmake >= 2.8
- cmake ECM (extra-cmake-modules)
The following development headers are needed (recommended versions):
- Qt >= 5.4
- KF5 >= 5.11
- libX11
- libXss
- libqt-sql-sqlite
- libvlc
- libdvbv5
If you also want language translations you also need:
- gettext
If you also want the Kaffeine Handbook, you also need:
- KF5DocTools
Debian and Ubuntu
The needed packages for Debian/Ubuntu should be installed with:
apt-get install kdelibs5-dev libvlc-dev libxss-dev vlc \ libkf5coreaddons-dev libkf5i18n-dev libqt5x11extras5-dev \ libkf5solid-dev libkf5widgetsaddons-dev kio-dev \ qt5-default libdvbv5-dev \ cmake extra-cmake-modules make g++ gettext
And, to build the optional Kaffeine Handbook documentation:
apt-get install kdoctools-dev
PS.: The above was tested with Debian SID and Ubuntu Xenial (16.04). Other versions may have different requirements.
Fedora
On Fedora, you need a repository that provides VLC.
For stable fedora releases, you could use the rpmfusion repository. See http://rpmfusion.org/Configuration/ for instructions about how to set it up.
For Fedora rawhide and beta releases, you could use, instead the Unitedrpms repository: https://unitedrpms.github.io/. Please read at https://github.com/UnitedRPMs/unitedrpms.github.io/blob/master/README.md for instructions about how to set up.
Once the repository with VLC is set, install the needed packages with:
dnf install kf5-kcoreaddons-devel extra-cmake-modules libXScrnSaver-devel \ qt5-qtx11extras-devel \ kf5-solid-devel kf5-kio-devel \ kf5-kdbusaddons-devel kf5-ki18n-devel vlc-devel gettext-devel
And, to build the Kaffeine Handbook documentation:
dnf install kf5-kdoctools-devel
PS.: The above was tested with Fedora 23 and Fedora 24. Other versions may have different requirements.
openSUSE
If you run openSUSE Tumbleweed, you can find an up-to-date package with the latest state of git in the KDE:Unstable:Extra repository.
zypper ar obs://KDE:Unstable:Extra KDE_Unstable_Extra # add repository zypper in -r KDE_Unstable_Extra kaffeine
If you are using openSUSE Leap or openSUSE 13.2, you will need to compile from sources instead. You need to be using at least OpenSUSE version 13.2, in order to have KF5 and Qt 5.5 at their repositories.
The first step is to install the needed dependencies:
zypper install extra-cmake-modules vlc-devel make gcc gcc-g++ cmake \ libqt5-qtbase-devel libqt5-qtx11extras-devel \ kdbusaddons-devel solid-devel kio-devel ki18n-devel
If you're running OpenSUSE version 13.2, you'll need to compile the libdvbv5 by hand, as it is not provided there. OpenSUSE Leap (version 42.1) seem to have it already packaged as libdvbv5-devel.
Before compiling libdvbv5, some packages are needed:
zypper install autoconf automake libjpeg-devel
Compiling libdvbv5 (as normal user):
wget https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.10.0.tar.bz2 tar xvf v4l-utils-1.10.0.tar.bz2 cd v4l-utils ./bootstrap.sh && ./configure && make
Installing the library (as root):
make install
And, to build the optional Kaffeine Handbook documentation:
zypper install kdoctools-devel
PS.: The above was tested with openSUSE 13.2. Other versions may have different requirements.
Gentoo
Kaffeine is already packaged on Gentoo. Installing it is as simple as:
emerge kaffeine
Arch Linux
Kaffeine is already packaged on Arch Linux. Installing it is as simple as:
pacman -S kaffeine
Installing translations
This step is optional, and should be done only if you want to use Kaffeine on non-English setups.
The Kaffeine tarballs should already have the translations on it, but, if you're installing from the git tree, you'll need to run a script to get them: (cd .. && kaffeine/tools/update_l10n.sh)
How to build Kaffeine
Create an empty build directory and do the following steps:
# cmake <path/to/kaffeine/source/directory> <options> # make # make install
Useful options include:
- -DCMAKE_BUILD_TYPE=<type> (Debug or Release)
- -DCMAKE_INSTALL_PREFIX=<path> (installation prefix for Kaffeine, e.g. /usr)
- -DBUILD_TOOLS=1 (also compile some tools needed by developers)
For further information look for generic KF5 / cmake instructions.
Remote Access and Kaffeine
Accessing Kaffeine remotely via X11/ssh/vnc can be a problem, as Qt5 will, by default, use hardware acceleration and DRI3.
There is a known bug, present on Fedora 23/24, and likely on other distros, at mesa-libGL/dri-drivers that cause it to wait forever when it is started from a X11 section. Such bug causes Kaffeine windows to not open:
A workaround is to start Kaffeine with:
LIBGL_DRI3_DISABLE=1 kaffeine
Another solution is to use a vnc server.
Still, libVLC will try to use hardware acceleration on the machine with Kaffeine, with obviously with won't work via the X11 protocol. For such scenarios, you may try to change the arguments passed to libVLC via the "Settings" --> "Configure Kaffeine" --> "libVLC", changing the libVLC arguments to:
--no-video-title-show -V xcb_glx
or:
--no-video-title-show -V xcb_xv
and re-start Kaffeine.
Homepage
https://www.kde.org/applications/multimedia/kaffeine/
Authors
KF5 port maintainer:
- Mauro Carvalho Chehab mchehab@s-opensource.com or mchehab+kde@kernel.org
Maintainer:
- Lasse Lindqvist lasse.k.lindqvist@gmail.com
Former maintainers:
- Christoph Pfister
- Christophe Thommeret
- Jürgen Kofler
Files
Kaffeine uses the file scanfile.dvb
with a list of known channels per locality and per Satellite (for DVB-S/S2).
The scanfile.dvb
file is weekly updated when new patches are added to the Digital TV scan tables git tree.
When either new channels are added on some City, or when new Satellite beams are added, which are not available in Kaffeine, either use dvbv5-scan or w_scan to generate a new file (in the latter case, converted to the proper format using dvb-format-convert), and submit it to linux-media@vger.kernel.org, with the subject:
[PATCH] dtv-scan-tables: some description
The new patch will be added to scanfile.dvb
and the updated file will be available to be updated from the Internet in the Kaffeine application.
External Links
- Kaffeine Homepage
- https://blogs.s-osg.org/watching-digital-tv-via-kaffeine/ Watching Digital TV Via Kaffeine] explains how to compile Kaffeine version 2.0.
Kaffeine history
Kaffeine versions 0.x (KDE3 Version)
Originally, Kaffeine was written using KDE 3 and were maintained at SourceForge. Old versions of Kaffeine 0.x and 1.x are still available there.
The oldest available version there is Kaffeine 0.3.2, writen in 2003 by Jürgen Kofler. Later, Christophe Thommeret joined the efforts.
Kaffeine version 1.x (KDE4 Version
The latest Kaffeine release 0.x is a KDE3 application although it can be made to run under KDE4. Kaffeine versions 1.x are rewritten to use KDE4. On that time (April, 26 2009, with Kaffeine version 1.0-pre1), Kaffeine was migrated to kde.org, and it started being maintained by Christoph Pfister. On versions 1.3.x, the maintainership switched to Lasse Lindqvist.
The authors claimed that features in Phonon were required, although this was disputed by Aaron Seigo. See http://dot.kde.org/1166377123/1166385374/1166438293/ and http://hftom.free.fr/phpBB2/viewtopic.php?t=18.
KDE4 Version with OpenGL OSD
Some work had been done on a better on-screen display (OSD) using OpenGL. It was under development here http://websvn.kde.org/trunk/extragear/multimedia/kaffeinegl/. Such work sounded like some development testing to improve the interface rather than a full Kaffeine program.
Kaffeine version 2.0
In Jun, 2016, Mauro Carvalho Chehab annonced Kaffeine port to KF5 and started maintaining Kaffeine version 2.0, based on KF5/Qt5, libVLC and libdvbv5.