华网,国产一级二级在线,华网资讯,国产一级二级视频,华网头条,国产一级二级三级视频,华人网络家园

rs1 ccbwd

首頁 > 汽車 > 汽車資訊 > 正文

rs1 ccbwd

FFmpeg源碼下載肯定是優先去官網下載:官網 ffmpeg.org/download.ht…

打開官網如下:

rs1 ccbwd

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

3. FFmpeg編譯,安裝

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

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

我們可以先輸入brew search ffmpeg

3.1.2 源碼編譯 方式安裝

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

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

接下來我們分別執行這3條語句:

  • 執行./configure --prefix=/usr/local/ffmpeg --enable-debug=3 一般我們默認安裝在/usr/local/ffmpeg路徑下,這個路徑可以自由設定,這里我們需要開啟debug功能,后面要用到

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

你也可以使用./configure --help來查看怎么配置

會打印如下所有選項:

上面包括了很多配置參數,隨著我們對ffmpeg的深入,我們也會慢慢了解這些配置參數,剛開始我們只需要知道我們關心的就好了。

例如我們不記得了禁止編譯static怎么寫的,我們這樣查詢一下:

同樣我們可以查詢一下share相關的

這里我設置configure時禁止編譯靜態庫,開啟動態庫,如下:

執行

輸入上面命令后回車,會等待一段時間,這個時候腳本在查詢系統所有匹配的庫,如果有不匹配的會有提示,如下圖,我的配置會報一個錯誤:

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

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

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

相關學習資料推薦,點擊下方鏈接免費報名,先碼住不迷路~】

音視頻免費學習地址:FFmpeg/WebRTC/RTMP/NDK/Android音視頻流媒體高級開發

【免費分享】音視頻學習資料包、大廠面試題、技術視頻和學習路線圖,資料包括(C/C++,Linux,FFmpeg webRTC rtmp hls rtsp ffplay srs 等等)有需要的可以點擊788280672加群免費領取~

(2) 解壓,這里需要用到本篇博客開篇的準備知識的解壓命令tar -zxvf yasm-1.3.0.tar

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

(4)執行配置:./configure

(5)編譯:make

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

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

如果沒有報錯,則會打印了下面信息:

這樣我們已經成功配置了FFmpeg,接下來執行編譯

  • 執行make -j 4 這里命令的意思是增加4個內核,并行編譯,這樣提高編譯速度 執行make命令后,接下來需要等待比較長的時間等編譯完成,需要耐心

增加權限后,就可以安裝成功了。

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

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

  1. bin目錄:存放所有ffmpeg的工具庫
  2. include目錄: 存放ffmpeg庫的所有頭文件
  3. lib目錄:ffmepg生成的動態庫或靜態庫
  4. share目錄:存放文檔相關內容和一些demo實例

我們接下來可以進入bin目錄執行命令:

正常會有三個子目錄,由于我這里沒有安裝ffplay所以少了一個ffplay這是為什么呢?

因為ffplay實際上是客戶端ffplay.c的C程序編譯出來的,該ffplay.c需要依賴avdevice模塊,而avdevice模塊使用了sdl的API,如果你的PC上沒有sdl(1.x版本,最常用的是1.2.0版本),那么ffplay就會編譯不出來了,所以要想編譯出命令行工具ffplay,首先的編譯基礎庫 sdl

  • Mac OS 安裝sdl 庫

如果沒有安裝brew的話,要先安裝Homebrew

等待一段時間,就安裝好了,

然后執行命令:

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

  • 安裝完成之后接下來一個很重要的事情就是配置環境變量,如果沒有配置,你直接執行ffmpeg命令是會報錯的

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

接下來配置環境變量

執行命令

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

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

在ubuntu操作系統上可以很容易的跟Mac電腦上執行brew install ffmpeg一樣可以一行命令執行 通過執行apt 安裝如下:

這個的弊端也是無法定制化,如果要定制化還是要手動編譯源碼安裝

安裝完成后,我們可以執行ffmpeg -version測試是否安裝成功

Centos 操作系統下安裝

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

CentOS 7下:

然后

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

跟上面mac源碼安裝類似,先進行configure配置,配置過程可能報錯,如報下面錯誤:

