The Kaffeine Handbook

# The Kaffeine Handbook

Jürgen Kofler `<kaffeine@gmx.net>`

Christophe Thommeret `<hftom@free.fr>`

Mauro Carvalho Chehab `<mchehab+kde@kernel.org>`

Revision Kaffeine 2.0.17 (2019-05-01)

Copyright © 2004, 2016-2019 The Kaffeine Authors.

Legal Notice

Kaffeine is a Media Player by KDE.

Chapter 1. Kaffeine Player
Kaffeine Player

# Chapter 1. Kaffeine Player

## The Start Window

Like many other media players, Kaffeine supports a wide range of video and audio formats as well as playing audio and video from DVD and CD. Additionally, it supports live Digital TV playback if your machine has a Digital Video Broadcast (DVB) device plugged into it.

Once Kaffeine starts, it presents a screen with the main functions in the middle, and it’s possible to switch to other functions via either the menu bar or the left sidebar:

Play a File
Play a File

## Play a File

Playing a video or audio file is as simple as clicking on the Play File button. It will ask you to select the file to be played, and will begin playing it. Since Kaffeine uses LibVLC for the backend, it supports all the same file formats as VLC. It also supports opening a list of files to create and manage playlists.

The Playlist Window
The Playlist Window

## The Playlist Window

Kaffeine supports multiple playlists. Choose the active one with the Playlist selector in the left sidebar. You can easily drag some files or folders from the file browser and drop it on the playlist to enqueue or drop it on the player window to create a new playlist. To change a playlist name edit it and confirm with Return.

You can find all playlist related functions in the Playlist item from the menu bar and the context-menu (right-click on playlist).

Chapter 2. Digital TV Player
Digital TV Player

# Chapter 2. Digital TV Player

## Digital TV configuration

While the basic functionality is useful enough for someone who wants a simple, yet powerful media player, the best feature in Kaffeine is to use it as a GUI frontend to watch and record digital TV.

Since Kaffeine version 2.0, the digital TV support uses libdvbv5 and was extended to support new standards like DVB-T2 and ISDB-T. Extending its support for newer digital TV standards is now simpler. Also, since it uses the Linux® DVB version 5 API, it supports frontends capable of implementing multiple digital TV standards.

Setting the TV configuration on Kaffeine is as simple as open the Television item from the menu bar and select the Configure Television... option. A pop up window will open, allowing setting the parameters to be used:

### General digital TV settings

The General Options menu allows setting the device-independent settings.

The Recording folder sets the location where all TV program records will be stored.

The xmltv file name (optional) specifies a file name with EPG data that was retrieved via an external grabber. When this option is used, you'll likely set Disable parsing Electronic Program Guide (EPG) data from MPEG-TS tables

The Disable parsing EPG data from MPEG-TS tables disables the Electronic Program Guide (EPG) data to be retrieved from the broadcasted signal. Use it in order to save some CPU time, if your broadcaster doesn't send reliable EPG data.

The Time shift folder is used in conjunction with the pause button () of the media player screen. When the button is pressed, a time shift file will be stored at the location pointed by this menu option.

The Begin margin and End margin options are used to setup a sort of “security margin” in order to avoid losing the beginning and the end of a program, as the time stamps at the program guide may not be precise. So, it actually starts recording a few minutes before the Start time defined in the Program Guide. The exact amount of time before is defined via Begin margin. Kaffeine extends the record by the amount of time defined by End margin after the end of the program.

The Naming style for recordings option is used to setup how Kaffeine will name a program. Several macros can be used to dynamically change the name of the record:

- `%title` - Title of the program, as seen at the Program Guide and Recording Schedule menus;

- `%day, %month, %year, %hour, %min, %sec` - Fields from the time stamp with represents the time when Kaffeine starts recording a program;

- `%channel` - Name of the channel that streamed the program.

The Action after recording finishes option is used to setup an optional command to be executed when Kaffeine stops recording a program.

Clicking at the Update Scan Data over Internet option makes Kaffeine to check if a new channel scanning definition file is present at KDE's site.

