Warning, /multimedia/kaffeine/README.md is written in an unsupported language. File is not indexed.
0001 Installing Kaffeine 0002 =================== 0003 0004 Installing Prerequisites 0005 ------------------------ 0006 0007 The following tools are needed to build Kaffeine: 0008 0009 * GNU c++ 0010 * GNU make 0011 * cmake >= 2.8 0012 * cmake ECM (extra-cmake-modules) 0013 0014 The following development headers are needed (recommended versions): 0015 0016 * Qt >= 5.4 0017 * KF5 >= 5.11 0018 * libX11 0019 * libXss 0020 * libqt-sql-sqlite 0021 * libvlc 0022 * libdvbv5 0023 0024 If you also want language translations you also need: 0025 0026 * gettext 0027 0028 If you also want the Kaffeine Handbook, you also need: 0029 0030 * KF5DocTools 0031 0032 For runtime translations of the ISO 639 language codes, you also need: 0033 0034 * iso-codes 0035 0036 Debian and Ubuntu 0037 ----------------- 0038 0039 The needed packages for Debian/Ubuntu should be installed with: 0040 0041 apt-get install kdelibs5-dev libvlc-dev libxss-dev vlc \ 0042 libkf5coreaddons-dev libkf5i18n-dev libqt5x11extras5-dev \ 0043 libkf5windowsystem-dev \ 0044 libkf5solid-dev libkf5widgetsaddons-dev kio-dev \ 0045 qt5-default libdvbv5-dev \ 0046 cmake extra-cmake-modules make g++ gettext 0047 0048 And, to build the optional Kaffeine Handbook documentation: 0049 0050 apt-get install kdoctools-dev 0051 0052 PS.: The above was tested with Debian SID and Ubuntu Xenial (16.04). 0053 Other versions may have different requirements. 0054 0055 Fedora 0056 ------ 0057 0058 On Fedora, you need a repository that provides VLC. 0059 0060 For stable fedora releases, you could use the rpmfusion repository. 0061 For Fedora 22 and later, it can be installed with: 0062 0063 sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm 0064 0065 See <http://rpmfusion.org/Configuration/> for more details. 0066 0067 For Fedora rawhide and beta releases, you could use, instead the 0068 Unitedrpms repository: <https://unitedrpms.github.io/>. Please read 0069 at <https://github.com/UnitedRPMs/unitedrpms.github.io/blob/master/README.md> 0070 for instructions about how to set up. 0071 0072 Once the repository with VLC is set, install the needed packages 0073 with: 0074 0075 dnf install kf5-kcoreaddons-devel libXScrnSaver-devel \ 0076 qt5-qtx11extras-devel libdvbv5 \ 0077 kf5-kwindowsystem-devel kf5-solid-devel kf5-kio-devel \ 0078 kf5-kdbusaddons-devel kf5-ki18n-devel vlc-devel gettext-devel \ 0079 cmake extra-cmake-modules make gcc-c++ gettext 0080 0081 And, to build the Kaffeine Handbook documentation: 0082 0083 dnf install kf5-kdoctools-devel 0084 0085 openSUSE 0086 -------- 0087 0088 If you run openSUSE Tumbleweed, you can find an up-to-date package with the 0089 latest state of git in the KDE:Unstable:Extra repository. 0090 0091 zypper ar obs://KDE:Unstable:Extra KDE_Unstable_Extra # add repository 0092 zypper in -r KDE_Unstable_Extra kaffeine 0093 0094 If you are using openSUSE Leap or openSUSE 13.2, you will need to compile from 0095 sources instead. You need to be using at least OpenSUSE version 13.2, in order to have 0096 KF5 and Qt 5.5 at their repositories. 0097 0098 The first step is to install the needed dependencies: 0099 0100 zypper install extra-cmake-modules vlc-devel make gcc gcc-g++ cmake \ 0101 libqt5-qtbase-devel libqt5-qtx11extras-devel \ 0102 kdbusaddons-devel solid-devel kio-devel ki18n-devel 0103 0104 If you're running OpenSUSE version 13.2, you'll need to compile the 0105 libdvbv5 by hand, as it is not provided there. OpenSUSE Leap 0106 (version 42.1) seem to have it already packaged as libdvbv5-devel. 0107 0108 Before compiling libdvbv5, some packages are needed: 0109 0110 zypper install autoconf automake libjpeg-devel 0111 0112 Compiling libdvbv5 (as normal user): 0113 0114 wget https://linuxtv.org/downloads/v4l-utils/v4l-utils-1.10.0.tar.bz2 0115 tar xvf v4l-utils-1.10.0.tar.bz2 0116 cd v4l-utils 0117 ./bootstrap.sh && ./configure && make 0118 0119 Installing the library (as root): 0120 0121 make install 0122 0123 And, to build the optional Kaffeine Handbook documentation: 0124 0125 zypper install kdoctools-devel 0126 0127 PS.: The above was tested with openSUSE 13.2. 0128 Other versions may have different requirements. 0129 0130 Gentoo 0131 ------ 0132 0133 Kaffeine is already packaged on Gentoo. Installing it is as 0134 simple as: 0135 0136 emerge kaffeine 0137 0138 Arch Linux 0139 ---------- 0140 0141 Kaffeine is already packaged on Arch Linux. Installing it is as 0142 simple as: 0143 0144 pacman -S kaffeine 0145 0146 How to build Kaffeine 0147 ===================== 0148 0149 Create an empty build directory and do the following steps: 0150 0151 $ cmake <path/to/kaffeine> <options> 0152 $ make 0153 0154 Where `path/to/kaffeine` is usually the current dir, e. g., the 0155 following command is usually enough: 0156 0157 $ cmake . && make 0158 0159 Useful `options` include: 0160 0161 * -DCMAKE_BUILD_TYPE=<type> (Debug or Release) 0162 * -DCMAKE_INSTALL_PREFIX=<path> (installation prefix for Kaffeine, e.g. /usr) 0163 * -DBUILD_TOOLS=1 (also compile some tools needed by developers) 0164 0165 You may also use `ccmake` if you want to see all Kaffeine's build 0166 options, and set them using an interactive interface. 0167 0168 For further information look for generic KF5 / cmake instructions. 0169 0170 The install should be done as root user with: 0171 0172 # make install 0173 0174 How to produce a Debian/Ubuntu package 0175 ====================================== 0176 0177 If you want to create a Debian or Ubuntu package from Kaffeine's sources, 0178 you need to install the needed tools with: 0179 0180 apt-get install fakeroot dpkg-dev pkg-kde-tools debhelper 0181 0182 And run the following commands: 0183 0184 rm -rf deb-build # Just in case it were created before 0185 0186 git clone https://salsa.debian.org/qt-kde-team/extras/kaffeine.git deb-build && \ 0187 cd deb-build && \ 0188 rsync -ua --exclude '.git*' --exclude deb-build .. . && \ 0189 rm CMakeCache.txt && \ 0190 cat Changelog |grep Version|head -1|perl -ne 'if (m/Version\s*(\S+)/) { print "kaffeine ($1-1) unstable; urgency=medium\n\n * New upstream release.\n" }' >debian/changelog && \ 0191 echo " -- root <root@localhost> $(date -R)" >>debian/changelog && \ 0192 fakeroot debian/rules binary && \ 0193 cd .. 0194 0195 This will produce both binary and debug packages, like: 0196 0197 kaffeine_*_amd64.deb kaffeine-dbgsym_*_amd64.ddeb 0198 0199 Installing it is as simple as: 0200 0201 sudo dpkg -i kaffeine_*_amd64.deb 0202 0203 Running Kaffeine from Docker 0204 ============================ 0205 0206 It is now possible to run kaffeine from Docker without installing it 0207 on your machine by using Docker. You need to have Docker already 0208 installed and configured. 0209 0210 Installing Docker 0211 ----------------- 0212 0213 The prodedures for installing Docker vary from Distribution. It usually 0214 involves using the distro package manager to install it from the 0215 usual repositories: 0216 0217 sudo dnf install docker # Fedora 0218 sudo apt install docker.io # Debian/Ubuntu 0219 sudo zypper install docker docker-compose # SUSE 0220 sudo emerge app-emulation/docker # Gentoo 0221 sudo pacman -S docker # Arch Linux 0222 0223 (some distros like Gentoo may require additional steps) 0224 0225 Then add the current user into a docker group, in order to allow 0226 itr to run the docker command without sudo: 0227 0228 sudo groupadd docker # if the docker group doesn't exist yet 0229 sudo gpasswd -a $USER docker 0230 newgrp docker # or close the session and re-open 0231 0232 Finally, ask systemd to enable dockerd at boot time and to (re)start it: 0233 0234 sudo systemctl enable docker 0235 sudo systemctl restart docker 0236 0237 In case of doubts, please seek at the Internet for a guide especific 0238 for the distro you're using. 0239 0240 Running Kaffeine's docker image 0241 ------------------------------- 0242 0243 Once you have docker installed, you can download the Kaffeine's 0244 Docker image from: 0245 0246 - <https://cloud.docker.com/u/maurochehab/repository/docker/maurochehab/kaffeine/general> 0247 0248 This can easily be done by running: 0249 0250 docker pull maurochehab/kaffeine 0251 0252 Note: docker pull will also update the image to the newest one, in 0253 case you have download it already. 0254 0255 The updated instructions about how to download and use the Docker 0256 image it will be pointed there. 0257 0258 Please notice that Docker works by running an image created from the 0259 Dockerfile packaged with Kaffeine. Such image is executed inside 0260 a container, so it needs permission to open files, sockets and 0261 devices from the host machine. 0262 0263 Getting the right mapping for volumes, groups and devices is tricky. 0264 So, we have a script that should hopefully do what it is expected 0265 (tested with Docker version 1.13): 0266 0267 ./kaffeine-docker.sh 0268 0269 There are some limitations when running Kaffeine via a docker 0270 container: 0271 0272 1) The container runs with a non-root user (user ID is 1000). This 0273 is a requirement, as libVlc refuses to run as root. The user ID 0274 1000 is usually the default for the first user on most modern 0275 distros. If your user is different, the container won't get the 0276 right permissions to read files from your home dir and will fail. 0277 So, if you use a different user ID, you may need to re-generate 0278 the container locally. 0279 0280 2) In order to avoid legal discussions, the docker image hosted at 0281 docker.io doesn't contain the packages that are needed for DVD 0282 navigation and for decrypt DVD streams. If you need such features, 0283 you need to add the packages `libdvdread4` and `libdvdnav` to 0284 the Dockerfile and re-generate the container locally. 0285 0286 3) As the device map happens before starting the container, 0287 Kaffeine's capability of auto-detecting device hot-plug won't 0288 work. 0289 0290 Generating the Kaffeine container locally 0291 ----------------------------------------- 0292 0293 Building a Kaffeine's container should be as easy as running this command: 0294 0295 docker build -t "mykaffeine" . 0296 0297 It should take a while for it to download the base image and the 0298 needed packages, before starting build the container. 0299 0300 When using a local container, you need to tell the script to use the 0301 new docker image you created. You do that by passing one parameeter to 0302 the `kernel-docker.sh` script with the name of the image you created, e. g.: 0303 0304 ./kaffeine-docker.sh "mykaffeine" 0305 0306 Known video output issues 0307 ========================= 0308 0309 There are a few known issues related to video output that may require 0310 some special setup for Kaffeine to work on certain environments. 0311 0312 Remote Access and Kaffeine 0313 -------------------------- 0314 0315 Accessing Kaffeine remotely via X11/ssh/vnc can be a problem, as Qt5 will 0316 try, by default, to use hardware acceleration and DRI3. 0317 0318 There is a known bug, present on Fedora 23 to 25, and likely on other distros, 0319 at mesa-libGL/dri-drivers that cause it to wait forever when it is started 0320 from a X11 section. Such bug causes Kaffeine windows to not open: 0321 0322 * <https://bugzilla.redhat.com/show_bug.cgi?id=1174257> 0323 0324 A workaround is to start Kaffeine with: 0325 0326 LIBGL_DRI3_DISABLE=1 kaffeine 0327 0328 Another solution is to use a vnc server. 0329 0330 Changing the libVLC output plugin 0331 --------------------------------- 0332 0333 By default, libVLC will try to use hardware acceleration on the machine with 0334 Kaffeine, with obviously with won't work via remote access. It may also not 0335 detect properly the best video output plugin for some hardware settings. 0336 0337 For such scenarios, you may try to change the arguments passed to libVLC via 0338 the `Settings` --> `Configure Kaffeine` --> `libVLC`, changing the libVLC 0339 arguments to: 0340 0341 --no-video-title-show -V xcb_glx 0342 0343 or: 0344 0345 --no-video-title-show -V xcb_xv 0346 0347 and re-start Kaffeine. 0348 0349 Setting VDPAU acceleration 0350 -------------------------- 0351 0352 By default, libVlc will try to use vdpau hardware acceleration in order to 0353 decode the video stream at GPU. However, sometimes it may not get the right 0354 acceleration module, trying to always use NVidia module, even when the 0355 hardware is AMD or Intel. That happens, for example on Fedora 25 and 26, as 0356 reported at: 0357 0358 * <https://bugzilla.redhat.com/show_bug.cgi?id=1305699> 0359 * <https://bugs.kde.org/show_bug.cgi?id=376893> 0360 0361 For Radeon GPU, the vdpau driver can be forced with: 0362 0363 export VDPAU_DRIVER=r600 0364 0365 The VA-GL driver can be used for Intel GPUs. It can be forced with: 0366 0367 export VDPAU_DRIVER=va_gl 0368 0369 Note: you may need to install mesa-vdpau-drivers and/or libvdpau-va-gl 0370 packages for vdpau to work. 0371 0372 Please notice that, depending on your hardware, for example, if your 0373 GPU vdpau driver can't decode the compression standard used by the 0374 broadcasters, it could be better to disable VDPAU backend. 0375 That can be done by passing an invalid driver name, like: 0376 0377 export VDPAU_DRIVER=none 0378 0379 Using xmltv for EPG data 0380 ======================== 0381 0382 As described at Kaffeine's documentation, xmltv files are now supported. 0383 0384 In order to use it, you need to have a xmltv grabber. For example, you 0385 may use the tv_grab_eu_dotmedia grabber, from xmltv project. 0386 0387 Kaffeine's internal logic will map the channels obtained by the grabber 0388 into the channel names it has stored internally. The Kaffeine names 0389 can be obtained with the following command: 0390 0391 $ echo 'select name from Channels;' | sqlite3 ~/.local/share/kaffeine/sqlite.db 0392 0393 At the xmltv file format, the channel names can be obtained with: 0394 0395 $ grep display-name some_file.xmltv 0396 0397 If the names don't match, you'll need to use an external script to do the 0398 map. There's an example about how to do it at: 0399 0400 tools/map_xmltv_channels.sh 0401 0402 Please notice that you need to have `xmlstarlet` installed for it to work. 0403 0404 Assuming that you modified the script for your needs and copied to your 0405 `~/bin` directory, a typical usage of obtaining the xmltv tables would be to 0406 have a script like this running on a shell console: 0407 0408 $ while :; do tv_grab_eu_dotmedia > eu_dotmedia.xmltv; \ 0409 ~/bin/map_xmltv_channels.sh eu_dotmedia.xmltv eu_dotmedia-new.xmltv; \ 0410 sleep 3600; done 0411 0412 And configure Kaffeine to use the `eu_dotmedia-new.xmltv` file produced by 0413 the script (or whatever other name you use), disabling EPG MPEG-TS table 0414 reads. 0415 0416 Please also notice that as soon as Kaffeine detects a change on a file, it 0417 will re-read. So, even if you don't need to do any map, you should 0418 first generate the xmltv file and then move it to the right place, e. g: 0419 0420 $ while :; do tv_grab_eu_dotmedia > eu_dotmedia.xmltv; \ 0421 mv eu_dotmedia.xmltv eu_dotmedia-new.xmltv; \ 0422 sleep 3600; done 0423 0424 For more details, please read Kaffeine's manual. 0425 0426 Homepage 0427 ======== 0428 0429 <https://www.kde.org/applications/multimedia/kaffeine/> 0430 0431 Authors 0432 ======= 0433 0434 Maintainer since KF5/Qt5 port (version 2.x): 0435 0436 * Mauro Carvalho Chehab <mchehab+samsung@kernel.org> 0437 0438 Former maintainers: 0439 0440 * Lasse Lindqvist <lasse.k.lindqvist@gmail.com> 0441 * Christoph Pfister 0442 * Christophe Thommeret 0443 * Jürgen Kofler 0444 0445 Thanks to various contributors, translators, testers ...