則說明yasm編譯器沒有安裝或者太老了,需要先安裝新的yasm匯編器。可以使用--disable-yasm禁用這個選項編譯,yasm是一款匯編器,并且是完全重寫了nasm的匯編環境,接收nasm和gas語法,支持x86和amd64指令集,所以這里安裝一下yasm即可

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

官網下載:yasm.tortall.net/Download.ht…下載后解壓,安裝

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

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

  • 然后make進行編譯

安裝

make install會把ffmpeg相關執行程序、頭文件、lib庫安裝在/opt/ffmpeg/

  • 安裝完成后可以進入/opt/ffmpeg/查看

發現有bin,include,lib,share這4個目錄bin是ffmpeg主程序二進制目錄 include是C/C++頭文件目錄 lib是編譯好的庫文件目錄 share是文檔目錄

  • 我們可以進入bin目錄執行./ffmpeg -version, 查看當前版本的詳細信息 可能會報錯:

原因是lib目錄未加載到鏈接到系統庫中 系統ld目錄列表在/etc/ld.so.conf中,打開文件會發現, 里面引用了/etc/ld.so.conf.d/下面所有的.conf文件,比如mariadb-x86_64.conf解決上面報錯,需要創建一個文件并寫入lib路徑即可執行命令:vim /etc/ld.so.conf.d/ffmpeg.conf

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

正常會打印如下信息

接下來需要配置環境變量 使用命令vim /etc/profile:編輯寫入↓

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

  • 檢測ffmpeg是否安裝成功 執行which ffmpeg 查看安裝路徑

3.3 在Window下編譯安裝FFmpeg

3.3.1 Window編譯工具介紹

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

  • Cygwin直接安裝使用: Cygwin編譯跟linux編譯一模一樣的,Cygwin完全就像一個虛擬機模擬了linux操作系統。Cygwin實際上是做了一層linux的api到windows 的api的轉換。

但是這樣編譯出來的ffmpeg的exe程序需要掛在一個Cygwin.dll庫才可以運行,因為它有一層轉換,所以性能對比原始的window程序有一些損耗。

  • MinGW + MSYS2 : 官方推薦的方式,這種編譯出來的就是原生的window程序,不需要和Cygwin一樣需要加載一個動態庫了。

它的編譯方式實際上和linux是一致的

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

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

在windows下安裝 ffmpeg 的最好方式就是使用 Cygwin 。 Cygwin 是什么呢?簡單的說,就是在 Windows上裝了一個Linux模擬器。然后你可以在這個模擬器上按照Linux的方式操作 Windows系統。因此,Windows安裝了 Cygwin 之后,你就把它當Linux用就可以了。首先,到 Cygwin 官網下載 Cygwin 的可執行程序 setup-x86_64.exe。當然,它是 64位的,如果你現在還在用 32位的,那請在 Cygwin官網上找 32位對應的版本。

  • 首先要安裝Cygwin

下載軟件后開始安裝

選擇系統的網絡連接方式,跟虛擬機類似

選擇鏡像安裝

選擇鏡像的對應包

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

此外還需要選擇網絡

還需要添加wget

此外我們選擇一個sdl的庫

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

以上就是一個最小的安裝了

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

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

選好之后繼續下一步

等待安裝完成

然后點擊圖標打開

可以看到一個linux的控制臺,如果在window下學習linux命名,就可以在這個控制臺練習

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

如果我們要訪問window下的D:盤,可以像下面這樣訪問:

  • 然后要安裝apt-cyg: 這個實際就是Cygwin下的apt工具

apt-cyg與 Ubuntu系統中的 apt一樣特別好用,而且使用的方式與 apt也是一個樣子的。

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

然后執行命令

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

接下來安裝pkg-config工具 在Windows系統下,一般不會默認安裝該工具,所以在Windows下做實驗的同學大都會遇到明明已經裝了某個庫,但仍然找不到該庫的情況。其原因就是沒有安裝 pkg-config這個工具。 首先確認是否已經將 pkg-config工具安裝好了。可以執行下面的命令:

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

  • 安裝好了上面的工具后,接下來就是下載ffmpeg源碼了,從官網:ffmpeg.org/download.ht…

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

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

下載源碼通過http直接下載或者git下載

這里我使用git方式,先創建一個ffmpeg目錄,然后Git clone代碼

下載好源碼后,進入目錄,然后配置configure

