gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 9:26 am

Hello everybody,

First I'll start by quickly introducing myself. I'm a Portuguese software engineer living in Luxembourg. Software really is my passion and I love the Raspberry Pi concept.

Now, everybody has been asking for this for a while without success (at least I haven't found anything on the web) so I made a tutorial on how to compile and run VLC with HW acceleration on Raspberry Pi.

I hope this is the answer many have been waiting for.

You can find it the tutorial at:

http://intensecode.blogspot.com/2013/10 ... ation.html

Enjoy :)

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 1:22 pm

Thanks gekod,

I'll give it a try and if it works, I'll include an option into the next release of Minimal Kiosk Browser to use VLC instead of omxplayer.

Guenter
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

Joe Schmoe
Posts: 4277
Joined: Sun Jan 15, 2012 1:11 pm

Re: Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 1:34 pm

Is there any reason not to just make this available for download somewhere?

I.e., any reason to make us do our own baking?
And some folks need to stop being fanboys and see the forest behind the trees.

(One of the best lines I've seen on this board lately)

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 1:48 pm

I got a lot of warnings and errors when running the ./bootstrap script.

All warnings are of this kind:

Code: Select all

configure.ac:1671: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd
And here is the list of errors at the end:

Code: Select all

configure.ac:1: error: possibly undefined macro: dnl
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:38: error: possibly undefined macro: AS_IF
configure.ac:57: error: possibly undefined macro: AC_DEFINE
configure.ac:178: error: possibly undefined macro: AC_MSG_ERROR
configure.ac:292: error: possibly undefined macro: AC_PREPROC_IFELSE
configure.ac:292: error: possibly undefined macro: AC_LANG_PROGRAM
configure.ac:437: error: possibly undefined macro: AC_CHECK_LIB
configure.ac:447: error: possibly undefined macro: AC_CACHE_CHECK
configure.ac:717: error: possibly undefined macro: AC_CHECK_HEADERS
configure.ac:811: error: possibly undefined macro: AC_MSG_WARN
configure.ac:837: error: possibly undefined macro: AC_LANG_PUSH
configure.ac:839: error: possibly undefined macro: AC_LANG_POP
configure.ac:1534: error: possibly undefined macro: AC_PATH_PROGS
configure.ac:1957: error: possibly undefined macro: AC_CHECK_HEADER
configure.ac:2286: error: possibly undefined macro: AC_MSG_NOTICE
configure.ac:3349: error: possibly undefined macro: AC_PATH_PROG
configure:15368: error: possibly undefined macro: m4_n
autoreconf: /usr/bin/autoconf failed with exit status: 1
Any idea?

Guenter
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

User avatar
DeeJay
Posts: 2027
Joined: Tue Jan 01, 2013 9:33 pm
Location: East Midlands, UK

Re: Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 2:13 pm

The RPi OS used for this tutorial is not specified. The introduction mentions raspbmc - is that what you used to build vlc?
How To Ask Questions The Smart Way: http://www.catb.org/~esr/faqs/smart-questions.html
How to Report Bugs Effectively: http://www.chiark.greenend.org.uk/~sgtatham/bugs.html

User avatar
topguy
Posts: 5913
Joined: Tue Oct 09, 2012 11:46 am
Location: Trondheim, Norway

Re: Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 2:59 pm

Raspbmc doestn come with the development tools necessary to build new software. I think we can assume Raspbian.

But you should make sure that tools like "autoconf" and "automake" (and maybe more) are installed or else you might get errors when doing bootstrap.

User avatar
redhawk
Posts: 3465
Joined: Sun Mar 04, 2012 2:13 pm
Location: ::1

Re: Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 6:02 pm

Nice work, I'm going to have to give this one a bash tonight with Raspbian.

Since you have managed to enable HW acceleration for VLC I was wondering how hard would it be to implement this into ffmpeg??

Richard S.

gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Re: Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 7:57 pm

Hello all,

I'll try to help all of you out:
Joe Schmoe wrote: Is there any reason not to just make this available for download somewhere?
I.e., any reason to make us do our own baking?
I posted the tutorial to compile it so you can compile it for every distribution but mainly so you can compile it with the modules YOU need but I can upload my compiled version if you like! I'll upload it tomorrow!
gkreidl wrote:I got a lot of warnings and errors when running the ./bootstrap script.

All warnings are of this kind:

Code: Select all

configure.ac:1671: warning: PKG_PROG_PKG_CONFIG is m4_require'd but not m4_defun'd
And here is the list of errors at the end:

Code: Select all

configure.ac:1: error: possibly undefined macro: dnl
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.
configure.ac:38: error: possibly undefined macro: AS_IF
configure.ac:57: error: possibly undefined macro: AC_DEFINE
configure.ac:178: error: possibly undefined macro: AC_MSG_ERROR
configure.ac:292: error: possibly undefined macro: AC_PREPROC_IFELSE
configure.ac:292: error: possibly undefined macro: AC_LANG_PROGRAM
configure.ac:437: error: possibly undefined macro: AC_CHECK_LIB
configure.ac:447: error: possibly undefined macro: AC_CACHE_CHECK
configure.ac:717: error: possibly undefined macro: AC_CHECK_HEADERS
configure.ac:811: error: possibly undefined macro: AC_MSG_WARN
configure.ac:837: error: possibly undefined macro: AC_LANG_PUSH
configure.ac:839: error: possibly undefined macro: AC_LANG_POP
configure.ac:1534: error: possibly undefined macro: AC_PATH_PROGS
configure.ac:1957: error: possibly undefined macro: AC_CHECK_HEADER
configure.ac:2286: error: possibly undefined macro: AC_MSG_NOTICE
configure.ac:3349: error: possibly undefined macro: AC_PATH_PROG
configure:15368: error: possibly undefined macro: m4_n
autoreconf: /usr/bin/autoconf failed with exit status: 1
Any idea?

Guenter
I forgot to include in the tutorial that you have to install all the build tools first! You can do so with following command:

Code: Select all

apt-get install git libtool build-essential pkg-config autoconf
I'll add this to the tutorial :)
DeeJay wrote:The RPi OS used for this tutorial is not specified. The introduction mentions raspbmc - is that what you used to build vlc?
I have compiled it under Raspbian. I'll mention that in the tutorial too
topguy wrote:Raspbmc doestn come with the development tools necessary to build new software. I think we can assume Raspbian.

But you should make sure that tools like "autoconf" and "automake" (and maybe more) are installed or else you might get errors when doing bootstrap.
Exactly :)


