ubuntu下ffmpeg编译安装 解决库链接不上的问题

ubuntu下ffmpeg编译安装  

1、ffmpeg是什么东西?相信很多人第一次接触这个东西,我先在这里做个简单的介绍。

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec等。

libavformat :用于各种音视频封装格式的生成和解析,包括获取解码所需信息以生成解码上下文结构和读取音视频帧等功能; 
libavcodec :用于各种类型声音/图像编解码; 
libavutil :包含一些公共的工具函数; 
libswscale :用于视频场景比例缩放、色彩映射转换; 
libpostproc:用于后期效果处理; 
ffmpeg :该项目提供的一个工具,可用于格式转换、解码或电视卡即时编码等; 
ffsever :一个 HTTP 多媒体即时广播串流服务器; 
ffplay :是一个简单的播放器,使用ffmpeg 库解析和解码,通过SDL显示;

2、安装编译ffmpeg

以下是在ffmpeg0.6源码下完成的。

1)、下载ffmpeg。
   在网上搜索一下,或者到官方网站下载

2)、解压
  tar命令解压

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下。
  执行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文件。这在配置的时候很重要。

ubuntu下ffmpeg编译安装相关推荐

  1. 在Ubuntu下FFmpeg编译,支持x264和x265(HECV)

    所有下载的源 在Ubuntu下FFmpeg编译,支持x264和x265. Ubuntu 12.04 FFmpeg 2.1 Release 注意: cmake要升级要2.8.8 yasm要升级到1.2. ...

  2. 在Ubuntu下rtorrent编译安装笔记

    为什么80%的码农都做不了架构师?>>>    rtorrent是一个Bittorrent软件,基于终端的BT客户端,高性能.低资源,另外有不少人给rtorrent开发了Web GU ...

  3. Linux下 FFmpeg 编译安装

    FFmpeg是一套可以用来记录.转换数字音频.视频,并能将其转化为流的开源计算机程序. 官网:http://ffmpeg.org 一.FFmpeg安装 安装依赖包: yum install libth ...

  4. android rtorrent 编译,在Ubuntu下rtorrent编译安装笔记

    rtorrent是一个Bittorrent软件,基于终端的BT客户端,高性能.低资源,另外有不少人给rtorrent开发了Web GUI来更好的让用户控制管理rtorrent,总而言之在Linux平台 ...

  5. ubuntu下voltdb编译安装

    voltdb的代码以及系统构建都是在64位的linux/OS X之上的,它的编译需要如下环境: java 1.8 Apache Ant 1.7 或者更高版本 一个支持C++11的编译器 Python  ...

  6. linux ubuntu下ffmpeg的安装

    sudo apt-get update sudo apt-get install ffmpeg 参考文章:Linux 下ffmpeg的环境搭建与安装 20220105 也可以 sudo apt upd ...

  7. Ubuntu 下 libev编译安装

    下载源码,以及编译安装: cvs -z3 -d :pserver:anonymous@cvs.schmorp.de/schmorpforge co libev sh autogen.sh ./conf ...

  8. opencv3.2 在Ubuntu下的编译安装

    网上也看到很多人写的编译方法,应该也都是可以的,只是不知道是否权威,我找到了官方的编译安装指导,原文链接为 http://docs.opencv.org/trunk/d7/d9f/tutorial_l ...

  9. ubuntu php png,[工作记事]Ubuntu下PHP编译安装以及添加jepg支持

    安装依赖 sudo apt-get install libxml2 libxml2-dev sudo apt-get install libssl-dev apt-get install libgtk ...

最新文章

  1. Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数、复制到Excel文件、复制到文本文件(默认是tsv格式)、复制到文本文件(设置逗号分隔符)
  2. 网页开发需要先学java吗_先学java还是javascript?
  3. java ee思维导图
  4. [转] GIS算法源码集合
  5. Python入门学习---第三天
  6. 重启oracle服务顺序,oracle 10g]命令行启动ORACLE服务及顺序
  7. python秒转化为时间格式_Python耗费时间秒转 天小时分钟秒 时间格式美化
  8. Mybatis-Generator(MBG)教程与Idea的MBG插件
  9. 35款让你爱不释手的网页元素PSD素材
  10. java 常量池是什么_Java常量池理解与总结
  11. 计算机三级之嵌入式系统学习笔记8
  12. azure 导入 bak_使用Azure Data StudioSQL Server数据导入
  13. 交换机集群管理(锐捷)
  14. dw添加下拉菜单_怎样用dreamweaver制作网站下拉菜单
  15. cv2.VideoCapture.get()用法
  16. 安卓接入讯飞语音识别
  17. iOS 调整图片尺寸和大小的两个方法
  18. APK无法识别gsensor问题剖析
  19. vue在列表和下拉框中显示icon图标
  20. [敏捷开发实践] 端到端测试你了解多少?

热门文章

  1. lintcode 734. 形式为a^i b^j c^k的子序列数量 题解
  2. 在css/js代码上线之后开发人员经常会优化性能,从用户刷新网页开始,一次js请求一般情况下有哪些地方会有缓存处理?...
  3. windows下python SSH-Client模块paramiko的安装与修改
  4. Objective-C基础
  5. MVC4 Filter 验证客户端访问类型(移动端、PC端)
  6. A10 平板开发一硬件平台搭建
  7. 【转】Rhythm Of The Rain 雨的旋律
  8. Google的wiki-map也上线了
  9. C#实现WEB服务器
  10. python 3_Python3 列表