Kaffeine: Difference between revisions
(13 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
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 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 |
Kaffeine version 2.0, launched in Jun, 2016, has its GUI written on the top of [http://en.wikipedia.org/wiki/KDE KDE Frameworks 5] and [https://en.wikipedia.org/wiki/Qt_(software) Qt5]. For video/audio playback, it uses [https://wiki.videolan.org/LibVLC libVLC] as backend, and it interfaces with Linux TV devices via [https://linuxtv.org/docs/libdvbv5/ libdvbv5]. |
||
It has a simple but intuitive interface ([https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_live_tv.png 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. |
|||
There's a blog page about [https://blogs.s-osg.org/watching-digital-tv-via-kaffeine/ Watching Digital TV Via Kaffeine] written by the developer that made the Kaffeine port to KF5. |
|||
It has a simple but intuitive interface ([https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_live_tv.png 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'''. |
'''The latest version is 2.0.3'''. |
||
Supported features |
= Supported features = |
||
* Digital TV and Radio via Digital TV |
* Digital TV and Radio via Digital TV |
||
Line 32: | Line 29: | ||
* Supports both Low and High level CI. |
* Supports both Low and High level CI. |
||
* KDE application style, rather than set top box (like MythTV or VDR) |
* 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 |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_initial.png Kaffeine initial screen] |
|||
B) choose "Digital TV" in the Start Menu |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_live_tv.png Digital TV screen] |
|||
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 |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_configure_tv_general_options.png Configure Television screen] |
|||
D) Click on the appropriate "Device" tab ... if you only have one DVB device installed, it should be "Device 1" |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_configure_tv_atsc_device.png Configure ATSC device screen] |
|||
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 |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_scan_empty.png Scan channels screen] |
|||
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 |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_scan_finished.png 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" |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_scan_finished_channels_added.png 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 = |
= Command line options = |
||
Line 56: | Line 92: | ||
: Files or URLs to play |
: Files or URLs to play |
||
= Command control with qdbus = |
|||
= Setting up Kaffeine for live view (e. g. "over the air broadcasts") = |
|||
Kaffeine can be controlled with qdbus commands. These commands can be triggered with an IR remote, e.g: using LIRC. |
|||
(assumes you have correctly installed your DVB device) |
|||
Some, but not all qdbus commands: |
|||
A) Simply open up Kaffeine |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.ToggleMuted</code> |
|||
: mute, unmmute |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.DecreaseVolume</code> |
|||
: decrease volume |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.IncreaseVolume</code> |
|||
: increase volume |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.Next</code> |
|||
: play next channel |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.Prev </code> |
|||
: play previous channel |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.ToggleFullScreen</code> |
|||
: toggle full screen |
|||
; <code>qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.ToggleInstantRecord</code> |
|||
: it records the current TV stream |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.Play</code> |
|||
: play |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.Stop</code> |
|||
: stop |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.LongSkipForward</code> |
|||
: Forward |
|||
; <code>qdbus org.kde.kaffeine /Player org.freedesktop.MediaPlayer.LongSkipBackward</code> |
|||
: Backward |
|||
; <code>qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.PlayLastChannel</code> |
|||
: Play previous channel, it toggles actual and last channel |
|||
; <code>qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.ToggleOsd</code> |
|||
: Toggle OSD |
|||
; <code>qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.PlayChannel 1</code> |
|||
: Change to the TV channel number 1 |
|||
; <code>qdbus org.kde.kaffeine /Television org.freedesktop.MediaPlayer.DigitPressed 1</code> |
|||
: Press the key 1, it waits a bit for another key to select the channel |
|||
= Installing Kaffeine = |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_initial.png Kaffeine initial screen] |
|||
== Prerequisites == |
|||
B) choose "Digital TV" in the Start Menu |
|||
The following tools are needed to build Kaffeine: |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_live_tv.png Digital TV screen] |
|||
* GNU c++ |
|||
PS.: if it is the first time you're using, the channel tab will be empty and the main screen will be black. |
|||
* GNU make |
|||
* cmake >= 2.8 |
|||
* cmake ECM (extra-cmake-modules) |
|||
The following development headers are needed (recommended versions): |
|||
C) hit "Configure Television" option icon |
|||
* Qt >= 5.4 |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_configure_tv_general_options.png Configure Television screen] |
|||
* KF5 >= 5.11 |
|||
* libX11 |
|||
* libXss |
|||
* libqt-sql-sqlite |
|||
* libvlc |
|||
* libdvbv5 |
|||
If you also want language translations you also need: |
|||
D) Click on the appropriate "Device" tab ... if you only have one DVB device installed, it should be "Device 1" |
|||
* gettext |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_configure_tv_atsc_device.png Configure ATSC device screen] |
|||
If you also want the Kaffeine Handbook, you also need: |
|||
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.; ....) |
|||
* KF5DocTools |
|||
F) Close window, go back to Kaffeine TV window and click "Channels" option icon |
|||
== Debian and Ubuntu == |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_scan_empty.png Scan channels screen] |
|||
The needed packages for Debian/Ubuntu should be installed with: |
|||
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 |
|||
<pre>apt-get install kdelibs5-dev libvlc-dev libxss-dev vlc \ |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_scan_finished.png Scan channels screen after scan] |
|||
libkf5coreaddons-dev libkf5i18n-dev libqt5x11extras5-dev \ |
|||
libkf5solid-dev libkf5widgetsaddons-dev kio-dev \ |
|||
qt5-default libdvbv5-dev \ |
|||
cmake extra-cmake-modules make g++ gettext</pre> |
|||
And, to build the optional Kaffeine Handbook documentation: |
|||
<pre>apt-get install kdoctools-dev</pre> |
|||
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" |
|||
PS.: The above was tested with Debian SID and Ubuntu Xenial (16.04). Other versions may have different requirements. |
|||
== Fedora == |
|||
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_scan_finished_channels_added.png Scan channels screen with channel added] |
|||
On Fedora, you need a repository that provides VLC. |
|||
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. |
|||
For stable fedora releases, you could use the rpmfusion repository. See http://rpmfusion.org/Configuration/ for instructions about how to set it up. |
|||
j) Double click on a channel to select -- and now hopefully you are watching ! |
|||
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: |
|||
<pre>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</pre> |
|||
And, to build the Kaffeine Handbook documentation: |
|||
<pre>dnf install kf5-kdoctools-devel</pre> |
|||
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. |
|||
<pre>zypper ar obs://KDE:Unstable:Extra KDE_Unstable_Extra # add repository |
|||
zypper in -r KDE_Unstable_Extra kaffeine</pre> |
|||
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: |
|||
<pre>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</pre> |
|||
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: |
|||
<pre>zypper install autoconf automake libjpeg-devel</pre> |
|||
Compiling libdvbv5 (as normal user): |
|||
<pre>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</pre> |
|||
Installing the library (as root): |
|||
<pre>make install</pre> |
|||
And, to build the optional Kaffeine Handbook documentation: |
|||
<pre>zypper install kdoctools-devel</pre> |
|||
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: |
|||
<pre>emerge kaffeine</pre> |
|||
== Arch Linux == |
|||
Kaffeine is already packaged on Arch Linux. Installing it is as simple as: |
|||
<pre>pacman -S kaffeine</pre> |
|||
== 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: |
|||
<pre># cmake <path/to/kaffeine/source/directory> <options> |
|||
# make |
|||
# make install</pre> |
|||
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: |
|||
* https://bugzilla.redhat.com/show_bug.cgi?id=1174257 |
|||
A workaround is to start Kaffeine with: |
|||
<pre>LIBGL_DRI3_DISABLE=1 kaffeine</pre> |
|||
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: |
|||
<pre>--no-video-title-show -V xcb_glx</pre> |
|||
or: |
|||
<pre>--no-video-title-show -V xcb_xv</pre> |
|||
and re-start Kaffeine. |
|||
= Homepage = |
|||
https://www.kde.org/applications/multimedia/kaffeine/ |
|||
= Authors = |
|||
KF5 port maintainer: |
|||
* Mauro Carvalho Chehab [mailto:mchehab@s-opensource.com mchehab@s-opensource.com] or [mailto:mchehab+kde@kernel.org mchehab+kde@kernel.org] |
|||
Maintainer: |
|||
* Lasse Lindqvist [mailto:lasse.k.lindqvist@gmail.com lasse.k.lindqvist@gmail.com] |
|||
Former maintainers: |
|||
* Christoph Pfister |
|||
* Christophe Thommeret |
|||
* Jürgen Kofler |
|||
= Files = |
= Files = |
||
Line 101: | Line 299: | ||
The <code>scanfile.dvb</code> file is weekly updated when new patches are added to the [https://git.linuxtv.org/dtv-scan-tables.git/ Digital TV scan tables] git tree. |
The <code>scanfile.dvb</code> file is weekly updated when new patches are added to the [https://git.linuxtv.org/dtv-scan-tables.git/ 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 [ |
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 [mailto:linux-media@vger.kernel.org linux-media@vger.kernel.org], with the subject: |
||
[PATCH] dtv-scan-tables: some description |
|||
The new patch will be added to <code>scanfile.dvb</code> and the updated file will be available to be updated from the Internet in the Kaffeine application. |
The new patch will be added to <code>scanfile.dvb</code> and the updated file will be available to be updated from the Internet in the Kaffeine application. |
||
= External Links = |
= External Links = |
||
* [https://www.kde.org/applications/multimedia/kaffeine/ Kaffeine Homepage] |
* [https://www.kde.org/applications/multimedia/kaffeine/ 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 |
=Kaffeine history= |
||
NOTE: This part of the wiki has outdated information with may not be true anymore. Kept here just for historical reasons. |
|||
==KDE3 Version== |
==Kaffeine versions 0.x (KDE3 Version)== |
||
Originally, Kaffeine was written using KDE 3 and were maintained at [https://sourceforge.net/projects/kaffeine/ SourceForge]. Old versions of Kaffeine 0.x and 1.x are still available there. |
|||
To make use of the latest features (e.g. HDTV and [[S2API]] support) you might need to compile bleeding-edge versions of ffmpeg,xine-lib |
|||
and kaffeine. |
|||
The oldest available version there is Kaffeine 0.3.2, writen in 2003 by Jürgen Kofler. Later, Christophe Thommeret joined the efforts. |
|||
Remove old versions of ffmpeg,xine-lib and kaffeine first (but type 'ffmpeg' first to check what |
|||
compilation options were used). |
|||
==Kaffeine version 1.x (KDE4 Version== |
|||
Get SVN ffmpeg, check what compilation options your old version used, compile and install |
|||
ffmpeg [shows old compilation options] |
|||
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg |
|||
cd ffmpeg |
|||
./configure [plus old options] |
|||
make |
|||
sudo make install |
|||
Get latest xine-lib, compile with --with-external-ffmpeg option, install |
|||
hg clone http://hg.debian.org/hg/xine-lib/xine-lib |
|||
cd xine-lib |
|||
./autogen.sh |
|||
./configure --prefix=/usr --with-external-ffmpeg |
|||
make |
|||
sudo make install |
|||
Get SVN kaffeine. Remove all projects (subdirs) you don't want to build. At least you need admin and kaffeine of course. |
|||
Configure, making sure your current kernel includes are found (it needs linux/dvb/frontend.h) using --with-extra-includes if necessary. Compile and install. |
|||
svn co svn://anonsvn.kde.org/home/kde/branches/extragear/kde3/multimedia |
|||
cd multimedia |
|||
rm -fr doc k3b kdetv klicker kmplayer kplayer |
|||
make -f Makefile.cvs |
|||
./configure --with-extra-includes=/lib/modules/`uname -r`/source/include [for example] |
|||
make |
|||
cd kaffeine |
|||
sudo make install |
|||
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 [https://www.kde.org/applications/multimedia/kaffeine/development kde.org], and it started being maintained by Christoph Pfister. On versions 1.3.x, the maintainership switched to Lasse Lindqvist. |
|||
==KDE4 Version== |
|||
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. |
|||
The latest Kaffeine release is a KDE3 application although it can be made to run under KDE4. A KDE4 version (kaffeine4) is under development here http://websvn.kde.org/trunk/extragear/multimedia/kaffeine/ . |
|||
As of May 2009 it is unfortunately only '''pre-alpha'''. It plays DVDs, videos and finds ''some'' (not all) DVB channels but with a host of missing features and options. When you consider that KDE is already at version 4.2 and extremely good, it's a mystery why |
|||
Kaffeine 4 development has lagged behind. Those interested in the DVB |
|||
features of Kaffeine may be alarmed to hear that the |
|||
the mature core DVB (i.e. not just GUI) code from Kaffeine 3 has been almost entirely dropped and is being ''rewritten'' by the new maintainer. |
|||
Why? Just expect pain. |
|||
Please do try it out and give feedback, give help and report bugs (http://bugs.kde.org). |
|||
Get KDE4.2 (e.g. from http://kubuntu.org) and do the following: |
|||
svn co svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/kaffeine |
|||
mkdir kaffeine-build |
|||
cd kaffeine-build |
|||
cmake ../kaffeine |
|||
make |
|||
./src/kaffeine4 |
|||
===KDE4 Version with OpenGL OSD=== |
|||
The authors claimed a while ago that they required new features in Phonon, 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. |
|||
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. |
|||
April 26 2009: Maintainership changed hands and a 1.0-pre1 preview |
|||
version was announced. See http://kaffeine.kde.org. |
|||
==Kaffeine version 2.0== |
|||
==KDE4 Version with OpenGL OSD== |
|||
In Jun, 2016, Mauro Carvalho Chehab [https://www.spinics.net/lists/linux-media/msg100902.html annonced Kaffeine port to KF5] and started maintaining Kaffeine version 2.0, based on KF5/Qt5, libVLC and libdvbv5. |
|||
Some work has been done on a better on-screen display (OSD) using OpenGL. |
|||
It is under development here http://websvn.kde.org/trunk/extragear/multimedia/kaffeinegl/. It looks |
|||
like this repo is for testing the interface rather than a full Kaffeine program. Hopefully the result |
|||
will be an improved OSD in Kaffeine4. Try it out and contribute: get KDE4 (e.g. http://kubuntu.org) and do the |
|||
following: |
|||
svn co svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/kaffeinegl |
|||
mkdir kaffeinegl-build |
|||
cd kaffeinegl-build |
|||
cmake ../kaffeinegl |
|||
make |
|||
./src/kaffeinegl |
|||
[[Category:Software|Apps & Utilities]] |
[[Category:Software|Apps & Utilities]] |
Latest revision as of 16:32, 24 February 2022
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.