Difference between revisions of "Iptvplayer"

From OpenPLi Wiki
Jump to: navigation, search
(Replaced content with "New URL: https://wiki.openpli.org/Plugin_Wiki:Iptvplayer")
Line 1: Line 1:
The plugin IPTVPlayer gives you a wide variety of IPTV channels to watch for. <br />
+
New URL: https://wiki.openpli.org/Plugin_Wiki:Iptvplayer
 
 
'''FFMPEG INSTALLATION FOR MIPSEL PLATFORMS'''
 
 
 
Before everything else, check if your image already has an ffmepg package installed by sending this telnet command (using PuTTy (See: https://wiki.openpli.org/Tips_and_Tweaks#Telnet_usage), for instance):
 
 
 
ffmpeg -version
 
 
 
If you see "Command not recognised" or so - you need to install it.
 
 
 
Preparation:<br />
 
Before installation make sure that you have enough space in your rootfs. You need at least 15MB free space.<br />
 
To check free space in your rootfs you can use following command:
 
 
 
df -h /
 
  Sample output:
 
Filesystem                Size      Used Available Use% Mounted on
 
ubi0:rootfs            440.3M    183.2M    257.0M  42% /
 
 
If you do not have enough flash memory for all of the plugins etc. that you want to install, then another way of installing it all is to either use:
 
 
 
A) Flash Expander for which you need a USB memory stick, with 2 partitions (best in EXT4 format):
 
-at least 1/2 GB for /usr folder, i.e. the Flash Expander itself and
 
-the rest for SWAP, picons, subtitle folder, EPG etc. etc.
 
 
 
I would recommend Mini Tool Partition Wizard 10, under Windows OS, to partition and format the USB stick.
 
 
 
B ) MultiBoot, also on a large USB memory stick (various plugins are available for it, Open MultiBoot, Mini Multi Boot etc.)
 
 
 
Once you prepare the image properly, you can proceed with ffmpeg and the IPTV Player installation...<br />
 
To choose the correct ffmpeg package for your image you need to find out the following:
 
 
 
1) OpenSSL version
 
2) glibc version
 
3) hard/soft float
 
 
 
1) How to check your OpenSSL version:
 
One has to connect with your STB and then give this telnet command, for example, using a programme called PuTTy:
 
 
 
openssl version
 
 
 
One may get something like this:
 
 
 
OpenSSL 1.0.2d 9 Jul 2015
 
 
 
So, in that case we know that we have version 1.0.2<br />
 
One may also get the following output to this command:
 
 
 
-sh: openssl: not found
 
 
 
In this case, one should check OpenSSL version as follows:
 
 
ls -la /usr/lib/libssl*
 
  Example output:
 
-rwxr-xr-x    1 root    root        383624 Aug 19  2015 /usr/lib/libssl.so.0.9.8
 
 
 
So, in this case the OpenSSL version is 0.9.8.<br />
 
In case one gets:
 
 
 
/usr/lib/libssl.so.1.0.0
 
 
 
one must make an additional check:
 
 
 
grep OPENSSL /usr/lib/libssl.so.1.0.0
 
  Sample output:
 
OPENSSL_cleanse
 
OPENSSL_DIR_read
 
OPENSSL_DIR_end
 
OPENSSL_1.0.0
 
OPENSSL_1.0.1
 
OPENSSL_1.0.1d
 
OPENSSL_1.0.2
 
OPENSSL_DIR_read(&ctx, '
 
OPENSSL_malloc Error
 
 
 
So, in this case one knows one has version 1.0.2.
 
 
2) How to check glibc version:
 
 
 
Checking glibc version is very easy:
 
 
 
ls -la /lib/libc-*
 
  Example output:
 
-rwxr-xr-x    1 root    root      1541476 Aug 19  2015 /lib/libc-2.21.so
 
 
 
I.e. this indicates version 2.21.
 
 
3) Checking for hard/soft float:
 
 
 
One must give the following telnet commands:
 
 
 
cd /tmp
 
wget http://iptvplayer.pl/tools/mipsel/readelf
 
chmod 777 readelf
 
./readelf -a /lib/libc-*.so | grep FP:
 
rm readelf
 
 
 
Sample output:
 
Tag_GNU_MIPS_ABI_FP: Soft float
 
 
 
or
 
 
 
Tag_GNU_MIPS_ABI_FP: Hard float (double precision)
 
 
 
When you already know versions of OpenSSL, glibc used in your image and used FPU mode you are ready to choose ffmpeg package.<br />
 
If you have glibc version lower than 2.20 you need to use package for _old_<br />
 
All packages are available here: http://iptvplayer.pl/resources/ (one can find SH4 and ARM platforms covered there, as well)
 
 
 
 
 
Packages for MIPSEL platforms:
 
 
 
ffmpeg3.2.2_mipsel_fpu_hard_openssl0.9.8_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_fpu_hard_openssl1.0.0_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_fpu_hard_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_old_fpu_hard_openssl0.9.8_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_old_fpu_hard_openssl1.0.0_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_old_fpu_hard_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_fpu_soft_openssl0.9.8_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_fpu_soft_openssl1.0.0_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_fpu_soft_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_old_fpu_soft_openssl0.9.8_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_old_fpu_soft_openssl1.0.0_dash_librtmp_native_rtmp.tar.gz
 
ffmpeg3.2.2_mipsel_old_fpu_soft_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz
 
 
One can see the full name of a package as follows:
 
 
 
http://iptvplayer.pl/FAQ/screens/ffmpeg_packages.png
 
 
 
 
 
'''FFMPEG INSTALLATION PROCEDURE'''
 
Give a series of following telnet commands...
 
 
 
General example:
 
cd /tmp
 
