1. 程式人生 > >linux下編譯ffmpeg 引入外部庫x264

linux下編譯ffmpeg 引入外部庫x264

Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.

上片篇博文介紹了linux下編譯原生ffmpeg,本文介紹linux下編譯ffmpeg如何引入外部庫例如libx264,會了

新增libx264,引入其他編譯庫就不難了。linux環境:Ubuntu16.04,ffmpeg 版本3.4.2

一.下載libx264庫,下載地址是:http://www.videolan.org/developers/x264.html 群裡也有下載好的,也可以從
群裡直接下載。

二.編譯、安裝libx264

      開啟命令終端(ctrl + Alt + T)cd 到libx264目錄,首先配置libx264庫:在命令終端輸入

./configure --enable-static  --prefix=/home/wgg/work/compile/x264/static

--enable-static 表示生成靜態庫,如生成動態庫將--enable-static替換為--enable-shared, --prefix後面跟

生成庫安裝路徑。

    首次配置libx264庫 可能出現如下錯誤,解決的辦法是將 --disable-asm 新增到命令列,或者安裝nasm。

./configure --enable-static  --prefix=/home/wgg/work/compile/x264/static  --disable-asm

Found no assembler
Minimum version is nasm-2.13
If you really want to compile without asm, configure with --disable-asm.

   配置成功後,命令終端會list配置結果如圖1所示。

                              圖1 配置結果

      接下來我們要做的是在命令終端輸入make 編譯x264,正常情況下編譯不會有什麼異常,make成功後,在

命令終端輸入make install 將生成的庫檔案安裝到指定的目錄,安裝完成後在指定的路徑

/home/wgg/work/compile/x264/static 出現3個資料夾如下圖所示:

                                 圖2 安裝後指定目錄下資料夾

include資料夾下下有兩個檔案x264.h及x264_config.h,lib資料夾下有檔案libx264.a這3個檔案在我們

編譯ffmeg時會用到。

三. 編譯、安裝ffmpeg

     ffmpeg 如何下載請參考上篇博文,將下載下來的ffmpeg原始碼解壓,在解壓後的檔案內建立build資料夾

開啟命令列終端cd 到build資料夾下執行命令:

../configure --enable-static --enable-libx264 --enable-gpl --disable-x86asm --prefix=/home/wgg/compile/ffmpeg/static --extra-cflags="-I/home/wgg/work/compile/x264/static/include" --extra-ldflags="-L/home/wgg/work/compile/x264/static/lib"
--extra-cflags 後面跟引入標頭檔案目錄,--extra-ldflags後面跟引入庫目錄。配置完成後出現如下介面:

                                                                  圖2 ffmpeg 配置完成介面

配置完成,接下來的直接在命令列終端執行make,正常情況不會出現編譯錯誤。編譯完成後 執行安裝命令make install 將編譯

生成完成的庫安裝到指定目錄下(/home/wgg/compile/ffmpeg/static ),安裝完成後,該路徑下存在以下資料夾:

                                                    圖3 ffmpeg 編譯生成庫檔案圖

如需交流可加群127903734群。

二群號為766718184 ,博主提供Ffmpeg、GB28181視訊教程

播放地址: http://www.iqiyi.com/u/1426749687

原始碼及Demo下載地址:http://www.chungen90.com/index.php?m=text&a=index&classify_id=207
視訊下載地址:            http://www.chungen90.com/index.php?m=text&a=index&classify_id=208

相關推薦

linux編譯ffmpeg 引入外部x264

Found no assembler Minimum version is nasm-2.13 If you really want to compile without asm, configure with --disable-asm. 上片篇博文介紹了linux下編譯原生ffmpeg,本文介紹l

Linux編譯ffmpeg報錯gcc is unable to create an executable file C compiler test failed.

程式碼報錯資訊: [[email protected] ffmpeg-3.2.2]# ./configure --enable-shared --prefix=/usr/local/ffmpeg gcc is unable to create an executable

linux編譯ffmpeg,並加入H264編碼支援

1.libx264 編譯 ./configure --enable-static --disable-asm --prefix=/usr/local/ffmpegRedHat make make in

在ubuntu系統編譯ffmpeg的靜態

在ubuntu上配置ffmpeg的開發環境,參考:http://blog.csdn.net/leechee_1986/article/details/41891119 到ffmpeg官網下載ffmpeg的原始碼,解壓,編譯 ./configure --enable-gpl

Windows編譯FFmpeg連結第三方libRtmp,生成FFplay