配置完成報告如下:

此時make文件已經生成好了,我們輸入make -j 4執行編譯

這個編譯過程比較長,耐心等待

最好執行make install 安裝

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

我們可以看到四個目錄:bin,include,lib,share接下來,我們進入bin目錄:

可以看到三個exe文件,ffmpeg.exe, ffplayer.exe, ffprobe.exe

我們可以執行ffmpeg.exe

  • 接下來也需要配置環境變量,不然每次要帶全路徑

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

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

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

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

最好我們輸入env | grep PATH來測試配置文件是否生效

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

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

所以這些庫需要我們自己來編譯

  • 編譯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. 配置選項:./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. 配置選項:./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. 配置選項:./configure
  5. 編譯安裝:make && sudo make install

注:編譯lame可能遇到的問題:

  1. 問題一: 在Cygwin下安裝 lame的時候遇到執行 ./configure 失敗的情況。如 "error: cannot guess build type; you must sepcify one",對這個問題可以通過下面的步驟來解決: 安裝automake。可以通過 which automake來確認automake 是否已經安裝。如果沒有安裝,可以通使用 apt-cyg install automake進行安裝。 確認automake當前版本。可執行automake --version獲取當前automake的版本號。 將 lame目錄下的 config.guess文件替換為 /usr/share/automake-version下的config.guess 文件。 此時,再執行./configure進就可以下成功了。
  2. 問題二: make時出現 "error: '_O_BINARY' undeclared (first use in this function)"的錯誤,解決辦法如下: 打開出錯文件 vi ./frontend/lametime.c 將下面這段代碼注釋掉 /* #elif defined __CYGWIN setmod(fileno(fp), _O_BINARY); */ 再執行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. 配置選項:./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. 配置選項:./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. 配置選項:./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編譯的問題:

  1. 問題一:找不到 fdk-aac庫 在編譯ffmpeg時,有可能會報找不到fdk_aac庫的錯誤。此時我們應該設置一下 PKG_CONFIG_PATH,指定ffmpeg到哪里找我們安裝好的庫。 上面通過源碼安裝的庫,默認地址為/usr/local/lib下面,當然你可以通過./configure 中的–prefix參數改變這個目錄。 如果使用默認路徑的話,可以通過下面的命令來指定編譯時去哪里找庫export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig 如果你改變了默認路徑,則將后面的 /usr/local/lib/pkgconfig修改為你變更后的路徑/xxx/.../lib/pkgconfig即可。

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

