1、下载ffmpeg。

    wget http://down1.chinaunix.net/distfiles/ffmpeg-0.4.9-p20051120.tar.bz2

  我是在这个网址上下载ffmpeg-0.4.9-p20051120.tar.bz2,看网上有人用的是svn下载,但是我的机子中没有svn客户端,然后就在网上搜索,下载了这个版本。如果利用svn可以下载ffmpeg最新的版本。

  svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg

  2、解压

  tar xvfj ffmpeg-0.4.9-p20051120.tar.bz2

  得到解压后的目录是ffmpeg-0.4.9-p20051120,名字太长,利用mv命令改为ffmpeg

  mv ffmpeg-0.4.9-p20051120.tar.bz2 ffmpeg

  3、配置

  ./configure --enable-shared --prefix=/usr/local/ffmpeg

  其中:--enable-shared 是允许其编译产生动态库,在以后的编程中要用到这个几个动态库。--prefix设置的安装目录。

  4、编译并安装

  make 
  make install

  5、安装之后在/usr/local/ffmpeg会看到有三个目录

  lib 动态链接库位置 
  include 编程要用到头文件 
  bin 执行文件所在的目录

  6、为了以后方便编程,我们把lib中的三个链接库libavcodec.so libavformat.so libavutil.so复制到/usr/lib下。把include目录下的ffmpeg目录复制到/usr/include下。

这里我这样复制了还是不对,-lavcodec -lavutil -lavformat的时候,提示找不到库

然后我把 /usr/local/ffmpeg/lib  所有文件复制到 /usr/local/lib才可以的
  执行bin目录下的ffplay,可以去播放音频或者视频文件。例如播放1.mp3

  ./ffplay 1.mp3

  另外,bin目录下还有两个文件:ffmpeg和ffserver

  ffmpeg是一个很好的视频和音频的格式转化工具。网上有很多它的说明文档。如果不想生成ffserver,只要在./configure的时候加--disable-ffserver即可。

  7、编程

  如果写了一个test.c文件,要包含ffmpeg的头文件,可以这样写:

  #include

  编译:gcc -o test test.c -lavformat -lavcodec -lavtuil (前提是有第6步的操作)

  如果没有第6部的操作,则编译的时候如下:

  gcc -o test test.c -I/usr/local/ffmpeg/include -L/usr/local/ffmpeg/lib -lavformat -lavcodec -lavtuil

  编译成功之后,执行的时候还是需要动态库的支持,还是要把那三个动态库文件复制到/usr/lib或者/lib中,不然执行的时候会说找不到动态库链接。还有一个方法可以解决这个问题,就是把/usr/local/ffmpeg/lib这个目录加入到/etc/ld.so.config中,然后执行 ldconfig,或者重启电脑,这样执行的时候系统就可以从/usr/local/ffmpeg/lib这个目录下去找这三个动态库文件了。

  以上的方式是采用动态库编译ffmpeg的,如果在configure的时候不加上--enable-shared的,则采用静态链接的方式,不会生成那三个动态库。同时生成的ffplay、ffmpeg的执行文件也比较的大,因为他们不需要动态库的支持,就可以执行。但是不利于再次开发,所以我采用动态链接的方式。configure中还有很多的选项,可以通过./configure --help查看,也可以直接查看configure文件。这在配置的时候很重要。

