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.www489tv.com) 版權所有未經同意不得復制或鏡像

    QQ:51985809郵箱:51985809@qq.com

    主站蜘蛛池模板: 欧美aaaa在线观看视频免费| 色天使色婷婷在线影院亚洲| 女人色毛片女人色毛片中国| 久久这里只有精品18| 狠狠久久永久免费观看| 国产亚洲人成a在线v网站| 2018天天射| 好爽又高潮了毛片免费下载| 久久久噜噜噜久久熟女AA片| 欧美大BBBBBBBBBBBB| 六月婷婷中文字幕| 青草草在线视频永久免费| 国产精品成人免费视频电影 | 久久精品动漫一区二区三区| 水蜜桃亚洲一二三四在线| 又硬又粗又长又爽免费看| 高潮毛片无遮挡高清免费| 国产精品色拉拉免费看| stars120| 成人国产网站v片免费观看 | 亚洲av日韩av无码污污网站| 熟妇激情内射com| 双性h啪啪樱桃动漫直接观看| 麻豆国产剧果冻传媒视频| 国产精品情侣呻吟对白视频| h电车侵犯动漫在线播放| 无码一区二区波多野结衣播放搜索| 亚洲av无码片在线播放| 欧美色成人综合| 免费a级片在线观看| 美女黄18以下禁止观看| 国产又爽又黄无码无遮挡在线观看 | 亚洲熟女少妇一区二区| 精品乱码一区二区三区四区 | 果冻麻豆星空天美精东影业| 亚洲精品国产手机| 秦91在线播放第3集全球直播 | 精品久久久久久无码中文字幕一区| 精品欧美一区二区三区精品久久 | 欧美性猛交xxxx黑人| 恋男乱女颖莉慰问军营是第几章|