wget http://iptvplayer.pl/resources/ffmpeg3.2.2_mipsel_XXX_YYY_YYY_opensslZ.Z.Z_dash_librtmp_native_rtmp.tar.gz
 
tar -xvf ffmpeg3.2.2_mipsel_XXX_YYY_YYY_opensslZ.Z.Z_dash_librtmp_native_rtmp.tar.gz -C /
 
rm ffmpeg3.2.2_mipsel_XXX_YYY_YYY_opensslZ.Z.Z_dash_librtmp_native_rtmp.tar.gz
 
 
 
For latest stuff installed, for instance, these commands should follow, as a concrete example:
 
 
 
cd /tmp
 
wget http://iptvplayer.pl/resources/ffmpeg3.2.2_mipsel_fpu_hard_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz
 
tar -xvf ffmpeg3.2.2_mipsel_fpu_hard_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz -C /
 
rm ffmpeg3.2.2_mipsel_fpu_hard_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz
 
 
You should always collect output returned by install command, it will be useful when installation failed.
 
 
After installation you should check if ffmpeg is working correctly:
 
 
 
ffmpeg -version
 
 
 
Sample output:
 
 
 
ffmpeg version 3.2.2 Copyright © 2000-2016 the FFmpeg developers
 
built with gcc 4.9.2 (GCC)
 
configuration: --sysroot=/mnt/new2/xspeedlx1/build-enviroment/builds/openatv/release/et4x00/tmp/sysroots/et4x00 --cross-prefix=mipsel-oe-linux- --prefix=/mnt/new2/_BRCM_/exteplayer3/tmp/ffmpeg/tmp/mipsel/ffmpeg-3.2.2/usr/ --enable-cross-compile --target-os=linux --arch=mipsel --disable-mipsdsp --disable-mipsdspr2 --disable-mipsfpu --enable-pic --enable-shared --disable-static --disable-debug --disable-ffplay --disable-ffprobe --disable-ffserver --disable-outdevs --disable-doc --disable-htmlpages --disable-manpages --disable-podpages --disable-txtpages --disable-lzma --enable-openssl --enable-zlib --enable-cross-compile --enable-small --disable-sdl --disable-xlib --disable-d3d11va --disable-dxva2 --disable-vaapi --disable-vda --disable-vdpau --enable-nonfree --disable-muxers --disable-encoders --disable-devices --enable-librtmp --extra-cflags=' -mel -mabi=32 -march=mips32 -I/mnt/new2/xspeedlx1/build-enviroment/builds/openatv/release/et4x00/tmp/sysroots/et4x00/usr/include/libxml2/ -I/mnt/new2/new_openssl_mipsel/openssl-1.0.2g/include/ -L/mnt/new2/new_openssl_mipsel/openssl-1.0.2g/ -L/mnt/new2/new_openssl_mipsel/rtmpdump/librtmp/ ' --extra-ldflags=' -L/mnt/new2/new_openssl_mipsel/openssl-1.0.2g/ -L/mnt/new2/new_openssl_mipsel/rtmpdump/librtmp/ -lssl -lcrypto -lrtmp -lxml2 '
 
 
libavutil      55. 34.100 / 55. 34.100
 
libavcodec    57. 64.101 / 57. 64.101
 
libavformat    57. 56.100 / 57. 56.100
 
libavdevice    57.  1.100 / 57.  1.100
 
libavfilter    6. 65.100 /  6. 65.100
 
libswscale      4.  2.100 /  4.  2.100
 
libswresample  2.  3.100 /  2.  3.100
 
 
 
'''IPTV PLAYER INSTALLATION'''
 
rm  -rf  /usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer
 
cd /tmp
 
wget http://iptvplayer.vline.pl/download/update/latest.pythonX.X.tar.gz
 
tar -xzf latest.pythonX.X.tar.gz -C /tmp
 
rm latest.pythonX.X.tar.gz
 
cp -r iptvplayer-for-e2.git/IPTVPlayer /usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer
 
rm -rf iptvplayer-for-e2.git/IPTVPlayer
 
sync
 
reboot
 
 
 
'''CONFIGURE IPTV Player'''
 
After reboot, go to Menu > Plugins > IPTV Player and configure it carefully according to your needs, HW, internet connection etc.
 
 
 
Do it carefully!!! Everything, from:
 
 
 
* which players to enable/disable,
 
* where to place buffering,
 
* eplayer3 options,
 
* which players have priority by default (with or without buffering)
 
* which player to start automatically with or without buffering
 
* proxies, if needed to overcome geoblocking (one can also set a proxy in Enigma2 settings > Network device > Primary and Secondary DNS addresses)
 
* ...and onwards...
 
 
 
Just go into each option and try various settings, to see what works best for you and your HW etc.<br />
 
Make sure you have USB or HDD mounted/accessible and IPTV Player directed to those devices, so everything can function as intended!
 
 
 
Before choosing a channel/file use the blue button to choose the default player, with or without buffering, according to your situation/HW/internet speed etc.
 
 
 
----
 
For developers, to include the latest in your images<br />
 
Repo: https://gitlab.com/iptvplayer-for-e2/iptvplayer-for-e2
 
 
 
Last version with source code: http://iptvplayer.vline.pl/download/update/latest.pythonX.X.tar.gz
 
 
 
Good luck!
 
gorski
 
 
 
<u>'''P.S.'''</u> Once in a list of videos to play, "Press "8" on your remote to play all videos. You can also play in random order: press blue -> randomize..."<br />
 
<u>'''P.P.S.'''</u> For subtitles one must use extplayer3 and via blue button choose the correct subs to download. Use the same button to sync the subs, if they aren't at the correct speed/spot.
 

Revision as of 20:48, 8 July 2017

New URL: https://wiki.openpli.org/Plugin_Wiki:Iptvplayer