FFMPEG: FFPLAY binary not getting generated on compilation

22,466

Solution 1

In ubuntu 13.04, this is howto install libsdl-dev:

sudo apt-get install libsdl1.2-dev

sudo apt-get install libsdl2-dev # 16.04 and up https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu

One way to check if the dev-package is installed is to see if the following binary is installed:

$ which sdl-config 
/usr/bin/sdl-config

And, consider to use the official git-repo:

git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

Solution 2

I ran in the same problem, as pointed by other answers in general it's due to the lack of some dependency. You can check your ffplay dependencies by running:

grep ffplay_deps ffbuild/config.log

In my case (Linux Mint 18) I get the following:

ffplay_deps='avcodec avformat swscale swresample sdl2'

So you have to install all the listed libraries/dependencies. In my particular case I had to install libsdl2-dev in order to fix the problem. If everything is Ok ffplay must appear in the configured programs. You can check this easily by running:

./configure --enable-ffplay | grep "Programs:" -A4

So you get something like:

Programs:
ffmpeg ffplay ffprobe

Solution 3

I was spent 2 weeks to install newest version ffmpeg 2.8.11. This version is used for Ubuntu 16.04. I advise you should install this version. I tested on Ubuntu 12.04 and Ubuntu 14.04 and it worked well. You can install libav-tools like directions above but you will have a problem about compatibility. Because libav-tools and ffmpeg now was developed by two different group. Following my directions. If you have any problem can sent me via an email: [email protected]

$ sudo apt-get update
$ sudo apt-get -y install build-essential checkinstall git libfaac-dev libgpac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libtheora-dev libvorbis-dev pkg-config texi2html yasm zlib1g-dev  libavcodec-extra-53
$ sudo apt-get -y install autoconf automake build-essential libass-dev libfreetype6-dev libtool libva-dev libvdpau-dev libvorbis-dev libxcb1-dev libxcb-shm0-dev libxcb-xfixes0-dev pkg-config texinfo zlib1g-dev
$ sudo apt-get install libdc1394-22 libdc1394-22-dev libgsm1 libgsm1-dev libopenjpeg-dev libschroedinger-1.0-0 libschroedinger-dev libschroedinger-doc libspeex-dev libfaac-dev libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libtheora-dev libvorbis-dev libx11-dev libxfixes-dev libxvidcore-dev libx264-dev
$ wget https://www.ffmpeg.org/releases/ffmpeg-2.8.11.tar.xz
$ tar xf ffmpeg-2.8.11.tar.xz
$ cd ffmpeg-2.8.11/
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-x11grab --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libdc1394 --enable-libfaac --enable-libgsm --enable-libmp3lame --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --disable-yasm // disable yasm if you are using Ubuntu 12.04, if not --enable-yasm
$ make
$ sudo make install

Check ffmpeg, ffserver, ffplay, ffprobe in terminal. Good luck

Share:
22,466
Zax
Author by

Zax

Work Experience: ->Android (SDK and NDK). ->Video Codec Integration (in FFMPEG). ->ASP.Net MVC-4 (Web Application Development).

Updated on February 03, 2022

Comments

  • Zax
    Zax over 2 years

    I have downloaded FFMPEG with FFPLAY enabled code from: https://github.com/cus/ffplay

    I use the following command to configure and make the package:

    ./configure --enable-ffplay
    make
    

    Here it shows that: SDL support no as one of the outputs. But i have sdl packages installed in my system.

    However, the packages created are:

    ffmpeg
    ffmpeg_g
    ffserver
    ffserver_g
    ffprobe
    ffprobe_g
    

    I have referred this post : http://ffmpeg-users.933282.n4.nabble.com/Compiling-FFMPEG-with-ffplay-support-td3414041.html But this didn't help out.

    I checked my config.log, it has the below lines:

    ffplay='yes'
    ffplay_deps='avcodec avformat swscale swresample sdl'
    ffplay_select='rdft crop_filter'
    

    I have the sdl packages installed in my system. What is the issue actually. Could anyone please guide me through this.

  • thomas
    thomas almost 8 years
    And on Fedora the package is named SDL-devel
  • Anil Agrawal
    Anil Agrawal over 7 years
    It worked for me thanks. For latest pkg execute below command sudo apt-get install libsdl2-dev
  • llogan
    llogan over 7 years
    FFmpeg 2.8 release branch is old. Why would you use that?
  • Dang_Ho
    Dang_Ho over 7 years
    I think this 2.8 release is not old. This was release on 2017-02-09. And this version is stable for Ubuntu 16.04. I'm using this and it works well for me.
  • llogan
    llogan over 7 years
    2.8 was derived from the master branch on 2015-09-05. Releases do not get any additional features or other major updates: only the occasional security or bugfix backport. So you're missing 19 months of updates which is a whole different epoch in FFmpeg time. If it works for you that's fine, but in no way is it not old.
  • Dang_Ho
    Dang_Ho over 7 years
    Thanks for you advice.
  • Dang_Ho
    Dang_Ho over 7 years
    Hello LordNeckbeard, I tested what you told me. I tried compile ffmpeg-3.2.4 and after commanded 'make install'. I did not see 'ffplay'. Maybe this version is not as fit as Ubuntu 16.04?
  • t-bltg
    t-bltg about 7 years
    yep, on ubuntu 17.04 use libsdl2-dev NOT libsdl-dev (libsdl1.2-dev)
  • Fredrik Pihl
    Fredrik Pihl about 7 years
  • thang
    thang almost 6 years
    that commandline is screwed up! it has repeated --enable flags
  • PolyTekPatrick
    PolyTekPatrick almost 5 years
    On CentOS 7 with ffmpeg 4.1.3, I needed to do sudo yum install SDL2-devel
  • Michel
    Michel over 2 years
    A little note: the -A1 switch displays one line. In my case ffmpeg (3.4.9) displayed 4 programs, with ffplay on a second line. So it didn't show. Took me a couple of hours to discover. So be safe and make it -A2 or more.
  • rkachach
    rkachach over 2 years
    Fixed, thanks for reporting the issue