Kaffeine uses a file called scanfile.dvb to store a list of known digital TV channels per Country and City. This file is kept in sync with the contents of the dtv-scan-tables tree, maintained by LinuxTV community. For more details, please see the dtv-scan-tables wiki page.

When the button is clicked, Kaffeine will download the latest version of the channel definitions and store on a user-specific local data file, overriding any contents of a previous one.

Please notice that, in order to use the newest definitions, it is required to close the TV configuration dialog and reopen.

The Edit scanfile option allows editing the file, which can be useful to add a new set of channels, while the upstream file is not updated. If you need to use it, please consider sending an update to dtv-scan-tables for others to also benefit from the new channel definitions.

The Use ISO 8859-1 charset instead of ISO 6937 option allows selecting the default to be used on MPEG-TS messages that don't explicitly set a charset. If not set, it defaults to using ISO-6937 encoding. If set, the default changes to ISO 8859-1.

The Create info files to accompany EPG recordings option enables the creation of ancillary files for scheduled records with the contents of the program guide for records made via the Program guide.

#### Electronic Program Guide (EPG) data retrieval

Most digital TV broadcasters send program information via the broadcast information, encoded on a MPEG-TS stream. However, some of them use non-standard encodings for those data. As an example, at the United Kingdom, HD programs EPG data are usually stored using some a proprietary format. Other providers just don't fill the EPG data, or the information there is not reliable.

Since Kaffeine 2.0.17, it is possible to disable parsing the EPG data from the broadcasted channels, using an external program to retrieve them. In order to disable, just set the Disable parsing Electronic Program Guide (EPG) data from MPEG-TS tables box. You can now set an external parser to produce a file with EPG data, and use the xmltv file name (optional) to specify the file name of the produced file. The produced file should use the XMLTV format, as described on its DTD. See XMLTV File format for more information.

When Kaffeine is set to use an XMLTV file, it will automatically detect any file changes on it. When a change happens, it will open the file and parse its contents, updating EPG data accordingly.

It should be noticed that the XMLTV file has a table with associates its own internal representation for channels with the expected channel name at the digital TV broadcasted data. Kaffeine will only retrieve the EPG data if the channels there match the ones inside Kaffeine's channel list. So, you need to ensure that the channels there matches what Kaffeine expects. If it doesn't match, you could use a command line XML editor program in order to add the missing channel information.

For example, if you have a xmltv grabber program retrieving the file named original_xmltv_file.xmltv, you could use the xmlstarlet program to add missing associations. So, if you want to associate the XMLTV channel named as channel.foo.uk with a channel whose Kaffeine name is FOO, you could run this small script:

    channel="xmltv.channel.pt"
    name="DVB_CHANNEL"
    xmlstarlet ed \
    	-s "tv/channel[@id='$channel']" -t elem -n display-name \
    	-v "$name" original_xmltv_file.xmltv > new_xmltv_file.xmltv
    mv new_xmltv_file.xmltv /tmp/new_xmltv_file.xmltv

Then, set Kaffeine to use the new /tmp/new_xmltv_file.xmltv file.

### Configuring digital TV sources

The Device tabs have the per-device setup. Usually selecting the country and the city in the Source combo box (or using one of the Autoscan sources) is enough for non-satellite configurations. The same happens for devices that support multiple TV standards. On those devices, you need to setup the Source for each TV standard:

The Tuner timeout specifies the amount of time the channel scan will wait to get a signal lock. Usually, the default is enough for most devices, but if the device is too slow to lock, such value can be increased.

The Name specifies the name associated with source that will appear selecting Television item from the menubar and Channels option, for settings panel.

#### Satellite devices

The configuration for satellite devices (DVB-S, DVB-S2) are more complex, as there are different satellite system arrangements that are possible. Also, on satellite systems, it is usually up to the device to power up an amplifier located at the satellite dish - called LNBf - via a DC voltage.

Also, as satellite systems use a wide bandwidth and accept signals using different polarities, it is common to use a protocol - called DiSEqC - in order to select a range of channels to be received.

The first step is to teach Kaffeine about the satellite configuration via the Configuration combo box:

The following values are possible:

