linux ffmpeg開発環境構築(ubuntu 14.04とffmpeg 3.2に基づく)

6038 ワード

ffmpeg開発環境のインストールテストと更新の手順(ubuntu 14.04とffmpeg 3.2に基づく)について説明します.
1.x 264をインストールする)libx 264はyasmが必要なので、yasm sudo apt-get install yasmを先にインストールする
2)libx 264-dev aptitude install libx 264-devのインストール
3)libx 264ライブラリ3.1のインストール)ffmpegディレクトリcd mkdir ffmpeg cd ffmpeg 3.2の作成と切り替え)x 264ソースコードをダウンロードし、x 264ディレクトリgit cloneに切り替えるgit://git.videolan.org/x264cd x 264.3)libx 264ライブラリをコンパイルしてインストールします./configure-enable-shared-enable-pic make make installのインストールに成功すると、/usr/local/lib/ディレクトリの下でlibx 264が生成することがわかります.soダイナミックライブラリ、ヘッダファイルは/usr/local/include/
2.依存パッケージsudo apt-get install build-essential git-core checkinstall texi 2 html libfaac-devlibopencore-amrnb-dev libopencore-amrwb-dev libsdl 1をインストールする.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/ffmpegbuild”–disable−examples–disable−unit−testsPATH=” HOME/bin:$PATH” make make install make clean
5.ffmpegをインストールhttp://www.ffmpeg.org/download.html#releasesffmpeg-3.2.をダウンロードtar.bz 2、次に、cd~/ffmpeg tar-jxvf ffmpeg-3.2のコマンドを実行する.tar.bz2 cd ffmpeg-3.2 ./configure–prefix=/usr/local/ffmpeg–enable-shared–enable-gpl–enable-version 3–enable-nonfree–enable-postproc–enable-pthread–enable-pthreeads–enable-libfdk-aac–enable-libmp 3 lame–enable-libtheora–enable-libx 2664–enable-libvid–enable-x 11 grab–enable-libvorbis make make llコンパイルに成功したら/usr/local/ffmpegsoライブラリファイルとヘッダファイルが表示され、ffmpegライブラリが使用できます.
6.テストDemo次にテストdemoを書いて、環境が成功したかどうかをテストする1).ソースプログラムを作成するc
#include 
#include 
#include 
#include 

#define dbmsgc(fmt, args ...) printf("cong:%s[%d]: "fmt"
", __FUNCTION__, __LINE__,##args)
//#define dbmsg(fmt, args ...) printf("cong:%s:%s[%d]: "fmt"
",__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とx 264の更新現在ffmpegとx 264の開発はかなり活発で、ある更新はあなたの開発にもっと良い特性と既存のバグの修正を提供する可能性があります.ffmpegとx 264を更新するには、既存のパッケージをアンインストールし、更新ソースコードを取得し、再コンパイルし、インストールする必要があります.1)x 264への更新:sudo apt-get remove ffmpeg x 264 libx 264-dev libvpx cd~/ffmpeg/x 264 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 x 264 ffmpeg qt-faststart build-essential git-core checkinstallnasm yasm texi 2 html libfaac-dev lame-ffmpeg libsdl 1をアンインストールします.2-dev libtheora-dev libvorbis-devlibx 11-dev libxfixes-dev zlib 1 g-devが最も良く、~ディレクトリの下のすべてのソースコードを削除します.rm-rf ffmpeg x 264 lame libvpxこれで、インストール、更新、リカバリプロセスが終了します.