婷婷伊人综合中文字幕-婷婷伊人网-婷婷伊人久久-婷婷一区二区三区-国产午夜在线视频-国产午夜在线观看

rs1 ccbwd

rs1 ccbwd

FFmpeg源碼下載肯定是優(yōu)先去官網(wǎng)下載:官網(wǎng) ffmpeg.org/download.ht…

打開(kāi)官網(wǎng)如下:

rs1 ccbwd

可以選擇直接下載,或者git命令直接克隆一份,作為開(kāi)發(fā)人員一般都喜歡選擇git克隆的方式,這樣方便后續(xù)更新。

3. FFmpeg編譯,安裝

3.1 在Mac下編譯安裝FFmpeg3.1.1 brew 方式安裝

在mac下面可以很方便的使用brew install ffmpeg命令直接安裝ffmpeg,如果是新手這樣安裝比較方便快捷,但是這么安裝有個(gè)弊端就是不能定制化,如果隨著你對(duì)FFmpeg的深入,你需要使用一些其他的工具,就需要手動(dòng)編譯安裝了,通過(guò)源碼編譯的方式,我們可以自己選擇定制化。

我們可以先輸入brew search ffmpeg

3.1.2 源碼編譯 方式安裝

首先需要下載ffmpeg, 從官網(wǎng)http://ffmpeg.org/download.html下載然后是編譯ffmpeg 只需要執(zhí)行下面3條命令即可:

  1. ./configure -prefix=/usr/local/ffmpeg -enable-debug=3
  2. make -j 4
  3. make install

接下來(lái)我們分別執(zhí)行這3條語(yǔ)句:

  • 執(zhí)行./configure --prefix=/usr/local/ffmpeg --enable-debug=3 一般我們默認(rèn)安裝在/usr/local/ffmpeg路徑下,這個(gè)路徑可以自由設(shè)定,這里我們需要開(kāi)啟debug功能,后面要用到

我們下看看我們下載好的源碼目錄

你也可以使用./configure --help來(lái)查看怎么配置

會(huì)打印如下所有選項(xiàng):

上面包括了很多配置參數(shù),隨著我們對(duì)ffmpeg的深入,我們也會(huì)慢慢了解這些配置參數(shù),剛開(kāi)始我們只需要知道我們關(guān)心的就好了。

例如我們不記得了禁止編譯static怎么寫(xiě)的,我們這樣查詢(xún)一下:

同樣我們可以查詢(xún)一下share相關(guān)的

這里我設(shè)置configure時(shí)禁止編譯靜態(tài)庫(kù),開(kāi)啟動(dòng)態(tài)庫(kù),如下:

執(zhí)行

輸入上面命令后回車(chē),會(huì)等待一段時(shí)間,這個(gè)時(shí)候腳本在查詢(xún)系統(tǒng)所有匹配的庫(kù),如果有不匹配的會(huì)有提示,如下圖,我的配置會(huì)報(bào)一個(gè)錯(cuò)誤:

由于我的電腦沒(méi)有安裝yasm庫(kù),所以需要先安裝一下:安裝yasm編譯器。安裝方法如下:

  1. 下載:yasm的下載鏈接
  2. 解壓:把下載下來(lái)的壓縮包進(jìn)行解壓
  3. 切換路徑: cd yasm-1.3.0
  4. 執(zhí)行配置: ./configure
  5. 編譯:make
  6. 安裝:make install(提示:Permission denied,就執(zhí)行sudo make install)

下面我們下來(lái)安裝yasm編譯器 (1)下載:yasm的下載鏈接 如果上面的鏈接下載比較慢,可以從我的百度云盤(pán)下載: 鏈接:pan.baidu.com/s/1oGMcX4HY… 密碼:m1k2

相關(guān)學(xué)習(xí)資料推薦,點(diǎn)擊下方鏈接免費(fèi)報(bào)名,先碼住不迷路~】

音視頻免費(fèi)學(xué)習(xí)地址:FFmpeg/WebRTC/RTMP/NDK/Android音視頻流媒體高級(jí)開(kāi)發(fā)

