Difference between revisions of "Iptvplayer"

From OpenPLi Wiki
Jump to: navigation, search
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
FFMPEG INSTALLATION FOR MIPSEL PLATFORMS
+
Notice: this page has been moved to: https://wiki.openpli.org/Plugin_Wiki:Iptvplayer
 
 
Before everything else, check if your image already has an ffmepg package installed by sending this telnet command (using PuTTy, for instance):
 
 
 
ffmpeg -version
 
 
 
If you see "Command not recognised" or so - you need to install it.
 
 
 
Preparation:
 
 
 
Before installation make sure that you have enough space in your rootfs. You need at least 15MB free space.
 
 
 
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...
 
 
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
 
 
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.
 
 
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.
 
 
 
If you have glibc version lower than 2.20 you need to use package for _old_
 
 
 
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.
 
 
 
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
 
 
 
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
 
 
 
P.S. 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..."
 
 
 
P.P.S. 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.
 

Latest revision as of 20:54, 8 July 2017

Notice: this page has been moved to: https://wiki.openpli.org/Plugin_Wiki:Iptvplayer