As some of you might have read in Mark Kretschmann’s blog, we now have a fairly good phonon-vlc backend that already works better in many ways than other available backends. It is still in alpha stage, but we would love to have testers give it a try.
The instructions below are for a Kubuntu or Debian system, I did the installation on the latest Kubuntu 10.04 beta checkout as of Saturday, April 4th. I will give some additional commands for other distributions where those are needed.
DISCLAIMER: Please do not install this backend if you are not comfortable with alpha code and willing to test and report bugs. We currently do not give support for it. We also strongly suggest you test this with Amarok from git, since there were quite some changes applied to the Amarok code, too. See also the KDE git tutorial for those not familiar with it.
UPDATES: I changed the VLC installation instructions to make sure you install the 1.1 version instead of the git master branch which is the development version.
UPDATE 2: July 4th 2010: The VLC information is updated to reflect that all distros now ship VLC 1.1 (if they don’t, talk to them, they really should, it is much better and fixes a lot of bugs.
UPDATE 3: September 20th 2010: Development is quite fast paced for both VLC and the VLC backend, so there have been some updates: VLC 1.1.4 is now a requirement and there is an addition to the Cmake command for the VLC backend, to make sure it uses a stable phonon version: erase CMakeCache.txt in the build folder and run Cmake again, with the modifications below.
UPDATE 4: November 30th 2010: Updated the git checkout for VLC.
UPDATE 5: December 21st 2010: Phonon has moved the source repository to git now. Updated the git checkout for phonon-vlc.
UPDATE 6: January 7th 2010: You now need a newer Phonon build, updated the blog accordingly.
UPDATE 7: February 5th 2011: Please only use anongit to pull, see sections 2 and 3.
I assume you have the environment variables set as suggested in part 3 of the above mentioned HowTo for Amarok from git. We still need to add some more lines to make sure we get a proper debug output for the phonon-vlc backend:
Add the following lines to your $HOME/.bashrc:
export PHONON_VLC_DEBUG=3
export PHONON_DEBUG=1
1. Install the VLC 1.1 stable branch
Most distributions currently ship VLC 1.1.4, but for those who happen to run an earlier one it is still necessary to compile yourself, see the instructions below:
You can find the source code here: http://git.videolan.org/vlc. I use a system-wide installation, but the careful amongst you can do a local installation. The steps are the following:
use a local vlc directory, I use $HOME/kde/src/
git clone git://git.videolan.org/vlc/vlc-1.1.git
cd vlc
This will get you the latest stable branch, including all the latest fixes.
Now I am somewhat lazy, so I used the very handy build-dep command to find all the necessary dependencies for VLC. You can do this by activating the source repositories in your /etc/apt/sources.list, then type the following command:
sudo apt-get build-dep vlc
For OpenSuSE users, this would be:
sudo zypper si -d vlc
This will bring in almost all necessary dependencies, but the following did not show up, so I had to install those afterwards:
To build VLC, you will also need the following packages:
OK, lets build it then:
./bootstrap
./configure --prefix=/usr
don’t forget to change this prefix for a local installation, and of course do not run make install with sudo rights below.
make -j3 && sudo make install
There you are, you have a brand new VLC! For those using a local installation, don’t forget to remove the distro packages to avoid any conflicts.
2. Build a newer Phonon
Some dependencies changed in the new backend version and we want to have a newer Phonon build than 4.4.3 which is currently shipped by most distributions in KDE 4.6, Let’s start with that before we can build the backend.
Phonon is now located on git.kde.org.
git clone git://anongit.kde.org/phonon
cd phonon
mkdir build
cd build
I did a system-wide installation to override the default Phonon delivered with KDE. Here comes the cmake command:
cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=debugfull $HOME/kde/src/phonon
All in one line, of course. The command
sudo make install
will build it and you have a new Phonon on your system
3. Build the phonon-vlc backend
The current code is located on git.kde.org. Keep in mind that this is still very much work in progress, so there will be changes to the code almost daily.
Again, use a new repository for this code, I suggest $HOME/kde/src/ as usual:
git clone git://anongit.kde.org/phonon-vlc
cd phonon-vlc
mkdir build
cd build
Everything is read to build now:
cmake -DCMAKE_INSTALL_PREFIX=$HOME/kde/ \-DCMAKE_INCLUDE_PATH=$HOME/kde/include/ \
-DCMAKE_LIBRARY_PATH=$HOME/kde/lib/ \
-DCMAKE_BUILD_TYPE=debugfull \
-DPHONON_VLC_NO_EXPERIMENTAL=true $HOME/kde/src/phonon-vlc/
all in one line, of course, don’t forget to change the -DCMAKE_INSTALL_PREFIX for a non local installation.
make -j3 && make install
the same warning applies for a non local build, do use sudo make install
We are almost there, now let’s activate this backend:
kbuildsycoca4 --noincremental
And now you can change your backend in the System Settings -> Multimedia -> Backend tab. Start Amarok and enjoy
Please help us improve this backend and report any bugs you might find here: http://bugs.kde.org/enter_bug.cgi?product=phonon, component “VLC backend”. Keep in mind that this is still work in progress, so make sure your bug report is really against the latest version. For those willing to give a hand and/or submit patches, please meet us in #phonon on irc.freenode.net or make a merge request for your patch.



Why so complicated? Just create a Build Service repo.
@Markus: Erm, and that would work for all distros and operating systems? Yeah right…
Checked both posts, both don’t say *why* it works better (well, the linked one refers to it working better than xine only).
Why? Because it’s made of Pure Awesome (TM).
More seriously: I think my blog explained this pretty well. Also check some of the comments, they explain some further things.
My experience shows it works better than the xine backend in the following:
- the sound is much louder. For some obscure reason the xine backend caused the sound volume to be cut down. We have not been aware of this before we actually tested this backend.
- the stereo distribution is much, much better. Test it, you will see
There are many more enhancements, of course also some “drawbacks” like there is no equalizer for the moment, but remember, this is alpha software and we are working on it
>- the sound is much louder. For some obscure reason the xine backend caused the sound volume to be cut down
That might be because Xine supports ReplayGain (although I have no idea wether VLC supports it, so it’s just a guess).
We wondered about this too, but as far as I can tell this is unrelated to ReplayGain.
Even without ReplayGain, xine is (far) less loud, and also doesn’t sound as crisp as VLC does.
Working like a charm, nice work!
Hmm..odd. Compile && make went fine, files are there, kbuildsycoca run, but I can’t select the backend in System Settings, it simply isn’t there.
I have the sneaking suspicion there is something to have gone wrong at VLC compile. My libvlc.so is but 90,0 KiB of size – would this not need to be quite bigger? How big is yours?
Please note that there was a typo in the blog, which Myriam has just fixed. It said one should install into “$HOME/usr”, which was wrong.
That might be related to your problems, or not
Well the problem was more that I installed phonon-vlc in /usr, which put the files in
“/usr/local/share/kde4/services/phononbackends” and
“/usr/local/lib/kde4/plugins/phonon_backend/” respectively, where kbuildsycoca could not find them.
I put them into
“/usr/share/kde4/services/phononbackends” and “/usr/lib/kde4/plugins/phonon_backend/”, reran kbuildsycoca and all is nice now
Nevermind. Works now..Awesome
I installed this yesterday and it works without a hitch. I was pretty surprised, actually, like, how can you tell it’s really using VLC?
The only issue I had is when I first selected VLC as backend, Amarok popped up a dialog saying “could not load plugin ‘VLC’ for application Amarok” or somesuch and it didn’t work, but after I restarted Amarok everything was fine. (For the record, this might also be an improvement; in the past when I switched backends Amarok sometimes responded by crashing.)
Yes, the crash when switching backends is a known issue, we’ll try to fix that.
PS: Phonon-Xine can’t handle this either. It doesn’t crash, but won’t play anything…
Why do you people only talk about xine backend and th vlc???
And what about the gstreamer backend? Is it good or is it evolving?
And about mplayer backend? No news. Is it planned at all?
Sorry but if the future is vlc than goodbye kde, i really don’t like vlc altough i love mplayer.. weird hein? xD
sorry. your irrational fear of high quality open source cross-platform frameworks in lieu of mostly linux-only gstreamer does not make sense. (likewise with mplayer–it’s not even a library!)
Pingback: uberVU - social comments
I am very interested in trying phonon-vlc, so this post came just at the right time. Thank you!
Thanks for the Blogpost. I have to agree: It works like a charm. Playback is much smoother, more “crispy” as you put it and transition from one track to the next in Amarok is also much better, nice work!
Building on Archlinux is even more straightforward: Just install vlc-git and phonon-vlc-git from Arch User Repository, put the two lines in the .bashrc and run kbuildsycoca4: Done
You are right! The links for the Arch Linux User Repository:
vlc-git: http://aur.archlinux.org/packages.php?ID=16084
phonon-vlc-git: http://aur.archlinux.org/packages.php?ID=36015
The build process is failing here on Fedora 12. Any one a good idea, what might be the reason for it?
Output:
http://fpaste.org/QqXw/
Here does currently a KDE 4.4.1, VLC is 1.0.5.
VLC is 1.0.5. → Won’t work, phonon-vlc needs 1.1.0.
Hello,
it’s nice to have a vlc backend which is enough stable to use, great jobs and thanks for it!
I have a question, is there a plan to write a QGraphicsItem for the video output ?
Regards.
I think that is something you should ask the Phonon developers. You can find them in #phonon on irc.freenode.net
grazie, funziona alla grande molto meglio di xine
Ti prego! Vado subito dire agli altri della Phonon che hanno svilupato il backend che ti piace
Hey. I build Amarok from source following Mark’s info. That’s all fine.
Built vlc but then no luck with phonon-vlc- it could not find libvlc!
Tried to use cmake gui to point to libvlc as listed by locate command but no luck.
Guess I don’t understand how to change the prefixes properly! I wanna do just local installation like amarok to avoid borking my system!
he he. Chromium says fsfe certificate’s not trusted!
I personally used this line for building it (adjust the paths as needed):
cmake -DCMAKE_INSTALL_PREFIX=”/home/mark/kde/” -DCMAKE_INCLUDE_PATH=”/home/mark/kde/include/” -DCMAKE_LIBRARY_PATH=”/home/mark/kde/lib/” /home/mark/kde/src/vlc/bindings/phonon-vlc/
PS: Also remember that you have to delete CMakeCache.txt after doing any changes.
Well, if you follow the above instructions you will make a local installation. Did you follow the Amarok HowTo I mention at the start? I guess you have some environment variable not set correctly. Read again
As for the certificate, it is self-signed by the FSFE and not by a commercial entity, hence not recognized by Chromium. This happens for all websites that use other certificates than the commercial ones. Blame Chromium
cmake -DCMAKE_INSTALL_PREFIX=”$HOME/kde/” -DCMAKE_INCLUDE_PATH=”$HOME/kde/include/” -DCMAKE_LIBRARY_PATH=”$HOME/kde/lib/” -DCMAKE_BUILD_TYPE=debugfull $HOME/kde/src/phonon-vlc/
built all 3 programs from scratch and the sound rocks (loudly!) (never mind the equaliser!)
Somehow, cmake treated each ” as a directory e.g /”/home/kde/”/
So I changed it to exact path for my home dir. Thanks for help
Myriam, everything worked correctly for me except the quote marks in the cmake command. They are ” (fancy quotes) instead of ” (plain quotes). I ended up with the crazy path /home/valorie/kde/src/phonon-vlc/build/”/home/valorie/kde/”/lib/kde4/plugins/phonon_backend/ the first time, because of that!
Doesn’t work for me. VLC, Amarok & Phonon-VLC from Git all build and install just fine. The VLC Backend is also listed in systemsettings after the install. However, everytime I start amarok, or if I hover a media file in Dolphin, or if KNotify tries to play a sound, I get the message: “Unable to use the VLC Multimedia Backend: Could not find plugin ‘VLC’ for application ‘knotify’”. Or amarok, or Dolphin respectively.
Paths look fine, though:
gemuend@lithium:~> echo $KDEDIR
/home/gemuend/kde4
gemuend@lithium:~> echo $KDEDIRS
/home/gemuend/kde4
gemuend@lithium:~> ls /home/gemuend/kde4/lib/kde4/plugins/phonon_backend/
phonon_vlc.so
gemuend@lithium:~> echo $PATH
/home/gemuend/kde4/bin:/usr/lib/ccache:/usr/lib64/mpi/gcc/openmpi/bin:/home/gemuend/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/X11R6/bin:/usr/games:/opt/kde3/bin:/usr/lib/mit/bin:/usr/lib/mit/sbin:.
That’s pretty slick. Works fine here but haven’t tried it with amarok-git. Stereo separation seems wider and the sound levels seem higher than with the xine plugin.
There were some of these warnings during the make;
/usr/src/phonon-vlc/vlc/vlcmediaobject.cpp:264: warning: ‘int libvlc_video_get_width(libvlc_media_player_t*)’ is deprecated (declared at /usr/include/vlc/libvlc_media_player.h:608)
/usr/src/phonon-vlc/vlc/vlcmediaobject.cpp:264: warning: ‘int libvlc_video_get_width(libvlc_media_player_t*)’ is deprecated (declared at /usr/include/vlc/libvlc_media_player.h:608)
/usr/src/phonon-vlc/vlc/vlcmediaobject.cpp:267: warning: ‘int libvlc_video_get_height(libvlc_media_player_t*)’ is deprecated (declared at /usr/include/vlc/libvlc_media_player.h:598)
/usr/src/phonon-vlc/vlc/vlcmediaobject.cpp:267: warning: ‘int libvlc_video_get_height(libvlc_media_player_t*)’ is deprecated (declared at /usr/include/vlc/libvlc_media_player.h:598)
Compiler warnings are what they are: just warnings, not errors. You can safely ignore those, they are only relevant to developers, and only to a certain extend.
Yes I am aware they are just warnings. Just pointing out the use of a deprecated header.
As this how to is tested on Kubuntu, could you make a PPA for vlc-git and phonon-vlc-git?
This wouldn’t make much sense, since the vlc-backend is alpha software, and testers need to update frequently (at least daily with the current work rhythm of the developers, sometimes even more frequently). Knowing that the build servers are currently under a quite heavy load, since there is a planned release at the end of the month, this would simply not be fast enough for updates.
Keep in mind that my instructions are by no means targeted at common users but towards testers who are comfortable with unstable software testing. Once you have installed it, you only make incremental builds anyway, and that is much faster than waiting for a PPA build-server to have new code.
Instructions for Gentoo based on vlc-9999 and the git version of phonon-vlc: http://www.cyberwizzard.nl/site/how-tos/161-new-phonon-vlc-backend-for-kde-4.html
Thanks for sharing
by testing the simpleplayer from sandsmark i get an error
symbol lookup error: /usr/local/lib/kde4/plugins/phonon_backend/phonon_vlc.so: undefined symbol: _ZN6Phonon12PulseSupport6enableEb
whats wrong?
Please do not address this to my blog, I do not intend to use it as a support media for building problems
Please ask in #phonon on irc.freenode.net or make a bug report as mentioned above.
The “git checkout -b 1.1 –track origin/1.1.0-bugfix” doesn’t work for me, git always complains:
“fatal: git checkout: updating paths is incompatible with switching branches.
Did you intend to checkout ‘origin/1.1.0-bugfix’ which can not be resolved as commit?”
I wonder if just using “git checkout -b 1.1″ is enough or is the last part really needed?
Found my Problem, it was the arch pkgbuild that screwed this up. It cloned the git-repo locally and the new one wasn’t aware of the branches somehow.
Sorry for all the fuzz.