linux ffmpeg开发环境搭建(基于ubuntu14.04和ffmpeg3.2)

本文将介绍ffmpeg开发环境的安装测试和更新的步骤(基于ubuntu14.04和ffmpeg3.2)

1.安装x264
1)libx264需要yasm,所以先安装yasm
sudo apt-get install yasm

2)安装libx264-dev
aptitude install libx264-dev

3)安装libx264库
3.1) 创建并切换到ffmpeg目录
cd
mkdir ffmpeg
cd ffmpeg
3.2) 下载x264源码,并切换到x264目录
git clone git://git.videolan.org/x264
cd x264
3.3) 编译并安装libx264库
./configure –enable-shared –enable-pic
make
make install
安装成功以后便可以看到在/usr/local/lib/目录下生成libx264.so动态库,且头文件位于/usr/local/include/

2.安装依赖包
sudo apt-get install build-essential git-core checkinstall texi2html libfaac-dev \
libopencore-amrnb-dev libopencore-amrwb-dev libsdl1.2-dev libmp3lame-dev libtheora-dev \
libvorbis-dev libx11-dev libxvidcore-dev libxext-dev libxfixes-dev zlib1g-dev libopus-dev libavdevice-dev

3.安装libfdk-aac
cd ~/ffmpeg
wget -O fdk-aac.tar.gz https://github.com/mstorsjo/fdk-aac/tarball/master
tar xzvf fdk-aac.tar.gz
cd mstorsjo-fdk-aac*
autoreconf -fiv
./configure –prefix=”$HOME/ffmpeg_build” –enable-shared
make
make install

4.安装libvpx
cd ~/ffmpeg
wget http://storage.googleapis.com/downloads.webmproject.org/releases/webm/libvpx-1.5.0.tar.bz2
tar xjvf libvpx-1.5.0.tar.bz2
cd libvpx-1.5.0
PATH=” HOME/bin: PATH” ./configure –prefix=” HOME/ffmpegbuilddisableexamplesdisableunittestsPATH= HOME/bin:$PATH” make
make install
make clean

5.安装ffmpeg
http://www.ffmpeg.org/download.html#releases下载ffmpeg-3.2.tar.bz2,然后执行如下命令:
cd ~/ffmpeg
tar -jxvf ffmpeg-3.2.tar.bz2
cd ffmpeg-3.2
./configure –prefix=/usr/local/ffmpeg –enable-shared –enable-gpl –enable-version3 –enable-nonfree –enable-postproc –enable-pthreads –enable-libfdk-aac –enable-libmp3lame –enable-libtheora –enable-libx264 –enable-libxvid –enable-x11grab –enable-libvorbis
make
make install
编译成功以后变可以在/usr/local/ffmpeg看到so库文件和头文件,接下来便可以使用ffmpeg库了

6.测试Demo
接下来写个测试demo来测试下环境是否搭建成功
1).编写源程序ffmpegtest.c

#include <stdio.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <libavfilter/avfilter.h>

#define dbmsgc(fmt, args ...) printf("cong:%s[%d]: "fmt"\n", __FUNCTION__, __LINE__,##args)
//#define dbmsg(fmt, args ...) printf("cong:%s:%s[%d]: "fmt"\n",__FILE__, __FUNCTION__, __LINE__,##args)
int main(int argc, char **argv)
{
    int i=0;
    AVFormatContext *pFormatCtx = NULL;
    avcodec_register_all();
#if CONFIG_AVDEVICE
    avdevice_register_all();
#endif
   avfilter_register_all();
    av_register_all();

    if(avformat_open_input(&pFormatCtx, argv[1], NULL, NULL)!=0)
        return -1; // Couldn't open file

    if(avformat_find_stream_info(pFormatCtx, NULL)<0)
        return -1; // Couldn't find stream inform
    av_dump_format(pFormatCtx,0, 0, 0);

    return 0;
}

2).编写Makefile

FFMPEG=/usr/local/ffmpeg
CC=gcc
CFLAGS=-g -I$(FFMPEG)/include
LDFLAGS = -L$(FFMPEG)/lib/ -lswscale -lswresample -lavformat -lavdevice -lavcodec -lavutil -lavfilter -lpostproc -lm 
TARGETS=fftest
all: $(TARGETS)
fftest:ffmpegtest.c
    $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)

clean:
    rm -rf $(TARGETS)

3)运行
3.1)执行make进行编译,如果没有抱错,会生成fftest可执行文件
3.2)运行./fftest,如果没有报错,说明编译运行通过,说明ffmpeg开发环境搭建成功

7.更新ffmpeg和x264
目前ffmpeg和x264的开发相当活跃,某次的更新可能为你的开发提供更好的特性和现有bug的修改。要更新ffmpeg和x264,你需要先卸载现有包,然后获取更新源代码,重新编译,安装。
1)对于x264的更新:
sudo apt-get remove ffmpeg x264 libx264-dev libvpx
cd ~/ffmpeg/x264
make distclean
git pull
然后再按照前面所说的安装过程,重新编译,安装。
2)对于libvpx的更新:
cd ~/ffmpeg/libvpx-1.5.0
make clean
git pull
然后按照libvpx的安装过程,从configure开始,重新编译,安装。
3)对于libfdk-aac更新
cd ~/ffmpeg/mstorsjo-fdk-aac*
make clean
git pull
然后按照libfdk-aac的安装过程,从configure开始,重新编译,安装。
3)最后是ffmpeg更新:
类似的:
cd ~/ffmpeg/ffmpeg-3.2
make distclean
git pull
然后是./configure,make,checkinstall….
卸载本次安装的包
sudo apt-get remove x264 ffmpeg qt-faststart build-essential git-core checkinstall \
nasm yasm texi2html libfaac-dev lame-ffmpeg libsdl1.2-dev libtheora-dev libvorbis-dev \
libx11-dev libxfixes-dev zlib1g-dev
最好,再删除掉~目录下的所有源码。rm -rf ffmpeg x264 lame libvpx
至此,安装、更新和恢复过程结束。

评论 1 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:编程工作室 设计师:CSDN官方博客 返回首页

打赏作者

沉淀之路

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值