安装FFmpeg后,发现没有生成ffplay的解决办法

首先在官网上下载最新的FFmpeg压缩包:

http://ffmpeg.org/download.html

压缩包的格式是.tar.bz2,解压压缩文件,以ffmpeg-3.3.4为例,这里需要用到的命令是:

$ tar -jxvf ffmpeg-3.3.4.tar.bz2
    
    

然后到解压下的文件夹下查看INSTALL.md

$ cat INSTALL.md 
    
    

#Installing FFmpeg:


1. Type `./configure` to create the configuration. A list of configure
options is printed by running `configure –help`.


    `configure` can be launched from a directory different from the FFmpeg
sources to build the objects out of tree. To do this, use an absolute
path when launching `configure`, e.g. `/ffmpegdir/ffmpeg/configure`.


2. Then type `make` to build FFmpeg. GNU Make 3.81 or later is required.


3. Type `make install` to install all binaries and libraries you built.


NOTICE
——


 - Non system dependencies (e.g. libx264, libvpx) are disabled by default.
很清楚地说明了上述三个步骤。

所以执行第一步:

$ ./configure
    
    

提示:yasm/nasm not found or too old. Use –disable-yasm for a crippled build.

发现没有安装yasm,所以安装yasm:

$ sudo apt-get install yasm
    
    
安装后重新执行上述第一步操作,生成配置文件

然后进行编译:

$ make
    
    
编译时会出现一些warning,应该是可以忽略的,只要最后编译通过并没有报错,编译后安装:

$ make install
    
    
发现问题:

mkdir: cannot create directory ‘/usr/local/share/man/man1’: Permission denied
doc/Makefile:155: recipe for target ‘install-man’ failed
make: *** [install-man] Error 1

这个错误的原因是:创建文件夹是没有 权限,所以用超级用户身份执行:

$ sudo <span class="hljs-built_in"><span class="hljs-built_in">make</span></span> install</code><div class="hljs-button" data-title="复制"></div></pre>安装成功后查看版本:<pre onclick="hljs.copyCode(event)"><code class="language-ruby hljs">$ ffmpeg -version
    
    

    
    
  1. ffmpeg version 3.3 .4 Copyright (c) 2000 -2017 the FFmpeg developers
  2. built with gcc 5.4 .0 (Ubuntu 5.4 .0 -6ubuntu1~ 16.04 .4) 20160609
  3. configuration:
  4. libavutil 55. 58.100 / 55. 58.100
  5. libavcodec 57. 89.100 / 57. 89.100
  6. libavformat 57. 71.100 / 57. 71.100
  7. libavdevice 57. 6.100 / 57. 6.100
  8. libavfilter 6. 82.100 / 6. 82.100
  9. libswscale 4. 6.100 / 4. 6.100
  10. libswresample 2. 7.100 / 2. 7.100

最后发现并没有编译出ffplay,在使用ffplay播放视频的时候没有找到ffplay.然后查看configure生成的config.mak文件,发现其中的关于

FFPLAY的一行前面有感叹号:

!CONFIG_FFPLAY=yes
    
    
也就是在生成配置文件时由于某些原因并没有成功生成编译ffplay的配置,最后查找原因是由于缺少了两个库:

sdl2.0

sdl1.2

主要是参照了博文:http://blog.csdn.net/lbaihao/article/details/53148788
安装sdl1.2十分方便,直接通过apt-get进行:

$ sudo apt-get install libsdl1.2-dev
    
    
其中出现了一个错误:

E: Failed to fetch http://202.119.32.195/cache/8/01/cn.archive.ubuntu.com/3991d768c0651a8fda450b69be432e3d/libpcre3-dev_8.38-3.1_amd64.deb  Writing more data than expected (117288 > 113824)


E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
所以按照提示:

$ sudo apt-get install libsdl1.2-dev --fix-missing
    
    
安装成功。接下来安装sdl2.0:

在官网上去下载sdl2.0:http://www.libsdl.org/download-2.0.php

我下载的是.tar.gz包,下载之后解压:

$ tar -zxvf SDL2-2.0.6.tar.gz
    
    

解压之后进入文件夹,进行编译安装:


    
    
  1. $ mkdir build</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ cd build
  2. $ ../configure</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ make
  3. $ sudo make install
这样就安装了sdl2.0

最后进入ffmpeg的文件夹进行清理:


    
    
  1. $ sudo <span class="hljs-built_in"><span class="hljs-built_in">make</span></span> uninstall</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ make distclean
清理之后在进行上述的安装ffmpeg步骤:


    
    
  1. $ mkdir build</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ cd ./build
  2. $ ../configure</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ make
  3. $ sudo make install
也可以去看在configure后生成的config.mak文件中的关于FFPLAY的一行中的!消失:
CONFIG_FFPLAY=yes
最后安装完成,FFplay就可以使用了!












转载自:https://blog.csdn.net/thomaszhaoyc/article/details/78233555

首先在官网上下载最新的FFmpeg压缩包:

http://ffmpeg.org/download.html

压缩包的格式是.tar.bz2,解压压缩文件,以ffmpeg-3.3.4为例,这里需要用到的命令是:

