FFmpeg第一次编译

我们的生活离不开多媒体技术,智能电视,互联网视频,安防监控,播放器,媒体中心,机器人视觉,航拍,移动直播,视频会议... 而这些细分领域,到处都是FFmpeg的身影。看看它的介绍:

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。它包括了目前领先的音/视频编码库libavcodec。 FFmpeg是在Linux下开发出来的,但它可以在包括Windows在内的大多数操作系统中编译。这个项目是由Fabrice Bellard发起的,现在由Michael Niedermayer主持。可以轻易地实现多种视频格式之间的相互转换,例如可以将摄录下的视频avi等转成现在视频网站所采用的flv格式。

自己动手,丰衣足食!
补充一点:

源码的安装一般由3个步骤组成:配置(configure)、编译(make)、安装(make install)
configure是一个可执行脚本,它有很多选项,在待安装的源码路径下使用命令./configure –help输出详细的选项列表。
其中--prefix选项是配置安装的路径,如果不配置该选项,安装后可执行文件默认放在/usr/local/bin,库文件默认放在/usr/local/lib,配置文件默认放在/usr/local/etc,其它的资源文件放在/usr /local/share,比较乱。

编译环境:
Ubuntu 14.04.4 LTS
交叉编译工具链:arm-linux-gcc-4.4.3
用命令arm-linux-gcc -v
可以查看版本信息

FFmpeg第一次编译_第1张图片

1、下载ffmpeg
官网: http://www.ffmpeg.org/download.html
github: https://github.com/FFmpeg/FFmpeg
目前最新版本是ffmpeg-3.0.2
下载好后解压到某个目录
2、在shell下进入ffmpeg目录下
首先执行configure配置文件,它是一个配置脚本
./configure --enable-shared --disable-yasm --prefix=/usr/local/ffmpeg

其中/usr/local/ffmpeg指定了编译结果的输出路径

3、开始 编译
第一步make
第二部make install
实际编译 会 耗点时间 ,根据自己的cpu 核数 可以 并发几个线程同时编译,用make -j4或者make -j8
代替make执行
4、安装之后在/usr/local/ffmpeg会看到有4个目录


FFmpeg第一次编译_第2张图片

bin 下就是可执行文件了


lib 静态,动态链接库目录

此时编译工作也算顺利进行了,但是要移植到android平台上还没有这么容易。
不过此时此刻可以跑ffmpeg命令是没有问题的,

FFmpeg第一次编译_第3张图片

单独运行ffmpeg会出现提示,众所阿周知ffmpeg是用来转码的,所以测试要加上参数信息.

FFmpeg第一次编译_第4张图片
Screenshot from 2016-05-22 12:08:34.png

FFmpeg第一次编译_第5张图片
Screenshot from 2016-05-22 12:10:15.png

上面我加了一个-i命令,将mp4格式的视频转成了mkv格式.

FFmpeg第一次编译_第6张图片
Screenshot from 2016-05-22 12:13:27.png

再看一个好玩的命令:

ffmpeg -i video.mp4 image%d.jpg
将视频分解成图片序列

FFmpeg第一次编译_第7张图片
Screenshot from 2016-05-22 15:44:51.png

从输出结果可以看到有552帧图像,所以分解成552张图片.


Screenshot from 2016-05-22 15:47:38.png

ok,接下来要分析ffmpeg.c文件,从入口main函数开始。赶紧把源码阅读利器Source Insight装上~~~

你可能感兴趣的:(FFmpeg第一次编译)