国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

音視頻開發(fā)三:Windows環(huán)境下FFmpeg編譯安裝

這篇具有很好參考價(jià)值的文章主要介紹了音視頻開發(fā)三:Windows環(huán)境下FFmpeg編譯安裝。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

簡介

FFmpeg是一套可以用來記錄、轉(zhuǎn)換數(shù)字音頻、視頻,并能將其轉(zhuǎn)化為流的開源計(jì)算機(jī)程序。采用LGPL或GPL許可證 。它提供了錄制、轉(zhuǎn)換以及流化音視頻的完整解決方案。它包含了非常先進(jìn)的音頻/視頻編解碼庫libavcodec。

FFmpeg在Linux平臺(tái)下開發(fā),但它同樣也可以在其它操作系統(tǒng)環(huán)境中編譯運(yùn)行,包括Windows、[Mac OS X](https://baike.baidu.com/item/Mac OS X/470629?fromModule=lemma_inlink)等。

用戶既可以使用命令行直接對(duì)音視頻進(jìn)行操作(CLI),也可以調(diào)用其開源庫進(jìn)行個(gè)性化的功能開發(fā)(SDK)。

如果要在自己的程序中使用 ffmpeg ,那么使用它的 SDK 是最好的選擇。當(dāng)前 ffmpeg 包含以下幾個(gè)庫:

  • libavcodec : 編/解碼
  • libavfilter : 幀級(jí)操作(如添加濾鏡)
  • libavformat : 文件 I/O 和 封裝/解封裝
  • libavdevice : 設(shè)備視頻文件的封裝/解封裝
  • libavutil : 通用工具集合
  • libswresample : 音頻重采樣、格式處理、混音等
  • libpostproc : 預(yù)處理
  • libswscale : 色彩處理和縮放

FFmpeg編譯

為什么要編譯它呢?

? 由于ffmpeg 目前不提供預(yù)編譯的庫文件,而是需要自己下載源碼并編譯,而且可以自定義配置和優(yōu)化,比直接下載預(yù)編譯的二進(jìn)制的版本更加靈活。

編譯安裝準(zhǔn)備

在 Windows 下,編譯需要做的準(zhǔn)備如下:

  • 安裝并配置 MYSY2
  • 安裝 git (可選)
  • ffmpeg 源碼

安裝 MSYS2 及編譯工具鏈

MSYS2 是 Windows 下的一組編譯套件,它可以在 Windows 系統(tǒng)中模擬 Linux 下的編譯環(huán)境,如使用 shell 運(yùn)行命令、使用 pacman 安裝軟件包、使用 gcc (MinGW) 編譯代碼等。簡單來說,使用 MSYS2 ,你可以通過在 Linux 下非常熟悉的各種命令,來編譯 Windows 下的軟件。

MSYS2 的安裝也非常省心,只需要到 MSYS2 官網(wǎng) 下載.exe安裝包,管理員身份運(yùn)行安裝即可。

注意安裝盤必須是NTFS,路徑要全使用 ACSII 字符,不能有空格。建議就安裝在默認(rèn)位置,如果不想裝在 C 盤,就直接改下盤符,裝在其他盤的根目錄。

安裝完畢后,開始菜單里就會(huì)有下面的程序:

windows 編譯 ffmpeg 64位,音視頻開發(fā),ffmpeg,linux,音視頻

點(diǎn)擊它們就會(huì)啟動(dòng)一個(gè) shell 窗口,Just like on Linux ! 這個(gè) shell 程序默認(rèn)是 Mintty,類似 Linux 系統(tǒng)中的 bash shell。

MSYS2 支持多個(gè)編譯器工具鏈,它們的環(huán)境是獨(dú)立的(可以去安裝文件夾查看),

在開始菜單打開MSYS2 MSYS,使用命令pacman -Syu升級(jí)所有庫

在編譯安裝FFmpeg之前,先安裝FFmpeg編譯需要的依賴和工具

pacman -S mingw-w64-x86_64-toolchain  # mingw64編譯工具鏈,win下的gcc
pacman -S base-devel    # 一些基本的編譯工具
pacman -S yasm nasm     # 匯編器
pacman -S mingw-w64-x86_64-SDL2 # SDL2 是ffmpeg依賴的,因?yàn)闆]有它ffpaly不能用

安裝完畢后,可以輸入gcc -v查看 gcc 版本:

windows 編譯 ffmpeg 64位,音視頻開發(fā),ffmpeg,linux,音視頻

最后需要添加環(huán)境變量。右擊此電腦 -> 屬性 -> 高級(jí)系統(tǒng)設(shè)置 -> 環(huán)境變量 -> 選擇 Path (用戶變量和系統(tǒng)變量都要)-> 編輯 -> 新建,添加編譯工具鏈的路徑:

添加環(huán)境變量這一步,是為了以后使用其他編輯器或者IDE時(shí),能夠找到 MINGW64 的編譯工具鏈。在 MSYS2 中編譯 ffmpeg 本身是不需要添加 Windows 的環(huán)境變量的。

ffmpeg 源碼下載

在 ffmpeg 官網(wǎng) 下載源碼,目前最新的版本是 5.1.2 。注意不要下載成 executable files 了,那個(gè)是可以直接運(yùn)行的 CLI 程序。

windows 編譯 ffmpeg 64位,音視頻開發(fā),ffmpeg,linux,音視頻

三個(gè) download 都可以,只是壓縮包格式不一樣:

windows 編譯 ffmpeg 64位,音視頻開發(fā),ffmpeg,linux,音視頻

下載后解壓到一個(gè)好找的文件夾即可。

在 MSYS2 的 shell 中,打開源碼所在文件夾。

執(zhí)行編譯安裝命令

我們編譯安裝ffmpeg選擇使用mingw64終端 (如果你也是64位系統(tǒng)的話)。

windows 編譯 ffmpeg 64位,音視頻開發(fā),ffmpeg,linux,音視頻

  1. ./configure --prefix=/usr/local/ffmpeg --enable-shared --enable-sdl2 --disable-static

    括號(hào)中的值都是可選的。

    configure說明
     --prefix=/usr/local/ffmpeg        # 安裝位置
     --enable-debug                    # 啟動(dòng)debug調(diào)試
     --enable-sdl2					   # 引入SDL2庫,ffplay編譯必須;
     --enable-static                   # 編譯靜態(tài)庫(默認(rèn)開啟)
     --enable-shared                   # 編譯動(dòng)態(tài)庫(默認(rèn)關(guān)閉)
     --enable-libvpx                   # VP8/VP9 視頻編碼器
     --enable-libvmaf                  # VMAF視頻質(zhì)量評(píng)估工具
     --disable-x86asm                  # 未知
     --enable-gpl                      # 允許使用GPL(默認(rèn)關(guān)閉)
     --enable-nonfree                  # 允許使用非免費(fèi)的代碼, 產(chǎn)生的庫和二進(jìn)制程序?qū)⑹遣豢稍侔l(fā)行的
     --enable-libx264                  # 啟用H.264編碼(默認(rèn)關(guān)閉)
     --enable-libfdk-aac               # 使能aac編碼(默認(rèn)關(guān)閉)
     --disable-optimizations           # 禁用編譯器優(yōu)化
     --disable-asm                     # 禁用全部匯編程序優(yōu)化
     --enable-librtmp                  # 使用librtmp拉流(默認(rèn)關(guān)閉)
    

    更多詳細(xì)說明可查詢ffmpeg ./configure參數(shù)說明

  2. 編譯:make -j 4

    4 表示編譯需要用4個(gè)線程。

  3. 安裝 sudo make install

這一步都安裝完成了,在安裝目錄下的bin目錄執(zhí)行.\ffmpeg.exe -version

windows 編譯 ffmpeg 64位,音視頻開發(fā),ffmpeg,linux,音視頻

設(shè)置環(huán)境變量

為了能夠每次打開的時(shí)候,都能執(zhí)行ffmpeg命令。在配置文件中末尾添加 export PATH=$PATH:/d/repos/ffmpeg/ffmpeg_5.2.1_install/bin這個(gè)命令。配置文件就是msys的安裝位置/msys64/etc/profile.這個(gè)文件和 Linux 下的/etc/profile文件作用是類似的。

ffmpeg 集成x264

libx264 編譯安裝

ffmpeg 提供了相當(dāng)多的外部庫支持,但是如果要使用的話需要自己編譯外部庫。

libx264 由 VideoLAN 組織所發(fā)布,它是 H.264 的一套性能較好的軟編碼器實(shí)現(xiàn)(不包括解碼器)。H.264 (AVC) 是當(dāng)前較常用的視頻編碼,目前 H.264 的繼任者 H.265 (HEVC) 也漸趨成熟, VideoLAN 也有一套實(shí)現(xiàn) libx265。

  1. 進(jìn)入x264官網(wǎng)頁面下載

    官方建議使用 git 下載源碼(下載壓縮包再解壓應(yīng)該也是一樣的):

    git clone https://code.videolan.org/videolan/x264.git

  2. 進(jìn)入源碼目錄

  3. 執(zhí)行以下命令進(jìn)行編譯和安裝

    編譯安裝過程和ffmpeg相似。

./configure --prefix=安裝路徑 --enable-shared
make -j 4
make install 

– enable-shared ,同時(shí)在系統(tǒng)中生成共享庫,方便其他程序調(diào)用。

  1. 查看libx264是否安裝成功

    到x264的可執(zhí)行文件目錄,執(zhí)行./x264.exe --version打印類似如下信息,安裝成功。

windows 編譯 ffmpeg 64位,音視頻開發(fā),ffmpeg,linux,音視頻

編譯ffmpeg庫,集成libx264

  1. 檢查 PKG_CONFIG_PATH 環(huán)境變量是否正確配置

    pkg-config 工具通過 PKG_CONFIG_PATH 環(huán)境變量來查找?guī)斓?pkg-config 配置文件。ibx264的pkg-config是一個(gè)用于管理庫依賴的工具。它可以幫助開發(fā)者在編譯和鏈接源代碼時(shí)自動(dòng)包含庫文件,并提供必要的編譯器和鏈接器選項(xiàng)。此外,它還可以與其他開發(fā)工具集成,例如Autotools和CMake,以實(shí)現(xiàn)更完整和自動(dòng)化的構(gòu)建過程。

    可以執(zhí)行以下命令確認(rèn) PKG_CONFIG_PATH 是否包含了 libx264 的 pkg-config 配置文件路徑:

    echo $PKG_CONFIG_PATH
    

    如果沒有包含,你可以使用以下命令將 libx264 的 pkg-config 配置文件路徑添加到 PKG_CONFIG_PATH 中:

     export PKG_CONFIG_PATH=${PKG_CONFIG_PATH}:/f/software/install/ffmpeg/x264_install/lib/pkgconfig
    
  2. 編譯安裝ffmpeg

    ./configure --prefix=/f/software/install/ffmpeg/ffmpeg_install \
    --enable-shared --enable-sdl2 --disable-static  --enable-gpl --enable-libx264 \
    --extra-cflags=-I/f/softweg/x264_install/include \
    --extra-ldflags=-L/f/software/install/ffmpeg/x264_install/lib
    
    make -j 4
    
    make install
    

    這里使用了以下參數(shù):

    • 加入--enable-libx264 參數(shù)
  • 加入--enable-gpl參數(shù)。否則會(huì)提示libx264 is gpl and --enable-gpl is not specified

  • –extra-cflags=“-I/f/softweg/x264_install/include”:指定 x264 的頭文件路徑為 /f/softweg/x264_install/include。

    • –extra-ldflags=“-L/f/software/install/ffmpeg/x264_install/lib”:指定 x264 的庫文件路徑為/f/software/install/ffmpeg/x264_install/lib,并鏈接到 libx264.so 動(dòng)態(tài)庫文件。