【免費(fèi)分享】音視頻學(xué)習(xí)資料包、大廠面試題、技術(shù)視頻和學(xué)習(xí)路線圖,資料包括(C/C++,Linux,F(xiàn)Fmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以點(diǎn)擊788280672加群免費(fèi)領(lǐng)取~

(2) 解壓,這里需要用到本篇博客開(kāi)篇的準(zhǔn)備知識(shí)的解壓命令tar -zxvf yasm-1.3.0.tar

(3)切換路徑:cd yasm-1.3.0

(4)執(zhí)行配置:./configure

(5)編譯:make

(6)安裝:make install(提示:Permission denied,就執(zhí)行sudo make install)

安裝了yasm編譯器后,我們從新運(yùn)行一下configure配置:

如果沒(méi)有報(bào)錯(cuò),則會(huì)打印了下面信息:

這樣我們已經(jīng)成功配置了FFmpeg,接下來(lái)執(zhí)行編譯

  • 執(zhí)行make -j 4 這里命令的意思是增加4個(gè)內(nèi)核,并行編譯,這樣提高編譯速度 執(zhí)行make命令后,接下來(lái)需要等待比較長(zhǎng)的時(shí)間等編譯完成,需要耐心

增加權(quán)限后,就可以安裝成功了。

這樣就成功安裝到了/usr/local/ffmpeg 目錄下面了,我們切換到這個(gè)目錄查看一下

我們可以看到有四個(gè)子目錄:bin, include, lib, share

  1. bin目錄:存放所有ffmpeg的工具庫(kù)
  2. include目錄: 存放ffmpeg庫(kù)的所有頭文件
  3. lib目錄:ffmepg生成的動(dòng)態(tài)庫(kù)或靜態(tài)庫(kù)
  4. share目錄:存放文檔相關(guān)內(nèi)容和一些demo實(shí)例

我們接下來(lái)可以進(jìn)入bin目錄執(zhí)行命令:

正常會(huì)有三個(gè)子目錄,由于我這里沒(méi)有安裝ffplay所以少了一個(gè)ffplay這是為什么呢?

因?yàn)閒fplay實(shí)際上是客戶端ffplay.c的C程序編譯出來(lái)的,該ffplay.c需要依賴(lài)avdevice模塊,而avdevice模塊使用了sdl的API,如果你的PC上沒(méi)有sdl(1.x版本,最常用的是1.2.0版本),那么ffplay就會(huì)編譯不出來(lái)了,所以要想編譯出命令行工具ffplay,首先的編譯基礎(chǔ)庫(kù) sdl

  • Mac OS 安裝sdl 庫(kù)

如果沒(méi)有安裝brew的話,要先安裝Homebrew

等待一段時(shí)間,就安裝好了,

然后執(zhí)行命令:

等待下載并且安裝完畢之后,重新執(zhí)行上述FFmpeg的配置和安裝步驟,待make install結(jié)束之后,再去bin目錄下就可以找到命令行工具ffplay了。

  • 安裝完成之后接下來(lái)一個(gè)很重要的事情就是配置環(huán)境變量,如果沒(méi)有配置,你直接執(zhí)行ffmpeg命令是會(huì)報(bào)錯(cuò)的

如果你配置環(huán)境變量,則需要每次帶上全路徑,如下:

接下來(lái)配置環(huán)境變量

執(zhí)行命令

在配置文件加入ffmpeg的bin文件夾路徑:

然后輸入:wq保存退出,再執(zhí)行下面命令讓剛配置的環(huán)境變量生效:

在ubuntu操作系統(tǒng)上可以很容易的跟Mac電腦上執(zhí)行brew install ffmpeg一樣可以一行命令執(zhí)行 通過(guò)執(zhí)行apt 安裝如下:

這個(gè)的弊端也是無(wú)法定制化,如果要定制化還是要手動(dòng)編譯源碼安裝

安裝完成后,我們可以執(zhí)行ffmpeg -version測(cè)試是否安裝成功

Centos 操作系統(tǒng)下安裝

  • 需安裝Nux Dextop Yum 源, 由于CentOS沒(méi)有官方FFmpeg rpm軟件包。但是,我們可以使用第三方Y(jié)UM源(Nux Dextop)完成此工作。

