How to install ffmpeg

Hi, after most recent array crash (raid10 … and it still corrupted data) I need to scan all the files for errors.

I need ffmpeg for that and it seems there is no easy way for doing that.

Hi @Tomasz_Kusmierz,
so you need to move your cats movies from mov to H.264 uh? :stuck_out_tongue:

Hope this will help, found a good guide from ffmpeg.org:

https://trac.ffmpeg.org/wiki/CompilationGuide/Centos

Mirko

Nope, I’ve got a trick to check whenever all videos are intact by destroyed array:

find -name “*.mkv” -exec sh -c “echo ‘{}’ >> errors.log; ffmpeg -v error -i ‘{}’ -map 0:1 -f null - 2>> errors.log” ;

pretty simple and it works like a charm :slight_smile:

anyway, back to ffmepg - compile it from source ? WTF ? there should be a package … this is what I got from yum
[root@server ~]# yum install ffmpeg
Loaded plugins: changelog, fastestmirror
Rockstor-Testing | 2.9 kB 00:00:00
rockstor | 2.9 kB 00:00:00
Loading mirror speeds from cached hostfile

  • base: anorien.csc.warwick.ac.uk
  • elrepo: mirrors.coreix.net
  • epel: anorien.csc.warwick.ac.uk
  • extras: mirrors.coreix.net
  • nux-dextop: mirror.li.nux.ro
  • updates: mirror.vorboss.net
    Resolving Dependencies
    –> Running transaction check
    —> Package ffmpeg.x86_64 0:2.6.8-3.el6.nux will be installed
    –> Processing Dependency: ffmpeg-libs(x86-64) = 2.6.8-3.el6.nux for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libswscale.so.3(LIBSWSCALE_3)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libswresample.so.1(LIBSWRESAMPLE_1)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libpostproc.so.53(LIBPOSTPROC_53)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavutil.so.54(LIBAVUTIL_54)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavresample.so.2(LIBAVRESAMPLE_2)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavformat.so.56(LIBAVFORMAT_56)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavfilter.so.5(LIBAVFILTER_5)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavdevice.so.56(LIBAVDEVICE_56)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavcodec.so.56(LIBAVCODEC_56)(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libvdpau.so.1()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libswscale.so.3()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libswresample.so.1()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libpostproc.so.53()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavutil.so.54()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavresample.so.2()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavformat.so.56()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavfilter.so.5()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavdevice.so.56()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libavcodec.so.56()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libSDL-1.2.so.0()(64bit) for package: ffmpeg-2.6.8-3.el6.nux.x86_64
    –> Running transaction check
    —> Package SDL.x86_64 0:1.2.15-14.el7 will be installed
    —> Package ffmpeg-libs.x86_64 0:2.6.8-3.el6.nux will be installed
    –> Processing Dependency: libgnutls.so.26(GNUTLS_1_4)(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libxvidcore.so.4()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libx265.so.79()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libx264.so.142()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libva.so.1()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libspeex.so.1()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libsoxr.so.0()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libschroedinger-1.0.so.0()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libopus.so.0()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libopenjpeg.so.2()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libmp3lame.so.0()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libgsm.so.1()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libgnutls.so.26()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libfaac.so.0()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libass.so.4()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    —> Package libavdevice.x86_64 0:2.6.8-3.el6.nux will be installed
    –> Processing Dependency: libpulse.so.0(PULSE_0)(64bit) for package: libavdevice-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libv4l2.so.0()(64bit) for package: libavdevice-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libpulse.so.0()(64bit) for package: libavdevice-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libopenal.so.1()(64bit) for package: libavdevice-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libdc1394.so.22()(64bit) for package: libavdevice-2.6.8-3.el6.nux.x86_64
    —> Package libvdpau.x86_64 0:1.1-2.el7 will be installed
    –> Running transaction check
    —> Package faac.x86_64 0:1.28-2.el6.nux will be installed
    –> Processing Dependency: libmp4v2.so.0()(64bit) for package: faac-1.28-2.el6.nux.x86_64
    —> Package ffmpeg-libs.x86_64 0:2.6.8-3.el6.nux will be installed
    –> Processing Dependency: libgnutls.so.26(GNUTLS_1_4)(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libopenjpeg.so.2()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libgnutls.so.26()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    —> Package gsm.x86_64 0:1.0.13-11.el7 will be installed
    —> Package lame-libs.x86_64 0:3.99.5-1.el6.nux will be installed
    —> Package libass.x86_64 0:0.9.12-1.el6.nux will be installed
    –> Processing Dependency: libenca.so.0()(64bit) for package: libass-0.9.12-1.el6.nux.x86_64
    —> Package libdc1394.x86_64 0:2.2.2-3.el7 will be installed
    –> Processing Dependency: libraw1394.so.11()(64bit) for package: libdc1394-2.2.2-3.el7.x86_64
    —> Package libv4l.x86_64 0:0.9.5-4.el7 will be installed
    —> Package libva.x86_64 0:1.2.1-3.el7 will be installed
    –> Processing Dependency: mesa-dri-filesystem for package: libva-1.2.1-3.el7.x86_64
    —> Package openal-soft.x86_64 0:1.16.0-3.el7 will be installed
    —> Package opus.x86_64 0:1.0.2-6.el7 will be installed
    —> Package pulseaudio-libs.x86_64 0:6.0-8.el7 will be installed
    –> Processing Dependency: libsndfile.so.1(libsndfile.so.1.0)(64bit) for package: pulseaudio-libs-6.0-8.el7.x86_64
    –> Processing Dependency: libsndfile.so.1()(64bit) for package: pulseaudio-libs-6.0-8.el7.x86_64
    –> Processing Dependency: libasyncns.so.0()(64bit) for package: pulseaudio-libs-6.0-8.el7.x86_64
    –> Processing Dependency: libXtst.so.6()(64bit) for package: pulseaudio-libs-6.0-8.el7.x86_64
    —> Package schroedinger.x86_64 0:1.0.11-4.el7 will be installed
    —> Package soxr.x86_64 0:0.1.2-1.el7 will be installed
    —> Package speex.x86_64 0:1.2-0.19.rc1.el7 will be installed
    —> Package x264-libs.x86_64 0:0.142-7.20140728gitaf8e768.el6.nux will be installed
    —> Package x265-libs.x86_64 0:1.9-1.el6.nux will be installed
    —> Package xvidcore.x86_64 0:1.3.2-5.el6.nux will be installed
    –> Running transaction check
    —> Package enca.x86_64 0:1.18-1.el7 will be installed
    —> Package faac.x86_64 0:1.28-2.el6.nux will be installed
    –> Processing Dependency: libmp4v2.so.0()(64bit) for package: faac-1.28-2.el6.nux.x86_64
    —> Package ffmpeg-libs.x86_64 0:2.6.8-3.el6.nux will be installed
    –> Processing Dependency: libgnutls.so.26(GNUTLS_1_4)(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libopenjpeg.so.2()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libgnutls.so.26()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    —> Package libXtst.x86_64 0:1.2.2-2.1.el7 will be installed
    –> Processing Dependency: libXi.so.6()(64bit) for package: libXtst-1.2.2-2.1.el7.x86_64
    —> Package libasyncns.x86_64 0:0.8-7.el7 will be installed
    —> Package libraw1394.x86_64 0:2.1.0-2.el7 will be installed
    —> Package libsndfile.x86_64 0:1.0.25-10.el7 will be installed
    —> Package mesa-filesystem.x86_64 0:11.2.2-2.20160614.el7 will be installed
    –> Running transaction check
    —> Package faac.x86_64 0:1.28-2.el6.nux will be installed
    –> Processing Dependency: libmp4v2.so.0()(64bit) for package: faac-1.28-2.el6.nux.x86_64
    —> Package ffmpeg-libs.x86_64 0:2.6.8-3.el6.nux will be installed
    –> Processing Dependency: libgnutls.so.26(GNUTLS_1_4)(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libopenjpeg.so.2()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    –> Processing Dependency: libgnutls.so.26()(64bit) for package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64
    —> Package libXi.x86_64 0:1.7.4-2.el7 will be installed
    –> Finished Dependency Resolution
    Error: Package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64 (nux-dextop)
    Requires: libgnutls.so.26(GNUTLS_1_4)(64bit)
    Error: Package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64 (nux-dextop)
    Requires: libopenjpeg.so.2()(64bit)
    Error: Package: faac-1.28-2.el6.nux.x86_64 (nux-dextop)
    Requires: libmp4v2.so.0()(64bit)
    Error: Package: ffmpeg-libs-2.6.8-3.el6.nux.x86_64 (nux-dextop)
    Requires: libgnutls.so.26()(64bit)
    You could try using --skip-broken to work around the problem
    You could try running: rpm -Va --nofiles --nodigest

You right,
but current ffmpeg is 3.2.4, nux package is 2.6.8-3 and compiling from source you solve all dependencies issues :wink:

EDIT:
Always had ffmpeg from source on Debian family (Debian/Ubuntu) too because of those kind of issues

M.

@phillxnet & @suman : do we have elrepo on our envs? O_o…tested on my Rockstor testing machine and no elrepo

@Tomasz_Kusmierz ?

@Flyer I might have adde elrepo to use kernel 4.9 against problem I’ve had with my array. Anyway I don’t care about any extra packages - I need bare ffmpeg to crawl through mkv files and check their consistency.

BTW, I would sugest pushing kernel to 4.10 because 4.8 has a serious problem with snapshots and qgroups that in my case resulted in FS falling back to RO on snapshot creation (kernel ops) and then in FS crashing whole system on mount. (and AFAIK they did not fix it in 4.9)