Page 1 of 1
How to compile VLC with live555 support ?
Posted: 29 Jun 2007 10:53
by shuaibe
Hello,
I want to have VLC with live555 support ( for RTSP streaming) but along with source code of both VLC and live555 libraries. Compiling VLC code is not a problem but how do I compile it with live555 libraries (compiling the libraries myself) ... any suggestions
thanks!
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 11:20
by Jean-Baptiste Kempf
--enable-live555
--with-live555-path=....
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 15:34
by shuaibe
"--with-live555-path=" .. the path to the 'live' directory which we get after unzipping the live555 source code ? or ? Iam a newbie, pls be more verbose ...
merci beaucoup!
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 15:44
by kmf31
"--with-live555-path=" .. the path to the 'live' directory which we get after unzipping the live555 source code ?
Yes, you chose some public place to "unzip" (or more precisely "untar") the live source folder. For example, I have chosen: /usr/local/lib/ and the live-tree is therefore: /usr/local/lib/live
After unzipping the source code you have enter this tree and to compile it following the instructions of their web-site:
http://www.live555.com/liveMedia/#config-unix
for example:
That is enough, for live555 you keep this source folder as final install (no further "make install" is necessary here!).
Afterwards you use with ./configure of vlc the options:
Code: Select all
--enable-live555
--with-live555-path=/usr/local/lib/live
of course assuming that /usr/local/lib/live is the source-installation folder you have chosen.
Do you have a 64bit linux version and do you use a 64bit gcc-compiler ? In that case it may be necessary to adapt the live-compilation a little bit (in order to force the compile option "-fPIC").
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 16:01
by shuaibe
No I dont have 64-bit linux version. Thank you for the tip. I tried exactly the same, following the instructions from
http://www.live555.com and running ./configure with the exact options but then vlc was not able to run the rtsp stream, saying :
[00000800] main input error: no suitable access module for `rtsp://10.0.8.155/sample_300kbit.mp4' ...
For the rtsp streaming to run it requires the liblivemedia.so shared library, which was not created in /usr/local/lib/vlc/demux, it should be there if the
--enable-live555 and --with-live555-path= .... options are working!
I followed the steps on
http://www.live555.com/liveMedia/#config-unix and copied the live folder to /usr/lib and that what i gave it in -with-live555-path= ...
what could have gone wrong ? any suggestions ...
thanks again!
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 16:26
by kmf31
By default live555 is compiled as a static library and you need to recompile vlc afterwards to link agains the static library. In my case it works very well.
Did you properly recompile and reinstall vlc ? I suggest that you recompile vlc after doing "make clean" in its source folder (or even better: erase the source folder and unzip it again or obtain again a new copy by svn if you want to compile a svn-version of vlc), then ./configure with live options, then "make" and before doing the "make install" as root, erase the old vlc-installation: "rm -rf /usr/local/lib/vlc" and afterwards "make install" of vlc will recreate this folder. There may be some old bad plugins in that folder that may cause problems (this has happened to me in the past!) because the new "make install" does not erase them. Also you should NOT have any live555-header *.h files in a public place (such as /usr/include or /usr/local/include) because this may induce an error of the ./configure script (may be, at least do not take that risc).
May be it is be possible to compile live555 as a dynamic library but honestly I don't see "official" instructions how to do it ? However, the static installation works very well. I have been doing it many many times!
You may also try to reset the plugin cache by
"vlc --reset-plugins-cache"
and then start again vlc (if it is properly compiled).
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 16:39
by shuaibe
If I do apt-get install liblivemedia-dev and then configure, make and install VLC, it works fine, no problem. But I want to have access to the code of live555 libraries, thats why instead of using apt-get install liblivemedia-dev, I would like to compile live555 libraries from source and then configure, make & install VLC so that it compiles with the live555 libraries that I compiled earlier ...
so when I do that, VLC compiles and install well but rtsp streaming gives an error and as i mentioned earlier the required shared library is not created ... I hope Iam making sense or im totally down the wrong road ..
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 17:23
by kmf31
Again, when you comile live on your own there is no dynamic library but only a static version.
However, now you finally mentioned that you have installed liblivemedia-dev and probably also liblivemedia from debian, i.e. there is in the system a dynamic version of live555 (in "liblivemedia") and also the developpement package in "liblivemedia-dev" with header files which probably induce the ./configure of vlc into an error and therefore vlc requires wrongly the dynamic version. Therefore you must carefully and completely uninstall, remove both packages: liblivemedia and liblivemedia-dev (at least the second one!).
Than you install and compile the live555 source (obtained from a tar.gz file) as mentioned above and than you recompile vlc (with live-tree-blabla) and than vlc will only use the static version which you compiled youself. The fact that vlc searches the dynamic version is an error !!! This is not correct and only possible because you have installed these other packages (=> vlc-compilation links wrongly to a dynamic version, maybe in /usr/lib and than it does not find that version, in /usr/local/lib/vlc, when you try to run vlc).
You simply have an conflict between your debian packages and your own sources! This is always a problem with the ./configure script! If you compile yourself, remove the debian package. In particular apart from vlc (and maybe mplayer) there isn't any other program requiring live555 if I recall correctly ?
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 17:33
by shuaibe
Before compiling live555 libraries, I did remove the .deb package using
dpkg --purge liblivemedia-dev and confirmed it by checking
dpkg -l, plus I also made sure (to the best of my knowledge
) to remove any traces as you mentioned. And then I compiled and installed VLC but still the streaming didnt work. But I have found a way around to it. After removing everything, i get the live555 sources using
apt-get source liblivemedia-dev
and then I build and install the package using:
dpkg-buildpackage -rfakeroot -uc -b
and then
dpkg -i liblivemedia-dev_2006.03.17-2_i386.deb.deb
After installing the liblivemedia-dev package, I configure VLC with only --enable-live555, make and install and now the streaming also works fine. Plus I put some print statements in live555 source code and in VLC source code, just to make sure it compiled with the sources I wanted and that its not using some old hidden stuff.
thanks kmf31 & j-b !
Re: How to compile VLC with live555 support ?
Posted: 29 Jun 2007 17:46
by Jean-Baptiste Kempf
now the streaming also works fine!
Victory!
Re: How to compile VLC with live555 support ?
Posted: 20 May 2008 17:08
by yamini_s
Can I know How u compiled VLC source code
Re: How to compile VLC with live555 support ?
Posted: 23 Jul 2011 07:47
by neergil
Hello,
First of all, thanks for your posts. They have been very helpful in compiling/using vlc.
I want to make some changes in live555 libraries and then compile that with vlc, same as shuaibe did. For that, I compiled VLC with --enable-live555 --with-live555-tree=tree_address. I don't have any other liblivemedia-dev copy in my system.
Then I'm streaming a video file by using:
./vlc -vvv input_stream --sout '#rtp{dst=192.168.0.12,port=1234,sdp=rtsp://<ip_address>:8080/test.sdp}'
and receiving the stream on the same system by using:
./vlc rtsp://<ip_address>:8080/test.sdp
->This streaming and receiving is successful.
->Then I made some changes in live555 RTSP and RTCP modules (some printf statements).
-> make (live555)
-> make (vlc)
-> try to stream and receive and see the print statements.
But the changes are not getting reflected. No print statements are seen. Am I doing something wrong with compiling? Do I need to run "./configure --enable-live555 --with-live555-tree" before "make", every time I modify something in /live dir?
Thanks,
neergil
Re: How to compile VLC with live555 support ?
Posted: 24 Jul 2011 10:58
by Sébastien Escudier
first, live555 is only used to receive rtsp streams, so you won't see your printf server side
Then, between make (live555) and make (vlc) you need to "touch" the live555.cpp file in vlc sources (module/demux/live555.cpp) so that it is recompiled and linked with your modified live555 lib.
Re: How to compile VLC with live555 support ?
Posted: 25 Jul 2011 22:49
by neergil
Thanks Sébastien! I tried to modify the MakeFile, but it's much simpler and smarter with just saving live555.cpp.
neergil