Difference between revisions of "Iptvplayer"

From OpenPLi Wiki
Jump to: navigation, search
(Created page with "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, for...")
 
Line 17: Line 17:
 
Sample output:
 
Sample output:
  
    Filesystem                Size      Used Available Use% Mounted on
+
Filesystem                Size      Used Available Use% Mounted on
    ubi0:rootfs            440.3M    183.2M    257.0M  42% /
+
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
 
If you do not have enough flash memory for all of the plugins etc. that you want to install, then
Line 24: Line 24:
  
 
A) Flash Expander for which you need a USB memory stick, with 2 partitions (best in EXT4 format):
 
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
+
-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.
+
-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.
 
I would recommend Mini Tool Partition Wizard 10, under Windows OS, to partition and format the USB stick.
Line 39: Line 39:
 
3) hard/soft float
 
3) hard/soft float
 
   
 
   
#################################
 
 
1) How to check your OpenSSL version:
 
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:
 
One has to connect with your STB and then give this telnet command, for example, using a programme called PuTTy:
Line 77: Line 75:
 
Sample output:
 
Sample output:
  
    OPENSSL_cleanse
+
OPENSSL_cleanse
    OPENSSL_DIR_read
+
OPENSSL_DIR_read
    OPENSSL_DIR_end
+
OPENSSL_DIR_end
    OPENSSL_1.0.0
+
OPENSSL_1.0.0
    OPENSSL_1.0.1
+
OPENSSL_1.0.1
    OPENSSL_1.0.1d
+
OPENSSL_1.0.1d
    OPENSSL_1.0.2
+
OPENSSL_1.0.2
    OPENSSL_DIR_read(&ctx, '
+
OPENSSL_DIR_read(&ctx, '
    OPENSSL_malloc Error
+
OPENSSL_malloc Error
  
 
So, in this case one knows one has version 1.0.2.
 
So, in this case one knows one has version 1.0.2.
 
   
 
   
########################
 
 
2) How to check glibc version:
 
2) How to check glibc version:
########################
 
  
 
Checking glibc version is very easy:
 
Checking glibc version is very easy:
Line 103: Line 99:
 
I.e. this indicates version 2.21.
 
I.e. this indicates version 2.21.
 
   
 
   
########################
 
 
3) Checking for hard/soft float:
 
3) Checking for hard/soft float:
########################
 
  
 
One must give the following telnet commands:
 
One must give the following telnet commands:
Line 122: Line 116:
  
 
Tag_GNU_MIPS_ABI_FP: Hard float (double precision)
 
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.
 
When you already know versions of OpenSSL, glibc used in your image and used FPU mode you are ready to choose ffmpeg package.
Line 130: Line 122:
  
 
All packages are available here: http://iptvplayer.pl/resources/ (one can find SH4 and ARM platforms covered there, as well)
 
All packages are available here: http://iptvplayer.pl/resources/ (one can find SH4 and ARM platforms covered there, as well)
 +
  
 
Packages for MIPSEL platforms:
 
Packages for MIPSEL platforms:
Line 163: Line 156:
 
One can see the full name of a package as follows:
 
One can see the full name of a package as follows:
  
[http://iptvplayer.pl/FAQ/screens/ffmpeg_packages.png]
+
http://iptvplayer.pl/FAQ/screens/ffmpeg_packages.png
  
=======ffmpeg Installation procedure=======
+
 
 +
FFMPEG INSTALLATION PROCEDURE
  
 
Give a series of following telnet commands...
 
Give a series of following telnet commands...
Line 175: Line 169:
 
tar -xvf ffmpeg3.2.2_mipsel_XXX_YYY_YYY_opensslZ.Z.Z_dash_librtmp_native_rtmp.tar.gz -C /
 
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
 
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:
 
For latest stuff installed, for instance, these commands should follow, as a concrete example:
Line 192: Line 185:
 
Sample output:
 
Sample output:
  
    ffmpeg version 3.2.2 Copyright © 2000-2016 the FFmpeg developers
+
ffmpeg version 3.2.2 Copyright © 2000-2016 the FFmpeg developers
    built with gcc 4.9.2 (GCC)
+
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 '
+
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
+
libavutil      55. 34.100 / 55. 34.100
    libavcodec    57. 64.101 / 57. 64.101
+
libavcodec    57. 64.101 / 57. 64.101
    libavformat    57. 56.100 / 57. 56.100
+
libavformat    57. 56.100 / 57. 56.100
    libavdevice    57.  1.100 / 57.  1.100
+
libavdevice    57.  1.100 / 57.  1.100
    libavfilter    6. 65.100 /  6. 65.100
+
libavfilter    6. 65.100 /  6. 65.100
    libswscale      4.  2.100 /  4.  2.100
+
libswscale      4.  2.100 /  4.  2.100
    libswresample  2.  3.100 /  2.  3.100
+
libswresample  2.  3.100 /  2.  3.100
 +
 
  
==============IPTV Player installation=============
+
IPTV PLAYER INSTALLATION
  
 
rm  -rf  /usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer
 
rm  -rf  /usr/lib/enigma2/python/Plugins/Extensions/IPTVPlayer
Line 215: Line 209:
 
reboot
 
reboot
  
================CONFIGURE IPTV Player==============
+
CONFIGURE IPTV Player
  
 
After reboot, go to Menu > Plugins > IPTV Player and configure it carefully according to your needs, HW, internet connection etc.
 
After reboot, go to Menu > Plugins > IPTV Player and configure it carefully according to your needs, HW, internet connection etc.
Line 233: Line 227:
 
Make sure you have USB or HDD mounted/accessible and IPTV Player directed to those devices, so everything can function as intended!
 
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.
 
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
 
For developers, to include the latest in your images

Revision as of 19:20, 2 July 2017

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, 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.