Thanks for pointing out missing stuff in the tutotial :) Let me know if there are other issues.

Greetings
Last edited by gekod on Mon Oct 21, 2013 7:29 am, edited 1 time in total.

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Sun Oct 20, 2013 10:14 pm

All the packages are installed (from other projects) and I'm getting the errors nevertheless.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Mon Oct 21, 2013 11:50 am

Happily compiling now, but it was quite a way ...

My recommendations to get it to work:

1) install VLC from the Raspbian repository first to have all the packages installed that the new VLC version will need.

2) install libtool.

From iniside the VLC (source from git) folder run:

Code: Select all

export ACLOCAL_ARGS="-I /usr/share/aclocal"
./bootstrap 
It should run without errors now.

Now we need to install lots of "-dev" files (updated again!):

Code: Select all

sudo apt-get install liba52-0.7.4-dev libdirac-dev libdvdread-dev libkate-dev libass-dev libbluray-dev libcddb2-dev libdca-dev libfaad-dev libflac-dev libmad0-dev libmodplug-dev libmpcdec-dev libmpeg2-4-dev libogg-dev libopencv-dev libpostproc-dev libshout3-dev libspeex-dev libspeexdsp-dev libssh2-1-dev liblua5.1-0-dev libopus-dev libschroedinger-dev libsmbclient-dev libtwolame-dev libx264-dev libxcb-composite0-dev libxcb-randr0-dev libxcb-xv0-dev libzvbi-dev libxcb-keysyms1-dev libsdl-image1.2-dev librsvg2-dev libsamplerate0-dev libudev-dev libmtp-dev libupnp6-dev libnotify-dev libdvbpsi-dev libgme-dev libebml-dev libgnomevfs2-dev libsidplay2-dev libva-dev libjack-jackd2-dev libchromaprint-dev libxpm-dev libncurses5-dev libsidplay1-dev libtar-dev
Updated again: This is the recommended configure options string now:
./configure --prefix=/usr --enable-rpi-omxil --disable-ogg --disable-mux_ogg