- `DiSEqC Switch` - The antenna cable is connected to a DiSEqC switch or the LNBf requires DiSEqC commands to select a range of channels. This is the most common setting. It allows having up to 4 satellites connected at the same time, each with its own dish. For each satellite, you need to set the configuration for the LNBf at the dish pointing to it.

- `USALS Rotor` - The antenna cable is connected to a single dish with a USALS Rotor, controlled via DiSEqC. Multiple satellites can be configured, as the rotor will change the dish position when a different satellite is chosen. You need to specify the position of the dish (latitude, longitude).

- `Positions Rotor` - The antenna cable is connected to a single dish with a Rotor with a set of fixed positions, controlled via DiSEqC. Multiple satellites can be configured, as the rotor will change the dish position when a different satellite is chosen.

- `Disable DiSEqC` - The antenna cable is connected to a dish without any elements supporting DiSEqC. This setup is typically used with multipoint bandstacked LNBf, where all channels are present at the same time at the antenna cabling.

On a typical satellite system, the LNBf uses the power up voltage to select between a lower voltage (13V) for vertical or circular right polarization and a higher voltage (18V) for horizontal or circular left polarization. However, due to cabling loss, sometimes the LNBf doesn't understand the high voltage and several channels won't tune or will tune wrong. So, a few devices offer an option to increase the voltage to a higher setting (14V or 19V). This is enabled via the tri-state Use Higher LNBf voltage option. Three values are possible:

- `tri-state` - Don't send a command to the device to adjust the voltage level. That's the default.

- `unselected` - Use normal values (13V/18V) for the DC voltage. Only select it if the device supports adjusting the level.

- `selected` - Use higher values (14V/19V) for the DC voltage. Only select it if the device supports adjusting the level.

#### Configurations without a rotor

When either `DiSEqC Switch` or `Disable DiSEqC` options are used, the first step is to set the satellite that will be used as a signal source, via a combo box on the right. With a DiSEqC switch, it is possible to select up to 4 sources. Each with its own LNBf. After setting the source(s), for each source, click at the corresponding LNBf Settings button to open a popup window to select the LNBf type inside the dish that corresponds to the source:

#### Rotor configurations

When a rotor is used, there is just one LNBf which is shared with multiple satellites. So, the next step is to select the LNBf type via the LNB Settings dialog.

For USALS rotor, the positioning is done via satellite position (latitude, longitude). So, just select the satellites that will be used via a combo box and click at the Add Satellite button.

For positions rotor, the positioning is done via a preconfigured position number. So, just select the satellite position at the number dialog on the left and the satellite via a combo box on the right and click at the Add Satellite button.

If a satellite was added by mistake, you can select the satellite and click at the Remove Satellite button to remove it.

### Digital TV channel setup

After clicking on the OK button, the next step is to scan for the digital channels, using the Television item from the menubar and select Channels option, for settings panel:

If more then one standard is supported, the Source combo box will allow you to select the one that will be used to scan. Don't forget to connect the device's antenna cable to match the standard that will be used.

When Kaffeine identifies a channel, it reads a MPEG-TS table called Network Information Table (NIT), which contains information about channels using different tuning parameters transmitted by the same broadcaster. On certain networks, it is possible that some tuning parameters to be stored on several NIT tables (called “other NITs”). This is more common on some cable and satellite systems. By selecting Search transponders for other Networks, Kaffeine is instructed to wait and parse all other NITs, which may make it to find more channels, at the cost of taking a lot more time to complete the channel scan operation.

The channel scan operation is started by clicking on Start Scan. Once finished, the discovered channels will appear on the right. These channels can be copied to the left side by clicking Add Filtered. It is possible to check the tuning parameters for the channel in the left side by clicking on the Edit button. Some parameters are adjustable in the window that pops up.

Once the channels are saved, watching TV is as simple as clicking on the Digital TV button in the main window:

Watching TV
Watching TV

## Watching TV

Kaffeine also allows you to click on the button to pause it. With this action, Kaffeine will record the program and once the button is pressed it will start the program from the point it was paused, this is known as time shifting. There is also a button that allows you to quick record and save the program to disk.