備案號:贛ICP備2022005379號
華網(http://www.cdxdyzl.com) 版權所有未經同意不得復制或鏡像

QQ:51985809郵箱:51985809@qq.com

主站蜘蛛池模板: 芜湖表面处理-涂装-精密加工-阳极氧化-芜湖研历光电科技有限公司 | 全球石油化工网 - 石油化工资讯,石油化工机械,石油化工设备,石油化工贸易,石油化工技术,尽在石油化工网 | 银马全自动免烧砖机设备厂家,提供免烧砖机价格报价及生产视频 | 清河县隆鑫密封件有限公司,汽车用密封条,配电箱柜、集装箱密封胶条,建筑门窗、家具用密封条,无毒环保医用密封条,船舶、农机用密封条,异型产品 | 首页|YULI玉立专业厨房电器官网|集成灶十大品牌 油烟机 燃气灶 | 商易网-b2b电子商务平台网站大全免费B2B发布供求信息网站 | 实验升降炉-箱式管式炉- 台车真空炉-熔块旋转炉-推板隧道窑-洛阳鲁威窑炉有限公司 | 湖南长沙手术室、实验室、无尘室、洁净室、无尘车间的净化工程装修公司-福临建设 | 螺带混合机|卧式螺带混合机|双动力混合机-无锡鑫海干燥粉体设备有限公司 | 两面针(江苏)实业有限公司-原两面针(扬州)酒店用品有限公司 | 售后服务认证-五星级物业售后服务体系认证证书-ISO27001信息安全管理体系认证证书查询认E云-湖北省贯标企业管理咨询有限公司 | 贴片磁胶电感_一体成型电感_贴片共模电感_广东精密龙电子科技有限公司 | 惠声电子、广州市惠声电子科技有限公司、VBS、VBS惠声电子、VBS公共广播生产厂家、VBS广播功放生产厂家、VBS会议系统设备批发、VBSIP网络对讲系统厂家、VBS会议系统厂家、VBS智能中控厂家、VBS专业扩声厂家 | 西安西雷脉冲功率技术有限公司-高压调制器/加速器与脉冲功率系统的研发/生产/应用推广/高压脉冲电源的应用研究/设计/生产和销售/高功率脉冲器件/材料与仪器设备的研发/生产和销售/高电压/大电流/强磁场环境的模拟及测试服务/会议会展服务/货物及进出口的业务/脉冲功率技术领域类的技术转让 | 输送带_山东输送带厂家_橡胶传送带-山东中输输送机械有限公司 | 消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司-消字号牙膏代加工|面膜代加工|凝胶贴牌|漱口水贴牌-南京三盾药业有限公司 | 太阳能路灯 太阳能路灯厂家 路灯厂家-保定正联光电科技有限公司 太阳能光伏发电_太阳能热水器_空气能热水器_直饮净水器_深圳市大兴节能环保科技有限公司 | 临沂网站建设,临沂网站制作,临沂网络公司,临沂小程序开发,临沂网站设计,沂水网站建设,沂南网站建设,蒙阴网站建设,平邑网站建设,费县网站建设,兰陵网站建设,郯城网站建设,临沭网站建设,莒南网站建设,兰山网络公司 | 氯化氢|二氧化硫|硫化氢|氩气生产厂家_潍坊市景鑫新材料有限公司 | 全自动灌装机械设备-迈驰粉末/颗粒/液体/膏体灌装机械设备流水线生产厂家 | 和远智能-和远智能科技股份有限公司 | 一体式电磁流量计_分体式电磁流量计_卫生级电磁流量计_卫生型电磁流量计_电池供电电磁流量计_卡箍式电磁流量计_废水电磁流量计_德克森仪表(淮安)有限公司官网 | 节能设备|余热回收|蒸汽压缩机|脱硝-河北耀一节能设备制造有限责任公司 | 石家庄LED显示屏|石家庄显示屏|河北显示屏升级改造|石家庄科航光电科技有限公司_石家庄科航光电科技有限公司 | 木屑烘干机|酒糟烘干机|果渣烘干机_郑州东鼎机械 | 无锡防火门-防火窗-防火卷帘门-福臣门业科技有限公司 | 润东方环保空调厂家-水冷式空调价格-润东方水冷空调-东莞市科骏机电设备有限公司 | 磨粉设备_雷蒙磨粉机_雷蒙超细磨 | 亚克力游泳池_透明/空中/无边泳池_别墅亚克力泳池设计生产厂家_瑞地格乐-深圳他拍档 | 陕西西安升降机_导轨式升降货梯_电动固定剪叉式升降平台_甘肃兰州液压机械厂家 | 拓普思(常州)智能科技有限公司-青少年无人机教育培训比赛课程加盟拓活力 | 主题公园设计|主题公园规划|水上乐园设计|龙翔设计|龙翔景观|龙翔文旅|深圳市龙翔设计景观工程有限公司 | 云德律师事务所_全国律师服务咨询服务企业 | 液力耦合器,摩擦型液力耦合器生产厂家-河南省华升矿机有限公司 | 盐城市城镇化建设投资集团有限公司[盐城国资企业、盐城国资集团、盐城文化旅游、盐城基础设施、盐城土地开发、盐城粮食收储] | 无锡大型数控龙门铣,喷涂加工,回火抛丸加工,精密不锈钢焊接机床身机床底座制造加工-无锡美高帝机械有限公司 | 暖气片厂家_散热器厂家_力春散热器 | 戒网瘾学校-陕西正规戒网瘾-叛逆青少年教育学校-重生教育官网 | 交通标志牌-交通标牌-铝圆牌-铝三角片-铝滑槽-公路警示指示牌-方牌-高速道路反光牌毛坯-交通设施安全警示标识牌-路名指示限速限高牌-厂家加工交通标牌铝板半成品毛坯-上海吕盟铝业有限公司 | 轴流消防排烟风机,排烟防火阀厂家,铝合金百叶风口-德州正邦通风设备有限公司 | 联系我们果博东方在线开户客服电话:19038688886 - 黑龙江旺广机械设备有限公司 |