And then you can call "make" ... will take a few hours to compile.

Afterwards you can call
sudo make install
it will take a few minutes to create a working vlc with hardware acceleration, compatible with the default Raspbian paths.
Last edited by gkreidl on Wed Oct 23, 2013 4:40 pm, edited 2 times in total.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Re: Compiling VLC with HW accelelation on Raspberry

Mon Oct 21, 2013 12:01 pm

gkreidl wrote:Happily compiling now, but it was quite a way ...

My recommendations to get it to work:

1) install VLC from the Raspbian repository first to have all the packages installed that the new VLC version will need.

2) install libtool.

From iniside the VLC (source from git) folder run:

Code: Select all

export ACLOCAL_ARGS="-I /usr/share/aclocal"
./bootstrap 
It should run without errors now.

Now we need to install lots of "-dev" files:

Code: Select all

liba52-0.7.4-dev libdirac-dev libdvdread-dev libkate-dev libass-dev libbluray-dev libcddb2-dev libdca-dev libfaad-dev libflac-dev libmad0-dev libmodplug-dev libmpcdec-dev libmpeg2-4-dev libogg-dev libopencv-dev libpostproc-dev libshout3-dev libspeex-dev libspeexdsp-dev libssh2-1-dev liblua5.1-0-dev libopus-dev libschroedinger-dev libsmbclient-dev libtwolame-dev libx264-dev libxcb-composite0-dev libxcb-randr0-dev libxcb-xv0-dev libzvbi-dev
Then "./configure --enable-rpi-omxil" should run without errors and with all modules enabled that are supported on the RPI.

And then you can call "make" ... still running here (maybe for many hours).
Thank you for your contribution to this tutorial :)
I didn't include the list of -dev files because this varies a lot depending on the modules you en-/disable but it can still be helpful for users willing to compile with the same modules and in case they need more modules the list missing will be much smaller indeed.

I'll do another update to the tutorial later today :)

Greetings.

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Mon Oct 21, 2013 5:25 pm

First experiences: SD content plays quite well, but no luck really with HD content (overclocked with 900 MHz). Also no luck with streaming SD content (MPEG2 TV).
But I'll put some more research into it ....
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

User avatar
redhawk
Posts: 3465
Joined: Sun Mar 04, 2012 2:13 pm
Location: ::1

Re: Compiling VLC with HW accelelation on Raspberry

Mon Oct 21, 2013 7:03 pm

I followed the instructions on your page but it won't compile I get errors about missing stuff:

./configure --enable-rpi-omxil --enable-x264 --disable-lua --disable-mad