ffmpeg 在linux下编译相关推荐

  1. linux编译ffmpeg.exe,linux下编译FFmpeg

    linux下编译FFmpeg 2020年01月11日 阅读数:12 这篇文章主要向大家介绍linux下编译FFmpeg,主要内容包括基础应用.实用技巧.原理机制等方面,希望对大家有所帮助. 1.首先获 ...

  2. FFmpeg在Linux下编译使用

    1.FFmpeg编译 1.1.安装yasm 这里我是直接通过ubuntu包安装的,当然也可以通过编译源码来安装. sudo apt-get install yasm 1.2.下载FFmpeg git ...

  3. LINUX 下编译 ffmpeg

    转载请把头部出处链接和尾部二维码一起转载,本文出自:http://blog.csdn.net/hejjunlin/article/details/52402759 今天介绍下FFmpeg在Linux下 ...

  4. FFmpeg在Linux下搭建

    今天介绍下FFmpeg在Linux下安装编译过程,总体过程比较顺利,就是在ffmpeg等的时间稍长点,仅当记录. 关于FFmpeg FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采 ...

  5. FFmpeg在Linux下搭建 ***

    今天介绍下FFmpeg在Linux下安装编译过程,总体过程比较顺利,就是在ffmpeg等的时间稍长点,仅当记录. 关于FFmpeg FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采 ...

  6. 在Ubuntu18.04安装GMT-6.1.1(在 Linux 下编译 GMT 源代码)

    参考:GMT中文社区 写本文的目的:参考了CSDN上面许多安装GMT方法但是安装过程出现了各种问题,可能因为下载了官网的最新版本,而CSDN都是老版的安装方法有些地方不适用,走了好多弯路.后来才发现G ...

  7. linux 保存编译log,(转)Linux下编译安装log4cxx

    一个项目的服务器端在Linux平台下,用到了开源日志库log4cxx,这个库是apache项目的一个子库.功能很不错.下面记录下它的编译和安装过程. 第一步安装apr-1.3.8,顺序不能错,它必须首 ...

  8. linux下编译make文件报错“/bin/bash^M: 坏的解释器,使用grep快速定位代码位置

    一.linux下编译make文件报错"/bin/bash^M: 坏的解释器 参考文章:http://blog.csdn.net/liuqiyao_01/article/details/415 ...

  9. 一份简单的在 Linux下编译及调试 C 代码的指南

    摘要: 一份简单的在 Linux下编译及调试 C 代码的指南 对于Linux下的C程序员来说,几乎天天都会和Linux打交道.但在很多人的眼中,Linux是一个易用性极差.靠命令驱动的操作系统,根本无 ...

  10. linux下软件编译终止,[2018年最新整理]linux下编译运行程序命令大全.ppt

    [2018年最新整理]linux下编译运行程序命令大全 1. 项目课题引入 2. Vi编辑器的使用方法 3. Linux中C语言程序的编辑 4. Linux中C语言程序的运行 5. 现场演示案例 课题 ...

最新文章

  1. rabbitmq怎样确认是否已经消费了消息_【朝夕专刊】RabbitMQ生产者/消费者消息确认...
  2. 【青少年编程】【三级】青蛙捕虫
  3. 附庸风雅(2006-10-20 13:39:32)(新浪)
  4. CookiePolicy 原理解析
  5. XGBoost 与 Spark 在广告排序中的应用
  6. Django(part25)--字段查询
  7. 检测同心圆_(二)光线如何被眼睛检测到?
  8. Python之数据分析(间接联合排序、所有最值相关函数、有序插入、定积分、插值器对象)
  9. RobotStudio双传送带系统的搭建
  10. Mysql 联合索引入门
  11. mysql命令行操作语句_MySQL常用命令行操作语句
  12. DevExpress学习之Gridcontrol
  13. 捷联惯导算法(一)程序简单实现
  14. 全国各省五等份收入统计(2000-2017年)
  15. 配置Skype for business 2015混合部署
  16. Bootstrap系列之表单(Forms)
  17. 天呐!惊人的Springboot测试.Springboot测试类之@RunWith注解
  18. visual studio code 简介
  19. catkin_make问题: The build space at ‘/home/lufeng/Documents/test/catkin_ws/build’ was previously built
  20. 数据趣事之父亲节专辑

热门文章

  1. 引用类型和值类型区别(一)
  2. python keras_用Python/Keras/Flask/Docker在Kubernetes上部署深度学习模型
  3. grasshopper插件_【Grasshopper 的奇技淫巧】 —— 插件(二)
  4. Spark HA 集群搭建【1、基于文件系统的手动HA 2、基于zk的自动HA】
  5. css的写法 有点凌乱(养成这习惯 神马浏览器兼容都是浮云 so easy)
  6. JavaScript设计模式入坑 1
  7. 监控web状态的脚本
  8. IE8 SVG Viewer下一些对象属性和方法
  9. restful接口的设计规范
  10. spring循环依赖 第二讲