CentOS 7下:

然后

  • 官網(wǎng)下載:ffmpeg.org/download.ht… 這里下載最新版本
  • 解壓安裝包

跟上面mac源碼安裝類(lèi)似,先進(jìn)行configure配置,配置過(guò)程可能報(bào)錯(cuò),如報(bào)下面錯(cuò)誤:

則說(shuō)明yasm編譯器沒(méi)有安裝或者太老了,需要先安裝新的yasm匯編器??梢允褂?-disable-yasm禁用這個(gè)選項(xiàng)編譯,yasm是一款匯編器,并且是完全重寫(xiě)了nasm的匯編環(huán)境,接收nasm和gas語(yǔ)法,支持x86和amd64指令集,所以這里安裝一下yasm即可

  • Linux下安裝yasm 跟Mac下安裝相似,都是先下載源碼,然后配置,編譯,安裝

官網(wǎng)下載:yasm.tortall.net/Download.ht…下載后解壓,安裝

安裝成功后,還是和mac安裝ffmpeg一樣,需要重新配置FFmpeg:

/opt/ffmpeg 是配置的安裝目錄,可以自己配置路徑

  • 然后make進(jìn)行編譯

安裝

make install會(huì)把ffmpeg相關(guān)執(zhí)行程序、頭文件、lib庫(kù)安裝在/opt/ffmpeg/

  • 安裝完成后可以進(jìn)入/opt/ffmpeg/查看

發(fā)現(xiàn)有bin,include,lib,share這4個(gè)目錄bin是ffmpeg主程序二進(jìn)制目錄 include是C/C++頭文件目錄 lib是編譯好的庫(kù)文件目錄 share是文檔目錄

  • 我們可以進(jìn)入bin目錄執(zhí)行./ffmpeg -version, 查看當(dāng)前版本的詳細(xì)信息 可能會(huì)報(bào)錯(cuò):

原因是lib目錄未加載到鏈接到系統(tǒng)庫(kù)中 系統(tǒng)ld目錄列表在/etc/ld.so.conf中,打開(kāi)文件會(huì)發(fā)現(xiàn), 里面引用了/etc/ld.so.conf.d/下面所有的.conf文件,比如mariadb-x86_64.conf解決上面報(bào)錯(cuò),需要?jiǎng)?chuàng)建一個(gè)文件并寫(xiě)入lib路徑即可執(zhí)行命令:vim /etc/ld.so.conf.d/ffmpeg.conf

  1. 然后添加一行內(nèi)容:/opt/ffmpeg/lib
  2. 之后保存并退出,然后執(zhí)行 ldconfig使配置生效,
  3. 再次執(zhí)行./ffmpeg -version 顯示就正常了

正常會(huì)打印如下信息

接下來(lái)需要配置環(huán)境變量 使用命令vim /etc/profile:編輯寫(xiě)入↓

然后執(zhí)行命令source /etc/profile:使修改后的配置文件生效

  • 檢測(cè)ffmpeg是否安裝成功 執(zhí)行which ffmpeg 查看安裝路徑

3.3 在Window下編譯安裝FFmpeg

3.3.1 Window編譯工具介紹

window下編譯FFmpeg相對(duì)復(fù)雜一下,需要借助Cygwin或MinGW來(lái)編譯,可以通過(guò)MinGW+ MSYS2 或者 VS+ MSYS2來(lái)編譯ffmpegCygwin(Cygnus Windows)實(shí)際上相當(dāng)于在window安裝了一個(gè)軟件來(lái)模擬linux系統(tǒng)MinGW(Minimalist GNU for Windows)是完全模仿了linux的編譯工具,相對(duì)于將linux的編譯工具移植到 window,基于window系統(tǒng)api進(jìn)行編譯,需要提供額外的工具配合使用VS就是 window開(kāi)發(fā)很熟悉了MSYS2(Minimal SYStem 2)3.3.2 Window如何編譯ffmpegWindow編譯ffmpeg主要有下面三種方式

  • Cygwin直接安裝使用: Cygwin編譯跟linux編譯一模一樣的,Cygwin完全就像一個(gè)虛擬機(jī)模擬了linux操作系統(tǒng)。Cygwin實(shí)際上是做了一層linux的api到windows 的api的轉(zhuǎn)換。