checking for 3rd party libraries path... not found
configure: WARNING: No package 'live555' found.
configure: WARNING: live555 is missing or its installed version is too old:
Version 2011.12.23 or later is required to proceed.
You can get an updated one from http://www.live555.com/liveMedia .
configure: WARNING: Library libdc1394-2 >= 2.1.0 needed for dc1394 was not found
configure: WARNING: Library libraw1394 >= 2.0.1 libavc1394 >= 0.5.3 needed for dv1394 was not found
configure: WARNING: No package 'zvbi-0.2' found.
configure: WARNING: Library dvdread needed for dvdread was not found
configure: WARNING: No package 'dvdnav' found.
configure: WARNING: Library libbluray >= 0.2.1 needed for bluray was not found
configure: WARNING: Library opencv > 2.0 needed for opencv was not found
configure: WARNING: Library smbclient needed for smbclient was not found
configure: WARNING: Library libssh2 needed for sftp was not found
configure: WARNING: Blackmagic DeckLink SDI include files not found
configure: WARNING: Library gnome-vfs-2.0 needed for gnomevfs was not found
configure: WARNING: No package 'libcddb' found: CDDB access disabled.
configure: WARNING: Library libvncclient >= 0.9.9 needed for vnc was not found
configure: WARNING: Library freerdp >= 1.0.1 needed for freerdp was not found
configure: WARNING: No package 'libsidplay2' found (required for sid).
configure: WARNING: Library ogg >= 1.0 needed for ogg was not found
configure: WARNING: Library ogg >= 1.0 needed for mux_ogg was not found
configure: WARNING: Library shout >= 2.1 needed for shout was not found
configure: WARNING: No package 'libmodplug' found
No package 'libmodplug' found.
configure: WARNING: Library shine >= 3.0.0 needed for shine was not found
configure: error: No package 'libavcodec' found
No package 'libavutil' found. Pass --disable-avcodec to ignore this error.

Any way to resolve this??

Richard S.

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Mon Oct 21, 2013 8:10 pm

See the updated list of dev files above and also the new config options (disable ogg).
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Re: Compiling VLC with HW accelelation on Raspberry

Tue Oct 22, 2013 12:17 pm

gkreidl wrote:First experiences: SD content plays quite well, but no luck really with HD content (overclocked with 900 MHz). Also no luck with streaming SD content (MPEG2 TV).
But I'll put some more research into it ....
You just overclocked the CPU!
Try following overclock options in your /boot/config.txt:

arm_freq=1000
core_freq=500
sdram_freq=500
h264_freq=500
over_voltage=6
force_turbo=1

HD contents runs at about 50°C so not dangerous for the raspberry.
redhawk wrote:I followed the instructions on your page but it won't compile I get errors about missing stuff:

./configure --enable-rpi-omxil --enable-x264 --disable-lua --disable-mad

checking for 3rd party libraries path... not found
configure: WARNING: No package 'live555' found.
configure: WARNING: live555 is missing or its installed version is too old:
Version 2011.12.23 or later is required to proceed.
You can get an updated one from http://www.live555.com/liveMedia .
configure: WARNING: Library libdc1394-2 >= 2.1.0 needed for dc1394 was not found
configure: WARNING: Library libraw1394 >= 2.0.1 libavc1394 >= 0.5.3 needed for dv1394 was not found
configure: WARNING: No package 'zvbi-0.2' found.
configure: WARNING: Library dvdread needed for dvdread was not found
configure: WARNING: No package 'dvdnav' found.
configure: WARNING: Library libbluray >= 0.2.1 needed for bluray was not found
configure: WARNING: Library opencv > 2.0 needed for opencv was not found
configure: WARNING: Library smbclient needed for smbclient was not found
configure: WARNING: Library libssh2 needed for sftp was not found
configure: WARNING: Blackmagic DeckLink SDI include files not found
configure: WARNING: Library gnome-vfs-2.0 needed for gnomevfs was not found
configure: WARNING: No package 'libcddb' found: CDDB access disabled.
configure: WARNING: Library libvncclient >= 0.9.9 needed for vnc was not found
configure: WARNING: Library freerdp >= 1.0.1 needed for freerdp was not found
configure: WARNING: No package 'libsidplay2' found (required for sid).
configure: WARNING: Library ogg >= 1.0 needed for ogg was not found
configure: WARNING: Library ogg >= 1.0 needed for mux_ogg was not found
configure: WARNING: Library shout >= 2.1 needed for shout was not found
configure: WARNING: No package 'libmodplug' found
No package 'libmodplug' found.
configure: WARNING: Library shine >= 3.0.0 needed for shine was not found
configure: error: No package 'libavcodec' found
No package 'libavutil' found. Pass --disable-avcodec to ignore this error.