注意: 有一個(gè)坑就是 編譯安裝完成之后,執(zhí)行ffmpeg、ffplay等命令都沒有反應(yīng)。或者雙節(jié)ffmpeg.exe 提示 由于找不到libx264-164.dll,無法繼續(xù)執(zhí)行代碼。重新安裝程序可能會(huì)解決此問題。這是因?yàn)槲覀僱ibx264和ffmpeg的安裝路徑不在同一個(gè)地方。需要libx264安裝目錄的bin文件夾下的libx264-164.dll放到ffmpeg安裝路徑的bin目錄下。

參考

fmpeg庫編譯安裝及入門指南(Windows篇)文章來源地址http://www.zghlxwxcb.cn/news/detail-766002.html

到了這里,關(guān)于音視頻開發(fā)三:Windows環(huán)境下FFmpeg編譯安裝的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • FFmpeg 音視頻開發(fā)工具

    FFmpeg 音視頻開發(fā)工具

    目錄 FFmpeg 下載與安裝 ffmpeg 使用快速入門 ffplay 使用快速入門 1、FFmpeg 是處理音頻、視頻、字幕和相關(guān)元數(shù)據(jù)等多媒體內(nèi)容的庫和工具的集合。一個(gè)完整的跨平臺(tái)解決方案,用于錄制、轉(zhuǎn)換和流式傳輸音頻和視頻。 官網(wǎng):https://www.ffmpeg.org/ 源碼:https://github.com/FFmpeg/FFmpeg。

    2024年02月15日
    瀏覽(29)
  • 音視頻開發(fā)-ffmpeg介紹-系列一

    音視頻開發(fā)-ffmpeg介紹-系列一

    目錄 一.簡介 FFmpeg框架的基本組成包含: 二.?FFmpeg框架梳理音視頻的流程?編輯 基本概念: 三.ffmpeg、ffplay、ffprobe區(qū)別 ? ? ?4.1 ffmpeg是用于轉(zhuǎn)碼的應(yīng)用程序? 4.2?fffplay是用于播放的應(yīng)用程序? ? ? ?4.3?ffprobe是用于查看文件格式的應(yīng)用程序 ? ? ?4.4?ffmpeg是用于轉(zhuǎn)碼的應(yīng)用程

    2024年02月16日
    瀏覽(30)
  • 音視頻開發(fā)---ffmpeg rtmp推流

    音視頻開發(fā)---ffmpeg rtmp推流

    推流是將輸入視頻數(shù)據(jù)推送至流媒體服務(wù)器, 輸入視頻數(shù)據(jù)可以是本地視頻文件(avi,mp4,flv......),也可以是內(nèi)存視頻數(shù)據(jù),或者攝像頭等系統(tǒng)設(shè)備,也可以是網(wǎng)絡(luò)流URL。本篇介紹將本地視頻文件通過FFmpeg編程以RTMP直播流的形式推送至RTMP流媒體服務(wù)器的方法。 推流的網(wǎng)絡(luò)拓?fù)?/p>

    2024年02月16日
    瀏覽(34)
  • 音視頻剪輯|FFMPEG|windows10下的音視頻格式轉(zhuǎn)換,遮擋填充,GIF動(dòng)圖制作,背景音頻抽取,替換

    音視頻剪輯|FFMPEG|windows10下的音視頻格式轉(zhuǎn)換,遮擋填充,GIF動(dòng)圖制作,背景音頻抽取,替換

    最近對(duì)于音視頻和圖像的處理問題比較感興趣,但發(fā)現(xiàn)很多目前需要的功能要么需要付費(fèi)但不會(huì)過于麻煩,要么比較麻煩,很可能某個(gè)功能實(shí)現(xiàn)需要安裝很多軟件 例如,視頻轉(zhuǎn)GIF動(dòng)圖,該功能的實(shí)現(xiàn)要么使用Photoshop全家桶,要么找在線網(wǎng)站,或者是wps充會(huì)員,或者找其它方法

    2024年02月20日
    瀏覽(26)
  • 玩賺音視頻開發(fā)高階技術(shù)——FFmpeg

    玩賺音視頻開發(fā)高階技術(shù)——FFmpeg

    隨著移動(dòng)互聯(lián)網(wǎng)的普及,人們對(duì)音視頻內(nèi)容的需求也不斷增加。無論是社交媒體平臺(tái)、電商平臺(tái)還是在線教育,都離不開音視頻的應(yīng)用。這就為音視頻開發(fā)人員提供了廣闊的就業(yè)機(jī)會(huì)。根據(jù)這些年來網(wǎng)站上的音視頻開發(fā)招聘需求來看,音視頻開發(fā)人員的需求量大,且薪資待遇

    2024年02月13日
    瀏覽(29)
  • Qt音視頻開發(fā)38-ffmpeg視頻暫停錄制的設(shè)計(jì)

    Qt音視頻開發(fā)38-ffmpeg視頻暫停錄制的設(shè)計(jì)

    基本上各種播放器提供的錄制視頻接口,都是只有開始錄制和結(jié)束錄制兩個(gè),當(dāng)然一般用的最多的也是這兩個(gè)接口,但是實(shí)際使用過程中,還有一種可能需要中途暫停錄制,暫停以后再次繼續(xù)錄制,將中間部分視頻不需要錄制,跳過這部分不需要的視頻,而且錄制的視頻文件

    2023年04月20日
    瀏覽(25)
  • 音視頻開發(fā)實(shí)戰(zhàn)03-FFmpeg命令行工具移植

    音視頻開發(fā)實(shí)戰(zhàn)03-FFmpeg命令行工具移植

    作為一個(gè)音視頻開發(fā)者,在日常工作中經(jīng)常會(huì)使用ffmpeg 命令來做很多事比如轉(zhuǎn)碼 ffmpeg -y -i test.mov -g 150 -s 1280x720 -codec libx265 -r 25 test_h265.mp4 ,水平翻轉(zhuǎn)視頻: ffmpeg -i src.mp4 -vf hflip -acodec copy -vcodec h264 -b 22000000 out.mp4 ,視頻截取: ffmpeg -i input.wmv -ss 00:00:30.0 -c copy -t 00:00:10.0 ou

    2024年02月16日
    瀏覽(31)
  • FFMPEG開發(fā)快速入坑——附錄一:音視頻同步

    FFMPEG開發(fā)快速入坑——附錄一:音視頻同步

    本章節(jié)主要以本地音視頻播放為例,簡要描述講解一個(gè)基本的播放器中,音視頻播放如何實(shí)現(xiàn)同步的。 通用媒體播放器框架 其中各個(gè)組件模塊: 1、Media Demux: 進(jìn)行媒體文件的解析,分別解析出音頻流數(shù)據(jù)包和視頻流數(shù)據(jù)包。主要使用? libavformat 庫中的函數(shù)。 2、Video Decoder:

    2024年01月19日
    瀏覽(27)
  • 音視頻處理 ffmpeg中級(jí)開發(fā) H264編碼

    音視頻處理 ffmpeg中級(jí)開發(fā) H264編碼

    libavcodec/avcodec.h 常用的數(shù)據(jù)結(jié)構(gòu) AVCodec 編碼器結(jié)構(gòu)體 AVCodecContext 編碼器上下文 AVFrame 解碼后的幀 結(jié)構(gòu)體內(nèi)存的分配和釋放 av_frame_alloc 申請(qǐng) av_frame_free() 釋放 avcodec_alloc_context3() 創(chuàng)建編碼器上下文 avcodec_free_context() 釋放編碼器上下文 解碼步驟 avcodec_find_decoder 查找解碼器 avcod

    2024年02月01日
    瀏覽(109)
  • Qt音視頻開發(fā)40-ffmpeg采集桌面并錄制

    之前用ffmpeg打通了各種視頻文件和視頻流以及本地?cái)z像頭設(shè)備的采集,近期有個(gè)客戶需求要求將整個(gè)桌面屏幕采集下來,并可以錄制保存成MP4文件,以前也遇到過類似的需求,由于沒有搞過,也沒有精力去摸索和測試,所以也就一直耽擱著,近期剛好這個(gè)需求又來了,定下心

    2023年04月25日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包