Install ffmpeg libraries |
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% / |
To choose the correct ffmpeg package for your image you need to find out the following:
1. How to check your CPU architecture
Connect to your STB console, for example, using a program PuTTy. Then execute following command:
cat /proc/cpuinfo |
Sample output:
processor : 0 model name : ARMv7 Processor rev 3 (v7l) BogoMIPS : 54.00 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm CPU implementer : 0x42 CPU architecture: 7 CPU variant : 0x0 CPU part : 0x00f CPU revision : 3 |
In this case we know that we have ARMv7 CPU
When you get:
system type : BCM7362A0 STB platform machine : Unknown processor : 0 cpu model : Brcm4380 V6.5 FPU V0.1 BogoMIPS : 749.56 cpu MHz : 751.529 wait instruction : yes microsecond timers : yes tlb_entries : 32 extra interrupt vector : yes hardware watchpoint : no isa : mips1 mips2 mips32r1 ASEs implemented : mips16 shadow register sets : 1 kscratch registers : 0 core : 0 VCED exceptions : not available VCEI exceptions : not available |
In this case we know that we have MIPSEL CPU
When you get:
system type : machine : processor : 0 cpu model : sh4 |
In this case we know that we have SH4 CPU
2. How to check your OpenSSL version:
Connect to your STB console, for example, using a program PuTTy. Then execute following command:
openssl version |
Sample output:
OpenSSL 1.0.2d 9 Jul 2015 |
In that case we know that we have version 1.0.2
In case when you get the following output:
-sh: openssl: not found |
You must check OpenSSL version as follow:
ls -la /usr/lib/libssl* |
Example output:
-rwxr-xr-x 1 root root 383624 Aug 19 2015 /usr/lib/libssl.so.0.9.8 |
In this example the OpenSSL version is 0.9.8
When you get:
/usr/lib/libssl.so.1.0.0 |
you must do 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 OPENSSL_malloc Error |
In this example we have version 1.0.2
3. 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 |
In this example we have version 2.21
If you have glibc version lower than 2.20 you need to use package for _old_
4. Checking for hard/soft float:
This step is only needed for MIPSEL platform
To check if you have HARD or SOFT FLOAT glibc you need execute following commands:
wget http://www.iptvplayer.gitlab.io/fpudetect.py -q -O - | python |
Example output:
FPU: Soft float |
or
FPU: Hard Float |
When you already know versions of:
you are ready to choose ffmpeg package.
All packages are available here: https://gitlab.com/samsamsam/precompiled/tree/master/ffmpeg3.4.2
Packages for MIPSEL platforms: |
|
Packages for ARMv7 platforms: |
|
Packages for SH4 platforms: |
|
ffmpeg installation procedure
For example if you have:
|
Then the valid package for you it is:
ffmpeg3.4.2_mipsel_fpu_hard_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz
and you can install it using following commands:
cd /tmp mkdir -p /iptvplayer_rootfs fullwget --no-check-certificate https://gitlab.com/samsamsam/precompiled/raw/master/ffmpeg3.4.2/ffmpeg3.4.2_mipsel_fpu_hard_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz tar -xvf ffmpeg3.4.2_mipsel_fpu_hard_openssl1.0.2_dash_librtmp_native_rtmp.tar.gz -C /iptvplayer_rootfs rm ffmpeg3.4.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 the ffmpeg is working correctly using following command:
/iptvplayer_rootfs/usr/bin/ffmpeg -version |
Sample output:
ffmpeg version 3.4.2 Copyright (C) 2000-2016 the FFmpeg developers |