Any way to resolve this??

Richard S.
Well as I mentioned in the update on Step 2 you'll have to install additional libraries for configure to complete successfully! Those are simply the libraries needed by VLC and it's enabled modules but that aren't installed on your system.
gkreidl was so kind to list them so you can install them before running configure which makes you not having to run configure from the beginning over and over again.

gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Re: Compiling VLC with HW accelelation on Raspberry

Tue Oct 22, 2013 12:38 pm

I just updated the tutorial!
mentioned you gkreidl, hope it's ok :)

I'll still try to upload the compiled version tonight as I didn't have time yet

Cheers

gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Re: Compiling VLC with HW accelelation on Raspberry

Tue Oct 22, 2013 12:53 pm

Well I took some time and uploaded the complete VLC build directory already compiled.

Download at http://intensecode.blogspot.com/2013/10 ... dware.html

Have fun.

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Tue Oct 22, 2013 2:42 pm

@gekod:

I'll try your overclock settings later. At the moment I'm compiling it again, with "--prefix=/usr" set as ./configure option, to make it more compatible with the RPi path system. After installing it with "sudo make install", it didn't work, because VLC could not find its libraries. Theoretically its should be possible to set the path when installing, but this lead to a breakdown in the installation script. So I've reconfigured it and am compiling it again.

My tests so far (using avi, mkv and mp4 containers and xvid, h264 and mpeg2 codecs);
Everything up to 576p runs fine. A few 720p mp4 files also worked, but 720p in mkv containers and everything with 1080p didn't work, and TS streams in SD resolution also failed. I'm overclocking with 900 MHz, but the real difference may be in the core and h264 frequency.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Re: Compiling VLC with HW accelelation on Raspberry

Wed Oct 23, 2013 9:39 am

Hi,

I mainly work with TS streams and I can assure you that they work.
For HD it surely will depend on the compression.
Just let me know your results after testing my overclock settings

Greetings

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Wed Oct 23, 2013 2:10 pm

gekod wrote:Hi,

I mainly work with TS streams and I can assure you that they work.
For HD it surely will depend on the compression.
Just let me know your results after testing my overclock settings

Greetings
I'm still having problems with TS streams and after checking the installed modules I saw, that MPEG Transport Protocol demuxer was missing. So I went on looking for more missing dependencies and found some. I'm compiling again now and will update the dependencies list as soon as I'm through with testing.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Wed Oct 23, 2013 4:43 pm

New version running and at least some TS streams (dvb-t, dvb-s) are working now. I've updated the list of dependencies again. More later ...
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Re: Compiling VLC with HW accelelation on Raspberry

Thu Oct 24, 2013 7:34 am

I have configured it with exactly those params:
./configure --enable-run-as-root --enable-dvbpsi --enable-rpi-omxil --enable-x264 --disable-qt --disable-ncurses

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Thu Oct 24, 2013 8:52 am

gekod wrote:I have configured it with exactly those params:
./configure --enable-run-as-root --enable-dvbpsi --enable-rpi-omxil --enable-x264 --disable-qt --disable-ncurses
dvbpsi and x264 are enabled by default, if all depedencies are fullfilled. I think, that the great advantage of omxplayer is the availability of different interfaces. Keyboard control during video playback is only possible, when you start vlc either with qt interface or with ncurses interface. And there are lots of options available, when you start vlc with its qt-interface. It's the first HW accelerated desktop video player for the RPi. That's its strength and disabling the interfaces doesn't make any sense at all in my view. If I use it without any interface as a command line video player, omxplayer has much more power and even more control (via keyboard).