PS: 前段時間一直在研究ffmpeg的編譯,網上也是各種方法(其實大部分都只是編譯了FFmpeg),但是能夠連結成功libRtmp並生成FFplay的方法卻很少能行的通。踩了好多坑,記錄下,希望對大家有所幫助。 一、安裝環境準備   1.在wind

FFMPEG系列三:linux編譯ffmpeg報錯gcc is unable to create an executable file C compiler test failed.

linux編譯ffmpeg過程報錯gcc is unable to create an executable file C compiler test failed.網上找了一圈,關於這個問題的答

linux編譯自己的靜態時依賴其他的動態,使用時出現“undefined reference to”

        對於我這個剛入IT行業不就得新手來說,在linux下連結庫的時候總是會遇到各種各樣奇葩的問題,最多的就是“undefined reference to”和“cannot find”這兩類,層出不窮,總是在我即將完成工作的時候給我當頭一棒,讓我欲罷不能。這不,這

Linux編譯x264ffmpeg的方法

一、環境準備 二、編譯 1、編譯yasm。 ./configure --prefix=/usr/local/yasm make make install 2、解壓x264,進入目錄,輸入: ./configure --prefix=/usr/local/x264 -

linux編譯faac和x264

編譯lamemp3 原始碼下載地址: tar zxvf lame-3.99.5.tar.gz cd lame-3.99.5 ./configure --prefix=/usr make make install 編譯x264 原始碼下載地址: tar xvf las

arm linux編譯System.Net.Primitives.dll和System.Xml.XmlSerializer.dll

cad serial linu 5.4 mcs download 切換 mon dll 1.環境: /home/jello # uname -aLinux 3.10.0 #2 SMP Mon Mar 6 17:52:09 CST 2017 armv7l GNU/Linux

Linux編譯安裝XLib

問題 fun col bsp source 過程 知識 4.2 span 新裝好的redhat7.3,在安裝qt的時候,有時會出現 Basic XLib functionality test failed!You might need to modify the inclu

linux編譯Boost

eas module cmak lease 加載 IT AI c-c++ python re 下載源碼 boost_1_66_0.tar.gz 生成編譯工具 # tar axf boost_1_66_0.tar.gz # cd boost_1_66_0 # yum inst

linux編譯、連線及執行時環境變數設定(boost為例)

以boost庫的存放目錄/usr/boost為例, 開啟/etc/profile, 追加以下內容(前兩行為編譯時路徑): export CPLUS_INCLUDE_PATH=/usr/boost/include:$CPLUS_INCLUDE_PATH export LIB

windows編譯 ffmpeg原始碼生成靜態用於Dev-C++工程

  1 set-Up 1.1.下載ffmpeg原始碼ffmpeg-4.0.2.tar.bz2,http://ffmpeg.org/download.html 解壓到 D:\04_project\ffmpeg\ffmpeg-4.0.2 1.2下載mingw 安裝程式 m

linux 編譯生成靜態和動態

我們此處為了說明靜態庫和動態庫的編譯,會使用示例程式碼。建立  test.h, hello.cpp 和 world.cpp, 在兩個原始檔中分別實現兩個函式( 此處都是示例程式碼,檔案命名不規範,理解意思即可 )。test.h (靜態庫標頭檔案)#ifndef _TEST_

linux為php新增GD(重新編譯php)

一、下載 二、安裝 1.安裝zlib tar zxvf zlib-1.2.2.tar.gz cd zlib-1.2.2 ./configure make make install 2.安裝libpng tar zxvf libpng-1.2.7.tar

linux編譯動態載入庫,靜態

乾貨直接來:Linux下靜態庫、動態庫的makefile建立。 動態庫建立 gcc -fPIC  -c add.c ../include(放標頭檔案) 生成add.o目標檔案 gcc -shared -o libadd.so add.o 生成libadd.so動態庫 這

Linux用Makefile製作動態和靜態編譯生成可執行程式

Makefile 一個工程中的原始檔不計其數,其按型別、功能、模組分別放在若干個目錄中,makefile定義了一系列的規則來指定,哪些檔案需要先編譯,哪些檔案需要後編譯,哪些檔案需要重新

linux編譯支援librtmp、libx264、libfaac的ffmpeg

下載原始碼 編譯 1. librtmp cd rtmpdump make make install 2. yasm cd yasm ./configure --prefix=/usr/local/yasm make make ins

Linux安裝FFMPEG 編譯 以及基本的Demo開發

(windows下編譯ffmpeg   http://bbs.chinavideo.org/viewthread.php?tid=1897&extra=page%3D1) 1.首先去官網下載ffmpeg最新版ffmpeg.2.3.1 version 2.複製