加载中…
个人资料
行者无疆-超越
行者无疆-超越
  • 博客等级:
  • 博客积分:0
  • 博客访问:23,328
  • 关注人气:1
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
正文 字体大小:

Ubuntu平台下载和编译FFmpeg

(2014-04-27 09:44:49)
标签:

android

ffmpeg

it

分类: FFmpeg
FFmpeg是Linux下一个开源的的音视频解决方案,采用LGPL或GPL许可证(依据选择的组件)。
 
FFMpeg的官方网站是http://www.ffmpeg.org/,官网目前最新版本的源码2.2.1。
源码可以有多种下载方式,对Android开发者而言,git方式无疑是最方便的,使用下面的命令就可以下载完整的源码:
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
 
ffmpeg的编译方式和大多数开源的Linux软件类似,非常简单,三条命令就完成了:
./configure
make
sudo make install
 
但是configure命令稍微复杂一点,这个命令用来配置编译模块,有很多参数,在Linux下比较简单的参数如下:
configure --prefix=/usr/local/ffmpeg --enable-shared --disable-yasm --enable-ffplay
 
其中:
--prefix 指定了执行安装命令(make install)时的安装目录。
--enable-shared 指定编译出动态库
--disable-yasm 指定不编译yasm,如果不指定这条,会保错。
--enable-ffplay 指定编译ffplay模块,不加也可以。
 
源码目录下的configure是一个脚本文件,如果需要知道到底支持哪些参数,可以打开这个文件看一看。另外这个文件运行的结果是生成了config.mak文件,如果我们需要检查某个模块是否会编译,打开这个文件查看相应模块的名称前是否有“!”号,没有则说明会编译出来。
 
这里要注意的是,如果要编译出ffplay模块(FFMpeg自带的播放器),需要在Ubuntu下先安装sdl模块,命令如下:
sudo apt-get install libsdl1.2-dev
如果不安装sdl,即使加上了参数--enable-ffplay也不会打开ffplay的编译开关。
 
make 和 sudo make install 执行完成后在/usr/local/ffmpeg 目录下会生成bin目录和lib目录,需要把它们加入到ubuntu的路径中。打开~/.bashrc文件,加入下面两行:
export LD_LIBRARY_PATH=/usr/local/ffmpeg/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/ffmpeg/bin:$PATH
 
目录bin下有四个可执行文件:
ffplay:一个简单的音视频播放器。
ffmpeg:用于格式转换、解码或编码的工具。
ffprobe:用来获得每天文件的信息。
ffserver:用来搭建流媒体服务器。
 
目录lib下有七种库文件:
ibavformat:用于各种音视频封装格式(音频文件)的生成和解析。
libavcodec:用于各种类型图像、声音和视频的编解码。
libavdevice: 封装了和底层设备打交道的函数。
libavfilter:包括了图像处理中的各种滤镜效果。
libavutil:包含一些公共的函数。
libswscale:包含了图像,视频缩放、色彩映射转换等函数。
libswresample: 包含了调整声音采用率的函数。

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有