$ tar -jxvf ffmpeg-3.3.4.tar.bz2
  
  

然后到解压下的文件夹下查看INSTALL.md

$ cat INSTALL.md 
  
  

#Installing FFmpeg:


1. Type `./configure` to create the configuration. A list of configure
options is printed by running `configure –help`.


    `configure` can be launched from a directory different from the FFmpeg
sources to build the objects out of tree. To do this, use an absolute
path when launching `configure`, e.g. `/ffmpegdir/ffmpeg/configure`.


2. Then type `make` to build FFmpeg. GNU Make 3.81 or later is required.


3. Type `make install` to install all binaries and libraries you built.


NOTICE
——


 - Non system dependencies (e.g. libx264, libvpx) are disabled by default.
很清楚地说明了上述三个步骤。

所以执行第一步:

$ ./configure
  
  

提示:yasm/nasm not found or too old. Use –disable-yasm for a crippled build.

发现没有安装yasm,所以安装yasm:

$ sudo apt-get install yasm
  
  
安装后重新执行上述第一步操作,生成配置文件

然后进行编译:

$ make
  
  
编译时会出现一些warning,应该是可以忽略的,只要最后编译通过并没有报错,编译后安装:

$ make install
  
  
发现问题:

mkdir: cannot create directory ‘/usr/local/share/man/man1’: Permission denied
doc/Makefile:155: recipe for target ‘install-man’ failed
make: *** [install-man] Error 1

这个错误的原因是:创建文件夹是没有 权限,所以用超级用户身份执行:

$ sudo <span class="hljs-built_in"><span class="hljs-built_in">make</span></span> install</code><div class="hljs-button" data-title="复制"></div></pre>安装成功后查看版本:<pre onclick="hljs.copyCode(event)"><code class="language-ruby hljs">$ ffmpeg -version
  
  

  
  
  1. ffmpeg version 3.3 .4 Copyright (c) 2000 -2017 the FFmpeg developers
  2. built with gcc 5.4 .0 (Ubuntu 5.4 .0 -6ubuntu1~ 16.04 .4) 20160609
  3. configuration:
  4. libavutil 55. 58.100 / 55. 58.100
  5. libavcodec 57. 89.100 / 57. 89.100
  6. libavformat 57. 71.100 / 57. 71.100
  7. libavdevice 57. 6.100 / 57. 6.100
  8. libavfilter 6. 82.100 / 6. 82.100
  9. libswscale 4. 6.100 / 4. 6.100
  10. libswresample 2. 7.100 / 2. 7.100

最后发现并没有编译出ffplay,在使用ffplay播放视频的时候没有找到ffplay.然后查看configure生成的config.mak文件,发现其中的关于

FFPLAY的一行前面有感叹号:

!CONFIG_FFPLAY=yes
  
  
也就是在生成配置文件时由于某些原因并没有成功生成编译ffplay的配置,最后查找原因是由于缺少了两个库:

sdl2.0

sdl1.2

主要是参照了博文:http://blog.csdn.net/lbaihao/article/details/53148788
安装sdl1.2十分方便,直接通过apt-get进行:

$ sudo apt-get install libsdl1.2-dev
  
  
其中出现了一个错误:

E: Failed to fetch http://202.119.32.195/cache/8/01/cn.archive.ubuntu.com/3991d768c0651a8fda450b69be432e3d/libpcre3-dev_8.38-3.1_amd64.deb  Writing more data than expected (117288 > 113824)


E: Unable to fetch some archives, maybe run apt-get update or try with –fix-missing?
所以按照提示:

$ sudo apt-get install libsdl1.2-dev --fix-missing
  
  
安装成功。接下来安装sdl2.0:

在官网上去下载sdl2.0:http://www.libsdl.org/download-2.0.php

我下载的是.tar.gz包,下载之后解压:

$ tar -zxvf SDL2-2.0.6.tar.gz
  
  

解压之后进入文件夹,进行编译安装:


  
  
  1. $ mkdir build</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ cd build
  2. $ ../configure</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ make
  3. $ sudo make install
这样就安装了sdl2.0

最后进入ffmpeg的文件夹进行清理:


  
  
  1. $ sudo <span class="hljs-built_in"><span class="hljs-built_in">make</span></span> uninstall</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ make distclean
清理之后在进行上述的安装ffmpeg步骤:


  
  
  1. $ mkdir build</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="2"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ cd ./build
  2. $ ../configure</div></div></li><li><div class="hljs-ln-numbers"><div class="hljs-ln-line hljs-ln-n" data-line-number="4"></div></div><div class="hljs-ln-code"><div class="hljs-ln-line">$ make
  3. $ sudo make install
也可以去看在configure后生成的config.mak文件中的关于FFPLAY的一行中的!消失:
CONFIG_FFPLAY=yes
最后安装完成,FFplay就可以使用了!












转载自:https://blog.csdn.net/thomaszhaoyc/article/details/78233555

猜你喜欢

转载自blog.csdn.net/baidu_38172402/article/details/81048325
今日推荐