Kodi Community Forum
librtmp - Help Thread - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Support (https://forum.kodi.tv/forumdisplay.php?fid=33)
+--- Forum: Add-on Support (https://forum.kodi.tv/forumdisplay.php?fid=27)
+---- Forum: Video Add-ons (https://forum.kodi.tv/forumdisplay.php?fid=154)
+---- Thread: librtmp - Help Thread (/showthread.php?tid=162307)



RE: librtmp - Help Thread - RedPenguin - 2015-03-18

(2015-03-18, 21:52)DarioMO Wrote:
(2015-03-18, 00:06)RedPenguin Wrote: I am still updating my files but Mediafire was acting very bizarre yesterday, as my ISP is having major congestion issues.

Thank you ... Are you going to compile the library for Android ?

Regards.

Yes, just haven't gotten around to it.


RE: librtmp - Help Thread - invisable - 2015-03-18

Nice to see you back RedPenguin. With your future librtmp does it mean that openelec Rpi users can go back to millhouses old instructions ?
As previously stated in post #1252 it was no longer possible ?

I would like to personally give a big thanks to superceleron and Shani who has not only helped myself but others out in RP absence.


RE: librtmp - Help Thread - tzec - 2015-03-19

Is missing Mac osx folder, do you will compile? thanks


RE: librtmp - Help Thread - fightnight - 2015-03-19

The milhouse builds include updated librtmp.. no need to update (since that is a newclock4 commit).


RE: librtmp - Help Thread - invisable - 2015-03-19

(2015-03-19, 10:51)fightnight Wrote: The milhouse builds include updated librtmp.. no need to update (since that is a newclock4 commit).
Thanks fightnight, I know millhouses builds have the updated librtmp. Its what I personally use, sorry my question wasn't clear. It was more directed for users that use the official stable releases.
I have been unsquashing replacing and resquashing for family and friends and friends that use stable versions, just wondered if I can go back to using the hack script Smile


RE: librtmp - Help Thread - superceleron - 2015-03-19

For what i know yes, milhouse already updated the script weeks ago, the change was they changed the lib from so.0 to so.1... nothing to do with compiles...
Quote from milhouse -> http://forum.kodi.tv/showthread.php?tid=162307&pid=1481392#pid1481392 :
Quote:EDIT 11-Feb-2015: With OpenELEC 5.0.1, the version of librtmp.so is now librtmp.so.1 not librtmp.so.0. For OpenELEC 5.0.1 and higher, the following library configuration is required

Regards


RE: librtmp - Help Thread - Milhouse - 2015-03-19

Yes, the library hack method still works, and in fact it works with any library not just librtmp. The only reason it stopped working (apart from the previous librtmp library downloads no longer being compatible with recent OpenELEC builds) is because the library name/version used by OpenELEC 5.0.1+ has changed, so the installation instructions needed to be amended slightly.

In the absence of any alternative download, one option for RPi/RPi2 users who want to remain on official release builds is to extract the librtmp.so.1 library from a recent RPi/RPi2 test build and use that with the hack method - I've tested and confirmed the library works with OpenELEC 5.0.6 (at least on RPi2). If anyone wishes to host these files somewhere, be my guest.


RE: librtmp - Help Thread - superceleron - 2015-03-19

(2015-03-19, 19:47)Milhouse Wrote: Yes, the library hack method still works, and in fact it works with any library not just librtmp. The only reason it stopped working (apart from the previous librtmp library downloads no longer being compatible with recent OpenELEC builds) is because the library name/version used by OpenELEC 5.0.1+ has changed, so the installation instructions needed to be amended slightly.

In the absence of any alternative download, one option for RPi/RPi2 users who want to remain on official release builds is to extract the librtmp.so.1 library from a recent RPi/RPi2 test build and use that with the hack method - I've tested and confirmed the library works with OpenELEC 5.0.6 (at least on RPi2). If anyone wishes to host these files somewhere, be my guest.

The ones that i did host for openelec rpi1/2 was from your builds Wink much easier that doing static compiles Tongue


RE: librtmp - Help Thread - invisable - 2015-03-19

Many thanks for your replies guys/girls. Again its always appreciated. I'm always grateful for the replies & sorry that I ask these questions. unfortunately for me it doesn't always get through first time.

I've been unsquashing and replacing the librtmp.so.1 in the usr/lib folder, I could of just used your updated helix instructions and hack. I'm a Silly Billy Smile


RE: librtmp - Help Thread - galopogos - 2015-03-20

(2015-03-19, 19:47)Milhouse Wrote: Yes, the library hack method still works, and in fact it works with any library not just librtmp. The only reason it stopped working (apart from the previous librtmp library downloads no longer being compatible with recent OpenELEC builds) is because the library name/version used by OpenELEC 5.0.1+ has changed, so the installation instructions needed to be amended slightly.

In the absence of any alternative download, one option for RPi/RPi2 users who want to remain on official release builds is to extract the librtmp.so.1 library from a recent RPi/RPi2 test build and use that with the hack method - I've tested and confirmed the library works with OpenELEC 5.0.6 (at least on RPi2). If anyone wishes to host these files somewhere, be my guest.

Thanks! when you mention the hackmethod is that disabling the hacklib as per instrunctions in the help text from fightnight?

this would mean that:
1- use the libfiles from your build -> go to the superceleron mediafire downloads
2- copy the file to the right location in the raspberry
(if needed rename the file from s0 to s1)
3- disable the hacklib?

thanks

PS: this is just out of curiosity as my current raspberry 2 is working like a charm with your lib files but I cant remember the steps that I took


Re: RE: librtmp - Help Thread - Milhouse - 2015-03-20

(2015-03-20, 12:15)galopogos Wrote: Thanks! when you mention the hackmethod is that disabling the hacklib as per instrunctions in the help text from fightnight?

Not really sure what has made you think that.

The library hack is for use with OpenELEC as you can't copy the new library to the "right location" (which would be /usr/lib), so if you disable the library hack you'll be back to using the stock (much older, without KSV patches) librtmp.so.

So no, don't disable the library hack if you intend to use the latest librtmp with an official OpenELEC release.

Of course, when using one of my RPi/RPi2 test builds, the latest librtmp is included as standard so there is no need for the hack at all.


RE: librtmp - Help Thread - superceleron - 2015-03-20

Yes the only way you wont need the hack in openelec is if you edit the SYSTEM file on the official openelec.
Or use one of the Milhouse builds for PI.


RE: librtmp - Help Thread - g34g34g4g34 - 2015-03-21

(2013-08-10, 12:11)Milhouse Wrote:
(2013-08-10, 10:26)RedPenguin Wrote: Oh well. Thanks for the info. Was wishing this worked cause it's difficult to explain this stuff to OpenELEC users, but guess nothing can be done.

I've determined a solution for OpenELEC that allows any system library used by XBMC to be replaced by an alternative third party version - it's a pretty ugly hack, but it does work with an unmodified 3.1.x build without any problems, and given the only other alternative is a custom build this makes it a lot less trouble despite it's ugliness! Smile

Frodo

With a Frodo-based build (OpenELEC 3.x.x) the solution involves using autostart.sh to halt the initial load of xbmc.bin, modifying LD_LIBRARY_PATH and then initiating a secondary load of xbmc.bin but now using the third party libraries (librtmp etc.). The hack will only be applied when the /storage/lib directory is present (exists), and when autostart.sh is being called during the boot sequence (when the parent process ID is 1), and when /storage/lib isn't detected at the beginning of LD_LIBRARY_PATH (and thus needs to be added). The check for PPID means it is possible to call autostart.sh without re-invoking xbmc.bin, which may be useful when testing/debugging other autostart.sh functionality...

Gotham Update

Gotham-based builds (OpenELEC 4.x.x+) totally change the boot process with the introduction of systemd, which actually makes this solution a lot less ugly, not to mention far simpler to achieve.

The latest version of hacklib will now detect when booting on a Gotham (also Helix) build and simply copy /etc/profile.d to a temporary location, then add an extra script to this new profile.d folder that fixes up LD_LIBRARY_PATH with our third-party library location. The profile.d folder with extra script from the temporary location is then substituted for the standard /etc/profile.d directory. From now on, new processes - including xbmc.bin - will reference the new profile.d folder and as a result will use the fixed up LD_LIBRARY_PATH that includes our third-party libraries.

Installation instructions: (See end of post for direct download instructions)

1. Create /storage/lib and populate with third-party libraries. Download the latest librtmp.so.0 for RasPi or Linux/x86 from Red Penguins Repo, and create the librtmp.so symbolic link:
Code:
mkdir -p /storage/lib
cd /storage/lib
<Download librtmp.so.0 from RedPenguin's "Repo">
chmod 755 librtmp.so.0
ln -s librtmp.so.0 librtmp.so

EDIT 11-Feb-2015: With OpenELEC 5.0.1, the version of librtmp.so is now librtmp.so.1 not librtmp.so.0. For OpenELEC 5.0.1 and higher, the following library configuration is required:
Code:
mkdir -p /storage/lib
cd /storage/lib
<Download librtmp.so.0 from RedPenguin's "Repo">
mv librtmp.so.0 librtmp.so.1
chmod 755 librtmp.so.1
ln -s librtmp.so.1 librtmp.so
ln -s librtmp.so.1 librtmp.so.0

2. Create /storage/.config/autostart.sh using vi or nano:
Code:
#!/bin/sh

# Hack for third-party libraries
[ $PPID -eq 1 -a -f /storage/.config/hacklib ] && . /storage/.config/hacklib

# Rest of autostart.sh goes here...

3. Create /storage/.config/hacklib (see download link)

4. Reboot.

Optional Extra
When mounting /storage across a network (eg. over NFS or SMB), there will be an increase in network activity as /storage/lib is checked for library files (99.9% of which won't be found) and this could result in reduced UI performance (slightly longer load times etc.). To eliminate any network overhead, you can instead host the thirdparty library files in memory backed storage.

To accomplish this, download the mktmplib file in /storage/.config/mktmplib - when present, it will be called by hacklib and transfer the third party libraries to memory back storage the location of which will then be prefixed to LD_LIBRARY_PATH.

Disabling 3rd Party Libraries
To disable the hack:
Code:
mv /storage/lib /storage/lib.bak && sync
reboot

Download instructions
Downloadable versions of autostart.sh, hacklib and mktmplib are available on Dropbox - use the following commands to download the files:
Code:
cd /storage/.config
curl -L http://is.gd/kBaTzY -o autostart.sh
curl -L http://is.gd/yQUqNm -o hacklib
curl -L http://is.gd/GJdaEY -o mktmplib

Is there an idiots guide of how to do this in Gotham, sorry but I don't understand where I'm meant to type all of that code in?


RE: librtmp - Help Thread - Milhouse - 2015-03-21

That's about as idiot as it gets...


RE: librtmp - Help Thread - invisable - 2015-03-21

g34g34g4g34 you could use millhouse test builds or, I've been unsquashing and inserting millhouses librtmp in these official builds which can be found here.
Edit
########################
Sorry misread post helix builds only
##########################
Obviously if you update your lose the updated librtmp. So it's probably best long-term if you can work out how to use Millhouses instructions as this is a bit easier and quicker then what I've been doing.