Program Guide
Program Guide

## Program Guide

Digital TV channels usually transmit a list of the current and future attractions. This is called Electronic Program Guide - EPG. The EPG data is captured when a channel's content is played. To see the EPG, open the Television item from the menubar and select the Program Guide option:

On some Countries, the EPG may be available in multiple languages. By default, Kaffeine shows any languages on EPG. If multiple languages are available for a given EPG entry, and no explicit language content is select, it will prefix the title, subtitle and description data with a 3 letter language code, as defined by ISO 639-2 specification.

The EPG Language option allows filtering just one language. If enabled, the filter will also be applied to the On Screen Display - OSD and to any new scheduled recordings. It won't affect pre-existing scheduled recordings.

Besides clicking on the record button when the live view is opened, Kaffeine also allows recording a program via the program guide, by clicking on the Record Show at the Program Guide window.

Recording Schedule
Recording Schedule

## Recording Schedule

To see the programs that are scheduled to be recorded, open the Television item from the menubar and select the Recording Schedule option:

By clicking one the New button, it is possible to directly define a time and duration for a program to be recorded. In this case, it won't use the EPG definitions.

By selecting an existing program and clicking on the Edit button, you may change the start time and the record duration. You may also program it to be recorded weekly or daily.

By selecting an existing program and clicking on the Remove button, it will remove the program from the recording schedule.

Chapter 3. The Kaffeine menubar
The Kaffeine menubar

# Chapter 3. The Kaffeine menubar

## The File Menu

File → Open... (Ctrl+O)

  Opens the file dialog and allows you to select a local file to play.

File → Open URL... (Ctrl+U)

  Open a dialog for text input, so you can enter the URL of a supported external media stream.

File → Open Recent

  Offers a drop-down list to open a local recent resource. It has an Clear List option to clear that list.

File → Play Audio CD

  Select the playback of an Audio CD that should already be in the reading drive.

File → Play Video CD

  Select the playback of a Video CD that should already be in the reading drive.

File → Play DVD

  Select the playback of a DVD that should already be in the reading drive.

File → Play DVD Folder

  Opens the file dialog and allows you to select a DVD folder to play. This folder contains the raw data found on the DVD.

File → Quit (Ctrl+Q)

  Quits Kaffeine.

The Playback Menu
The Playback Menu

## The Playback Menu

Playback → Previous (PgUp)

  If you playback two streams or more in one session, will select the previous one.

Playback → Play/Pause (Space)

  and icons. With a check box for play a stream or pause what you are watching. On a television's stream will proceed to record it, this is known as time shifting.

Playback → Stop (Backspace)

  Stop a stream what you are watching.

Playback → Next (PgDn)

  If you playback two streams or more in one session and you are watching the previous one, will select the next one.

Playback → Full Screen Mode/Exit Full Screen Mode (F)

  and icons. Switch the full screen mode.

Playback → Minimal Mode/Exit Minimal Mode (.)

  and icons. Switch the minimal mode. A GUI mode in a window, where we only have contextual menu and keyboard shortcuts.

Playback → Subtitle

  Offers a drop-down list with options related to the subtitle stream(s).

  Playback → Subtitle → off/`Name-of-subtitle`

    Select the available subtitle from this drop-down list. These subtitles channels will vary depending on the content of the source stream.

  Playback → Subtitle → Add subtitle file

    This option is for add a local subtitle file through a file dialog.

Playback → Audio

  Offers a drop-down list with options related to the audio stream(s).

  Playback → Audio → Audio Device

    Offers a drop-down list shows the available audio devices. Only available if more than one audio device was detected when Kaffeine was started.

  Playback → Audio → Increase Volume

    Raise the audio volume. The volume can also be raised by positioning the mouse over the media player region and scrolling the mouse wheel up.

  Playback → Audio → Decrease Volume

    Lower the audio volume. The volume can also be decreased by positioning the mouse over the media player region and scrolling the mouse wheel down.

  Playback → Audio → Mute Volume

    and icons. Silence the audio volume and return it.