但是這樣編譯出來(lái)的ffmpeg的exe程序需要掛在一個(gè)Cygwin.dll庫(kù)才可以運(yùn)行,因?yàn)樗幸粚愚D(zhuǎn)換,所以性能對(duì)比原始的window程序有一些損耗。

  • MinGW + MSYS2 : 官方推薦的方式,這種編譯出來(lái)的就是原生的window程序,不需要和Cygwin一樣需要加載一個(gè)動(dòng)態(tài)庫(kù)了。

它的編譯方式實(shí)際上和linux是一致的

  • VS + MSYS2: 這種就是采用類(lèi)linux的編譯,只是把里面的工具鏈換成了VS的工具,但是這種方式生成ffplay比較麻煩。

所以一般都選擇MinGW + MSYS2 : 官方推薦的方式3.3.2.1 Cygwin 編譯FFmpeg

在windows下安裝 ffmpeg 的最好方式就是使用 Cygwin 。 Cygwin 是什么呢?簡(jiǎn)單的說(shuō),就是在 Windows上裝了一個(gè)Linux模擬器。然后你可以在這個(gè)模擬器上按照Linux的方式操作 Windows系統(tǒng)。因此,Windows安裝了 Cygwin 之后,你就把它當(dāng)Linux用就可以了。首先,到 Cygwin 官網(wǎng)下載 Cygwin 的可執(zhí)行程序 setup-x86_64.exe。當(dāng)然,它是 64位的,如果你現(xiàn)在還在用 32位的,那請(qǐng)?jiān)?Cygwin官網(wǎng)上找 32位對(duì)應(yīng)的版本。

  • 首先要安裝Cygwin

下載軟件后開(kāi)始安裝

選擇系統(tǒng)的網(wǎng)絡(luò)連接方式,跟虛擬機(jī)類(lèi)似

選擇鏡像安裝

選擇鏡像的對(duì)應(yīng)包

然后選擇我們需要的安裝包安裝,我這里選擇 Debug, Devel這兩個(gè)必須的

此外還需要選擇網(wǎng)絡(luò)

還需要添加wget

此外我們選擇一個(gè)sdl的庫(kù)

為了后面編譯出ffplay庫(kù),最好把下面的紅框里面都選上

以上就是一個(gè)最小的安裝了

需要確保安裝了下面這些工具

  1. gcc
  2. g++
  3. make
  4. cmake
  5. automake
  6. gdb
  7. nasm
  8. yasm
  9. wget

選好之后繼續(xù)下一步

等待安裝完成

然后點(diǎn)擊圖標(biāo)打開(kāi)

可以看到一個(gè)linux的控制臺(tái),如果在window下學(xué)習(xí)linux命名,就可以在這個(gè)控制臺(tái)練習(xí)

這樣你就可以敲入linux命令了

如果我們要訪問(wèn)window下的D:盤(pán),可以像下面這樣訪問(wèn):

  • 然后要安裝apt-cyg: 這個(gè)實(shí)際就是Cygwin下的apt工具

apt-cyg與 Ubuntu系統(tǒng)中的 apt一樣特別好用,而且使用的方式與 apt也是一個(gè)樣子的。

我們可以在Cygwin下執(zhí)行下面的命令就好了

然后執(zhí)行命令

安裝好apt-cyg后,就可以用 apt-cyg instal xxx這樣來(lái)安裝了我們的包了跟Mac下使用brew install xxx一樣爽歪歪。

接下來(lái)安裝pkg-config工具 在Windows系統(tǒng)下,一般不會(huì)默認(rèn)安裝該工具,所以在Windows下做實(shí)驗(yàn)的同學(xué)大都會(huì)遇到明明已經(jīng)裝了某個(gè)庫(kù),但仍然找不到該庫(kù)的情況。其原因就是沒(méi)有安裝 pkg-config這個(gè)工具。 首先確認(rèn)是否已經(jīng)將 pkg-config工具安裝好了。可以執(zhí)行下面的命令:

