首先在官网上下载最新的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后,发现没有生成ffplay的解决办法相关推荐

  1. vm虚拟机安装系统后出现operating system not found解决办法(VM装ghost 不能进系统的解决方法)

    vm虚拟机安装系统后出现operating system not found解决办法不知你使用那种软件分的区?   用DIANGEN的话,它本来就清楚列明了激活分区选项的. 如果用PQ分区的话,还必须 ...

  2. 关于“安装oracle 11g 后发现没有hr用户”的解决办法

    关于"安装oracle 11g 后发现没有hr"的解决办法 首先,我们在电脑的底部工具栏进行搜索 找到OracleDatabase Configuration Assistant ...

  3. php.ini var dump,php安装xdebug后var_dump()不能输变量内容解决办法

    有人问为什么php安装xdebug后var_dump()不能输变量内容呢,里面的变量都是直接输出而不是把变量中的内容输出呢,下面我们只要简单的配置一下xdebug即可解决了. php开发环境里,安装了 ...

  4. mysql 5.5.42,mysql-5.1.42安装完成后,出现如下错误的解决办法

    mysql-5.1.42安装完成后,出现如下错误: bash-3.00# ./mysqld_safe & [1] 2307 bash-3.00# 100114 23:04:33 mysqld_ ...

  5. linux mint安装中文包_Linux Mint 安装中文后菜单字体变成楷体的解决办法

    前言 在安装了ibus输入法后,系统的中文字体被强制全部改成了楷体,非常难受,网上很多教程设置非常复杂,找到了一篇比较简单的. 更新(2017年7月4日):最新发布的 Linux Mint 18.2 ...

  6. ubuntu14.04 刚安装完成后汉语拼音输入法出错问题的解决办法

    刚刚装完ubuntu14.04后,在中文环境下,系统自带的汉语拼音输入法可能出现显示的汉字不是输入拼音所对应的汉字的问题,解决办法是,只需要在终端下执行 ibus-daemon -drx 这句命令就行 ...

  7. 希望查询windows下安装cygwin后ssh服务无法启动的解决办法

    最近研究希望查询,稍微总结一下,以后继续补充: 解决方法 add following line in /etc/passwd sshd:x:74:74:Privilege-separated SSH: ...

  8. upupw mysql崩溃_安装UPUPW后出现SQL语句运行错误解决办法

    如果执行SQL出现错误,如: #1366 - Incorrect integer value: '' for column 'xxx' at row 1 在执行插入语句时,xxx的值不应该像以前那样写 ...

  9. Eclipse安装Pydev后Window-Preferences没有显示PyDev的解决办法

    原因 Eclipse 4.5, Java 8: PyDev 5.2.0 Eclipse 3.8, Java 7: PyDev 4.5.5 Eclipse 3.x, Java 6: PyDev 2.8. ...

最新文章

  1. 每个程序员必看:如何在40岁后继续做软件开发?
  2. docker nodejs 基本应用
  3. 经过研究发现。c++里面的const意思是说,我是const,成员也是const!!!
  4. 机器视觉 · 立体相机
  5. 文本分类与聚类(text categorization and clustering)
  6. uva 11401思维+预处理
  7. pynlpir(ICTCLAS)初步使用
  8. r语言三维柱状图_R语言三维图的绘制
  9. 表单表格-为什么标签需要语义化
  10. 性能测试中的jvm监控
  11. 故事 - 100℃的人生
  12. java 人民币大写_Java实现人民币大写精讲
  13. uni-app自动定位当前位置
  14. oracle+归档时间设置,oracle 归档设置
  15. swagger转换成word文档
  16. python之图片文本识别
  17. #define用法【转】
  18. Python综合评价模型(二)灰色关联度法
  19. VCam 虚拟摄像头 V3.1.0 下载 - 天空软件站 - 聊天工具 - 联络聊天
  20. 视频采集卡二次开发(天敏SDK2500+openCV)

热门文章

  1. C语言中利用switch语句和 if--else 语句输出,,闰年或平年,及每月对应的天数。
  2. C语言输出字母小树,数字小树,**号小树
  3. C#LeetCode刷题之#88-合并两个有序数组(Merge Sorted Array)
  4. C#算法设计查找篇之03-插值查找
  5. C#设计模式之21-策略模式
  6. 怎么让前端项目运行起来_如何立即使您的前端项目看起来更好
  7. vscode创建代码截图_如何在VSCode中创建代码配置文件
  8. 黑客马拉松 招募_举办第一次黑客马拉松的提示
  9. lynda ux_UX编排原理
  10. Java 猜字谜游戏