Playback → Video

  Offers a drop-down list with options related to the video stream(s).

  Playback → Video → Deinterlace

    Offers a drop-down list with available de-interlacing algorithms. Is the process of converting interlaced video, such as common analog television signals and more. See Wikipedia article for more details.

  Playback → Video → Aspect Ratio

    Offers a drop-down list with available aspect ratios, more an Automatic option. The aspect ratio of an image describes the proportional relationship between its width and height.

  Playback → Video → Video size

    Offers a drop-down list with available video sizes. Change the size of the image by a percentage, more Automatic and Original Size options.

Playback → Jump to Position (Ctrl+J)

  Offers a spin box for setting the desired time point to which you want to go; with hours, minutes and seconds.

Playback → Skip

  Offers a drop-down list with four predefined jump times. With the following options:

  Playback → Skip → Skip 60s Backward (Shift+Left)

    It goes 60 seconds back.

  Playback → Skip → Skip 15s Backward (Left)

    It goes 15 seconds back.

  Playback → Skip → Skip 15s Forward (Right)

    It goes 15 seconds forward.

  Playback → Skip → Skip 60s Forward (Shift+Right)

    It goes 60 seconds forward.

Playback → DVD Menu

  Start with the original DVD graphic menu. That is explored using the cursor keys and the mouse. See Wikipedia article for more details.

Playback → Title

  The DVD content is divided into titles to easy navigation. From here you can go directly.

Playback → Chapter

  The DVD content is divided into chapters to easy navigation. From here you can go directly.

Playback → Angle

  A variant of the chapters: it is possible that they have included several versions (called “angles”) of certain scenes. From here you can go directly.

The Playlist Menu
The Playlist Menu

## The Playlist Menu

Playlist → Repeat

  A check box to replay in a loop the file(s) that are in the playlist.

Playlist → Random

  A check box to replay randomly the files that are in the playlist until all of them have been played.

Playlist → Clear

  Erase all entries in the playlist.

Playlist → New

  Create a new playlist.

Playlist → Rename

  Rename the current playlist.

Playlist → Remove

  Remove the current playlist.

Playlist → Save (Ctrl+S)

  Save the current playlist.

Playlist → Save As... (Ctrl+Shift+S)

  Save the current playlist with a new name.

The Television Menu
The Television Menu

## The Television Menu

Television → Channels (C)

  A settings panel will appear for set the channels corresponding to your area. See Digital TV channel setup section for more details.

Television → Program Guide (G)

  A window will appear for manage the program guide. See Program Guide section for more details.

Television → OSD (O)

  Show the on screen display infobox on the playback window during three seconds with program guide information on the current and next program. Double-clicking on it to see extended information about the current program, and then click again to remove this infobox. See Wikipedia article for more details.

Television → Recording Schedule (R)

  A window will appear for manage the recording(s) scheduled. See Recording Schedule section for more details.

Television → Instant Record

  With a check box to verify your selection. Start instantly recording of the stream that is being played.

Television → Configure Television...

  A window will appear for setting the parameters that manage the DVB device(s). See Digital TV configuration section for more details.

The Settings Menu
The Settings Menu

## The Settings Menu

In order to simplify the use of the Kaffeine, this menu only contains two menu items:

Settings → Configure Shortcuts...

  Allows you to enable, disable, and modify keyboard shortcuts. For more information, see the section called “Using and Customizing Shortcuts”.

Settings → Configure Kaffeine...

  Opens the configuration panel.

The Help Menu
The Help Menu

## The Help Menu

Kaffeine has the common KDE Help menu items, for more information read the sections about the Help Menu of the KDE Fundamentals.

Chapter 4. Copyright and License
Copyright and License

# Chapter 4. Copyright and License

Program copyright 2007-2018, The Kaffeine Authors.

Documentation copyright 2003-2005, Jürgen Kofler `(kaffeine AT gmx.net)`, Christophe Thommeret `(hftom AT free.fr)`, Mauro Carvalho Chehab `(mchehab+kde AT kernel.org)`

This documentation is licensed under the terms of the GNU Free Documentation License.

This program is licensed under the terms of the GNU General Public License.