如果提示沒(méi)有安裝,則先將該工具安裝好,安裝命令如下:

  • 安裝好了上面的工具后,接下來(lái)就是下載ffmpeg源碼了,從官網(wǎng):ffmpeg.org/download.ht…

然后就是安裝了,安裝方式跟mac,linux一樣

  1. 輸入命令:./configure --prefix=/usr/local/ffmpeg 配置環(huán)境
  2. 執(zhí)行命令:make -j 4 編譯源碼
  3. 執(zhí)行命令:make install 安裝

下載源碼通過(guò)http直接下載或者git下載

這里我使用git方式,先創(chuàng)建一個(gè)ffmpeg目錄,然后Git clone代碼

下載好源碼后,進(jìn)入目錄,然后配置configure

配置完成報(bào)告如下:

此時(shí)make文件已經(jīng)生成好了,我們輸入make -j 4執(zhí)行編譯

這個(gè)編譯過(guò)程比較長(zhǎng),耐心等待

最好執(zhí)行make install 安裝

安裝好之后,我們可以進(jìn)入/usr/local/ffmpeg目錄查看

我們可以看到四個(gè)目錄:bin,include,lib,share接下來(lái),我們進(jìn)入bin目錄:

可以看到三個(gè)exe文件,ffmpeg.exe, ffplayer.exe, ffprobe.exe

我們可以執(zhí)行ffmpeg.exe

  • 接下來(lái)也需要配置環(huán)境變量,不然每次要帶全路徑

輸入命令:vi ~/.bashrc 編輯配置文件

按快捷鍵“Shift+G”跳到文件末尾,在配置文件末尾插入:export PATH=/usr/local/ffmpeg/bin:$PATH

然后按esc鍵,退出編輯模式,輸入:wq 保存退出

然后,我們輸入source ~/.bashrc使配置文件生效

最好我們輸入env | grep PATH來(lái)測(cè)試配置文件是否生效

配置好環(huán)境變量后,我們直接輸入ffmpeg.exe就可以找到了

雖然有了apt-cyg這個(gè)神器,但它目前只能安裝Linux下的一些常用命令,像我們編譯時(shí)需要的 x264, x265這些庫(kù)它是無(wú)法找到的。

所以這些庫(kù)需要我們自己來(lái)編譯

  • 編譯yasm
  1. 下載源碼:wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
  2. 解壓:tar zxvf yasm-1.3.0.tar.gz
  3. 切換到目錄:cd yasm-1.3.0
  4. 配置選項(xiàng):./configure
  5. 編譯安裝:make && sudo make install
  • 編譯fdk-aac
  1. 下載源碼:wget https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.6.tar.gz
  2. 解壓:tar xvf fdk-aac-0.1.6.tar.gz
  3. 切換到目錄: cd fdk-aac-0.1.6
  4. 配置選項(xiàng):./configure
  5. 編譯安裝:make && sudo make install
  • 安裝lame
  1. 下載源碼:wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
  2. 解壓:tar -xzf lame-3.99.5.tar.gz
  3. 切換到目錄:cd lame-3.99.5
  4. 配置選項(xiàng):./configure
  5. 編譯安裝:make && sudo make install