From a performance view, it cannot compare with omxplayer. It takes about 4 times as much CPU power as omxplayer for the same video file or stream. It could play none of my 1080p files and only a few 720p files without lagging (with your overclock settings). I'll publish some more detailed results and comparisons later on.

One of the good things about this vlc version is, that it uses alsa for sound output and that it should be able to deliver 5.1 analog sound via an usb sound card (I have not tried it yet). But the alsa driver is also it's greatest weakness, as you can see from many error messages, when it uses the bmc2835 alsa driver.

I think, this may be a first step to a really good desktop video player. Maybe we'll get a better version in the future. There seems to room for a lot of optimizations.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

gekod
Posts: 9
Joined: Sun Oct 20, 2013 9:15 am

Re: Compiling VLC with HW accelelation on Raspberry

Thu Oct 24, 2013 9:25 am

gkreidl wrote:
gekod wrote:I have configured it with exactly those params:
./configure --enable-run-as-root --enable-dvbpsi --enable-rpi-omxil --enable-x264 --disable-qt --disable-ncurses
dvbpsi and x264 are enabled by default, if all depedencies are fullfilled. I think, that the great advantage of omxplayer is the availability of different interfaces. Keyboard control during video playback is only possible, when you start vlc either with qt interface or with ncurses interface. And there are lots of options available, when you start vlc with its qt-interface. It's the first HW accelerated desktop video player for the RPi. That's its strength and disabling the interfaces doesn't make any sense at all in my view. If I use it without any interface as a command line video player, omxplayer has much more power and even more control (via keyboard).

From a performance view, it cannot compare with omxplayer. It takes about 4 times as much CPU power as omxplayer for the same video file or stream. It could play none of my 1080p files and only a few 720p files without lagging (with your overclock settings). I'll publish some more detailed results and comparisons later on.

One of the good things about this vlc version is, that it uses alsa for sound output and that it should be able to deliver 5.1 analog sound via an usb sound card (I have not tried it yet). But the alsa driver is also it's greatest weakness, as you can see from many error messages, when it uses the bmc2835 alsa driver.

I think, this may be a first step to a really good desktop video player. Maybe we'll get a better version in the future. There seems to room for a lot of optimizations.
Well as I mentioned before, I compiled this for my own needs and as I only needed libvlc it completely makes sense to compile it without user interface! That's also the reason why I only posted a tutorial in first place so everyone could compile it for their own needs! The tutorial was about compiling VLC with HW acceleration enabled which it did. Of course there is a lot of improvement but after everyone waiting so long to get VLC running with HW acceleration this tutorial should just be a first step!
I hope VLC will be improved on other areas like those you mentioned too but for now it's already a good indicator that something has been done.
We should not forget that the main reason everyone wants VLC is because it can read almost everything which Omxplayer definetly can not! I had many issues with Omxplayer because it couldn't read a lot of the streams (mainly UDP streams encapsulated in TS) and there wasn't a way to get correct feedback from it as you can using libvlc (at least that I'm aware of) when you use it for development purposes and it also is much more straight forward to control it from inside your application using libvlc.

So that being said it depends on how you count on using it! For my needs it just turned out working absolutely fine.

gkreidl
Posts: 6120
Joined: Thu Jan 26, 2012 1:07 pm
Location: Germany

Re: Compiling VLC with HW accelelation on Raspberry

Thu Oct 24, 2013 9:47 am

@gekod:

You are looking at it from a developer's point of view. Although I've been a software developer myself (retired now), I'm always looking at it from a user's viewpoint. I've been using vlc for many years on different platforms and now we really get a chance to use it on the RPi (and not only for audio).

I wouldn't have noticed that without your posting and your tutorial, so we all should be thankful to you for discovering it and showing the first steps.
Minimal Kiosk Browser (kweb)
Slim, fast webkit browser with support for audio+video+playlists+youtube+pdf+download
Optional fullscreen kiosk mode and command interface for embedded applications
Includes omxplayerGUI, an X front end for omxplayer

Return to “General discussion”