Kaffeine: Difference between revisions

From LinuxTVWiki
Jump to navigation Jump to search
 
(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 GUI is based on [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 video/audio play backend, and it interfaces with TV devices via [https://linuxtv.org/docs/libdvbv5/ libdvbv5].
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 &gt;= 2.8
* cmake ECM (extra-cmake-modules)


The following development headers are needed (recommended versions):
C) hit "Configure Television" option icon


* Qt &gt;= 5.4
[https://mchehab.fedorapeople.org/kaffeine_screenshots/kaffeine_configure_tv_general_options.png Configure Television screen]
* KF5 &gt;= 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 &amp;&amp; ./configure &amp;&amp; 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 .. &amp;&amp; kaffeine/tools/update_l10n.sh)

= How to build Kaffeine =

Create an empty build directory and do the following steps:

<pre># cmake &lt;path/to/kaffeine/source/directory&gt; &lt;options&gt;
# 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 &quot;Settings&quot; --&gt; &quot;Configure Kaffeine&quot; --&gt; &quot;libVLC&quot;, 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 [Dvbv5-scan dvbv5-scan] or [W_scan w_scan] to generate a new file (in the latter case, converted to the proper format using [Dvb-format-convert dvb-format-convert]), and submit it to [mailto:linux-media@vger.kernel.org linux-media@vger.kernel.org], with the subject:
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”.
[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 old versions=
=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

Kaffeine initial screen

B) choose "Digital TV" in the Start Menu

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

Configure Television screen

D) Click on the appropriate "Device" tab ... if you only have one DVB device installed, it should be "Device 1"

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

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

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:

Maintainer:

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 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.