注:編譯lame可能遇到的問(wèn)題:

  1. 問(wèn)題一: 在Cygwin下安裝 lame的時(shí)候遇到執(zhí)行 ./configure 失敗的情況。如 "error: cannot guess build type; you must sepcify one",對(duì)這個(gè)問(wèn)題可以通過(guò)下面的步驟來(lái)解決: 安裝automake??梢酝ㄟ^(guò) which automake來(lái)確認(rèn)automake 是否已經(jīng)安裝。如果沒(méi)有安裝,可以通使用 apt-cyg install automake進(jìn)行安裝。 確認(rèn)automake當(dāng)前版本??蓤?zhí)行automake --version獲取當(dāng)前automake的版本號(hào)。 將 lame目錄下的 config.guess文件替換為 /usr/share/automake-version下的config.guess 文件。 此時(shí),再執(zhí)行./configure進(jìn)就可以下成功了。
  2. 問(wèn)題二: make時(shí)出現(xiàn) "error: '_O_BINARY' undeclared (first use in this function)"的錯(cuò)誤,解決辦法如下: 打開(kāi)出錯(cuò)文件 vi ./frontend/lametime.c 將下面這段代碼注釋掉 /* #elif defined __CYGWIN setmod(fileno(fp), _O_BINARY); */ 再執(zhí)行make就可以成功了。
  • 安裝nasm
  1. 下載源碼:wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz
  2. 解壓:tar xvf nasm-2.13.03.tar.gz
  3. 切換到目錄:cd nasm-2.13.03
  4. 配置選項(xiàng):./configure
  5. 編譯安裝:make && sudo make install
  • 安裝x264
  1. 下載源碼: wget mirror.yandex.ru/mirrors/ftp… bunzip2 last_x264.tar.bz2
  2. 解壓:tar -vxf last_x264.tar
  3. 切換到目錄:cd last_x264
  4. 配置選項(xiàng):./configure --enable-static --enable-shared --disable-asm --disable-avs
  5. 編譯安裝: make && sudo make install
  • 安裝ffmpeg
  1. 下載源碼:wget -c https://ffmpeg.org/releases/ffmpeg-4.0.2.tar.bz2
  2. 解壓:bunzip2 ffmpeg-4.0.2.tar.bz2
  3. 切換到目錄:cd ffmpeg-4.0.2
  4. 配置選項(xiàng):./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-small --arch=x86_64 --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-filter=delogo --enable-debug --disable-optimizations --enable-shared
  5. 編譯安裝:make && sudo make install

FFmpeg編譯的問(wèn)題:

  1. 問(wèn)題一:找不到 fdk-aac庫(kù) 在編譯ffmpeg時(shí),有可能會(huì)報(bào)找不到fdk_aac庫(kù)的錯(cuò)誤。此時(shí)我們應(yīng)該設(shè)置一下 PKG_CONFIG_PATH,指定ffmpeg到哪里找我們安裝好的庫(kù)。 上面通過(guò)源碼安裝的庫(kù),默認(rèn)地址為/usr/local/lib下面,當(dāng)然你可以通過(guò)./configure 中的–prefix參數(shù)改變這個(gè)目錄。 如果使用默認(rèn)路徑的話,可以通過(guò)下面的命令來(lái)指定編譯時(shí)去哪里找?guī)?/span>export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 如果你改變了默認(rèn)路徑,則將后面的 /usr/local/lib/pkgconfig修改為你變更后的路徑/xxx/.../lib/pkgconfig即可。

參考:李超大神的博客和視頻:www.imooc.com/article/247…原文 鏈接:https://juejin.cn/post/6844904160739999757

熱點(diǎn)圖片

備案號(hào):贛ICP備2022005379號(hào)
華網(wǎng)(http://www.luwanhua.cn) 版權(quán)所有未經(jīng)同意不得復(fù)制或鏡像

QQ:51985809郵箱:51985809@qq.com

主站蜘蛛池模板: 韩国电影金珠| 妻子的电影| 洛城僵尸| 美国电影《贵夫人》| 二次元炫酷帅气壁纸| 柏青个人简历| 新相亲大会第一季| 枕边凶灵完整版免费播放| 山上的小屋 残雪原文| 李保田演的全部作品| 荒岛求生韩国电影| 美丽分贝 电视剧| 饭店装修效果图| cctv6电影节目表| 婚前协议电视剧演员表| 电影疯狂之人| 生日特效动图| 电视直播pro| 雌雄同体seoⅹ另类| 男女打扑克视频网站| 血战到底电视剧| 韩国电影《真相迷途》演员表| 太上老君说五斗金章受生经| 女生被打屁股网站| 但愿人长久| 北京卫视今晚节目表| 庆余年2演员表全部员表| 最新好看电影| high heels| 礼记二则原文和译文| 无常电影| 玻璃笼| 太太的情人 电影| 禁忌爱游戏| 无懈可击图片| 91天堂素人97年清纯嫩模| 唐人街探案四免费观看| 长靴靴虐视频vk| 吴彦祖《偷窥无罪》| 白宝山电视剧26集免费观看| 涩涩免费|