音視頻處理 ffmpeg下載、編譯和安裝

創建文件夾

  • ffmpeg_sources? 存放源文件
  • ffmpeg_build? ? ? ?構建文件并安裝庫
  • bin? ? ? ? ? ? ? ? ? ? ? ?存放二進制可執行文件

安裝依賴環境? 整體安裝

sudo apt-get update -qq && sudo apt-get -y install \autoconf \automake \build-essential \cmake \git-core \libass-dev \libfreetype6-dev \libgnutls28-dev \libsdl2-dev \libtool \libva-dev \libvdpau-dev \libvorbis-dev \libxcb1-dev \libxcb-shm0-dev \libxcb-xfixes0-dev \meson \ninja-build \pkg-config \texinfo \wget \yasm \zlib1g-dev
  • 如果在安裝上述文件時,有些包沒有成功安裝,可以單獨指定命令進行安裝
  • sudo apt-get install xx

安裝依賴環境? 單獨安裝

NASM

  • 注意版本要 ≥ 2.13。本文安裝版本是 2.15.05
  • 安裝方式
cd ~/ffmpeg_sources && \
wget https://www.nasm.us/pub/nasm/releasebuilds/2.15.05/nasm-2.15.05.tar.bz2 && \
tar xjvf nasm-2.15.05.tar.bz2 && \
cd nasm-2.15.05 && \
./autogen.sh && \
PATH="$HOME/bin:$PATH" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" && \
make && \
make install
  • 如果使用apt-get安裝nasm,不被認可,也識別不到,參考如下鏈接,進行卸載
  • 安裝 nasm 在 Ubuntu 16.04 (Xenial Xerus) 🥇 [InstallOnLinux]?
  • sudo apt-get autoremove --purge nasm

libx264

  • H.264 視頻編碼器。版本要 ≥ 118
  • 需要 ffmpeg 編譯選項配置 --enable-gpl 和 --enable-libx264
  • sudo apt-get install libx264-dev

libx265

  • H.265/HEVC 視頻編碼器。版本 ≥ 68
  • 需要 ffmpeg 編譯選項配置 --enable-gpl 和 --enable-libx265
  • sudo apt-get install libx265-dev libnuma-dev

libvpx

  • VP8/VP9 視頻編碼、解碼器。版本 ≥ 1.4.0
  • 需要 ffmpeg 編譯選項配置 --enable-libvpx
  • sudo apt-get install libvpx-dev

libfdk-aac

  • AAC 音頻編碼器
  • 需要 ffmpeg 編譯選項配置 --enable-libfdk-aac
  • 如果配置包含了 --enable-gpl 需要同時添加 --enable-nonfree
  • sudo apt-get install libfdk-aac-dev

libmp3lame

  • mp3 音頻編碼器。版本 ≥ 3.98.3
  • 需要 ffmpeg 編譯選項配置 --enable-libmp3lame
  • sudo apt-get install libmp3lame-dev

libopus

  • Opus音頻解碼器和編碼器。版本 ≥ 1.1
  • 需要 ffmpeg 編譯選項配置 --enable-libopus
  • sudo apt-get install libopus-dev

libunistring-dev

  • sudo apt-get install libunistring-dev

libdav1d

  • AV1 解碼器,比libaom 快得多
  • 需要 ffmpeg 編譯選項配置 --enable-libdav1d
  • 通過 Python 包索引完成
  • 要求0.49.0版本以上
  • sudo apt-get install python3-pip
  • sudo pip3 install --user meson
  • 問題:meson_options.txt:1:0: ERROR: Unknown type feature.錯誤是由于meson版本不匹配導致的
  • 解決辦法:1,卸載apt 安裝的meson;2,pip3 install --user meson;3,修改path路徑使得pip安裝的meson優先于系統meson被搜索到??export PATH=~/.local/bin:$PATH
  • 檢測:分別在普通用戶和root用戶下使用命令 meson -v 檢測版本,驗證是否一致
  • 上述操作無誤之后,繼續執行
git clone --depth=1 https://code.videolan.org/videolan/dav1d.git && \
cd dav1d && \
mkdir build && cd build && \
meson --bindir="/usr/local/bin" .. && \
ninja && \
ninja install

libsvtav1

  • AV1 視頻解碼器和編碼器。FFmpeg 只支持編碼器,因此編譯不支持解碼器
  • 需要 ffmpeg 編譯選項配置 --enable-libsvtav1
git clone --depth=1 https://github.com/OpenVisualCloud/SVT-AV1
cd SVT-AV1
cd Build
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
make -j $(nproc)
sudo make install

編譯FFmpeg

cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \--prefix="$HOME/ffmpeg_build" \--pkg-config-flags="--static" \--extra-cflags="-I$HOME/ffmpeg_build/include" \--extra-ldflags="-L$HOME/ffmpeg_build/lib" \--extra-libs="-lpthread -lm" \--ld="g++" \--bindir="$HOME/bin" \--enable-gpl \--enable-gnutls \--enable-libass \--enable-libfdk-aac \--enable-libfreetype \--enable-libmp3lame \--enable-libopus \--enable-libsvtav1 \--enable-libdav1d \--enable-libvorbis \--enable-libvpx \--enable-libx264 \--enable-libx265 \--enable-nonfree && \
PATH="$HOME/bin:$PATH" make && \
make install && \
hash -r

結果驗證?

參考鏈接

  • FFmpeg
  • Ubuntu 20.04 搭建 CLion FFmpeg 開發環境_TYYJ-洪偉的博客-CSDN博客
  • FFmpeg Ubuntu 20.04 編譯_TYYJ-洪偉的博客-CSDN博客
  • ubuntu下更新meson版本_ewerwerwerer的博客-CSDN博客_meson升級
  • 安裝 nasm 在 Ubuntu 16.04 (Xenial Xerus) 🥇 [InstallOnLinux]
  • https://cache.one/read/16695804
  • How to install or uninstall dav1d on Ubuntu 20.10 (Groovy Gorilla) ?
  • ubuntu下更新meson版本_ewerwerwerer的博客-CSDN博客_meson升級
  • ubuntu上安裝meson & 如何使用meson編譯C代碼_南沙的星星的博客-CSDN博客_meson編譯
  • linux - ERROR: SvtAv1Enc not found using pkg-config - Stack Overflow

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/446041.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/446041.shtml
英文地址,請注明出處:http://en.pswp.cn/news/446041.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

CLion配置 鼠標滾輪 放大和縮小

操作 點擊File -> Settings點擊Appearance & Behavior -> Keymap在搜索框搜索 font 選擇 Decrease FontSize ,右鍵點擊,選擇add Mouse Shortcut,按住ctrl,同時向下滑動滾輪;同理,操作 Increase…

struts2通配符_基于Struts2框架的名片管理系統

本篇博文將分享一款基于Struts2框架的名片管理系統,JSP引擎為Tomcat9.0,數據庫采用的是MySQL5.5,集成開發環境為Eclipse IDE for Java EE Developers。名片管理系統主要包括用戶管理和名片管理功能。用戶功能主要包括:用戶注冊、用…

音視頻處理 Clion搭建ffmpeg開發環境

參考鏈接 Ubuntu 20.04 搭建 CLion FFmpeg 開發環境_TYYJ-洪偉的博客-CSDN博客 安裝CLion 首先到 jetbrains 官網 https://www.jetbrains.com/clion/ 下載 CLion 安裝包 CLion-2021.1.tar.gz使用finalshell和ubuntu之間配置ssh鏈接將Clion-2022.1.tar.gz 使用move移動到 /hom…

python安裝好的界面_手把手教你配置最漂亮的PyCharm界面,Python程序員必備!

高逼格超美的IDE界面,是每個程序員的夢想!隨著人工智能/機器學習的興起,Python作為一門“漂亮的語言”,再次獲得廣大程序員的關注。而JetBrains出品的PyCharm無疑是最好用的Python IDE之一。俗話說“工欲善其事,必先利…

音視頻處理 ffmpeg中級開發 H264編碼

開發介紹 libavcodec/avcodec.h常用的數據結構 AVCodec 編碼器結構體AVCodecContext 編碼器上下文AVFrame 解碼后的幀結構體內存的分配和釋放 av_frame_alloc 申請av_frame_free() 釋放avcodec_alloc_context3() 創建編碼器上下文avcodec_free_context() 釋放編碼器上下文解碼…

微信公眾號python人工智能回復_python實現微信機器人: 登錄微信、消息接收、自動回復功能...

安裝wxpypip install -u wxpy登錄微信# 導入模塊from wxpy import *# 初始化機器人,掃碼登陸bot bot()運行以上代碼,會生成一個二維碼,通過圖片掃描二維碼即可登錄微信。如果是在服務器上運行代碼,無法顯示圖片的時候&#xff0c…

音視頻處理 ffmpeg中級開發 視頻轉圖片

操作流程 目的:使用FFmpeg將視頻的每一幀數據轉換為圖片1,打開輸入的多媒體文件,檢索多媒體文件中的流信息2,查找視頻流的索引號,通過索引號獲取數據流;通過解析視頻流中的編碼參數得到解碼器ID&#xff0…

python非阻塞多線程socket_Python實現web服務器之 單進程單線程非阻塞實現并發及其原理...

在Python實現web服務器入門學習多進程、多線程實現并發HTTP服務器中,我們知道可以分別通過多進程、多線程的方式實現并發服務器,那么,是否可以通過單進程單線程的程序實現類似功能呢?實際上,在Python多任務學習分別通過yield關鍵…

企業知識庫與知識管理:如何統一戰略與實踐

在知識密集型的現代企業中,知識已經成為了一種寶貴的資產。如何有效地管理和利用這一資產,成為企業持續發展與創新的關鍵。企業知識庫與知識管理作為知識經濟的兩大支柱,它們的重要性不言而喻。但很多時候,我們發現企業的知識管理…

音視頻處理 ffmpeg中級開發 AAC編碼

介紹 編碼流程類似于視頻編碼,1,查找編碼器;2,設定參數,打開編碼器;3,數據編碼編碼函數 avcodec_encode_audio2 已經被棄用FFmpeg 過時 Api 匯總整理 - 灰色飄零 - 博客園 未成功使用 舊版本i…

虛擬機為Ubuntu分配空間

當虛擬機里面的創建的ubuntu鏡像需要更大的空間,將ubuntu關掉之后,對應調整硬盤的空間大小,由先前的20G上調至50G,但是先前的20G內存空間映射的位置是/dev/sda,后面增加的這段內存空間30G映射到/dev/sda1因此&#xff…

為什么人會擺高姿態_Yo , 你為什么喜歡沖浪?

“你為什么喜歡沖浪?” 那天木木突然問我。我愣住了。此時一道碧波恰從防潑堤(jetty)的那頭升起,木木轉頭望去,視線追著那道浪緩緩向西,直至它破碎成白色的浪花。我瞥見他眼神中的光亮,就和小孩…

音視頻處理 ffmpeg初級開發 命令行工具-實用命令

參考鏈接 ffmpeg Documentation作者:smallest_one 鏈接:FFmpeg命令行工具-實用命令 - 簡書 目錄 1,help命令使用 1.1 ffmpeg命令的語法結構1.2 獲取詳細的help信息1.3 打印幫助或者支持能力的信息1.4 全局選項1.5 文件選項1.6 視頻/音頻/字…

不同的電腦打印預覽不同怎么解決_條碼打印軟件中標簽預覽正常打印無反應怎么解決...

在使用條碼打印軟件制作標簽時,有客戶反饋,標簽打印預覽正常的,但是打印無反應,咨詢是怎么回事?今天針對這個情況,可以參考以下方法進行解決。一、預覽正常情況下,打印沒反應(1)在條碼打印軟件中設計好標簽之后&#…

python安裝scrapy_Python安裝Scrapy的種種

這幾天沒什么事,決定把自己抓代理的小工具用scrapy改寫。然而安裝的時候卻出現以下問題,反復失敗:Unable to find vcvarsall.bat經過一番查找,找到了這個文件:\Lib\distutils\_msvccompiler.py它里邊長這樣&#xff1a…

MP4文件格式的相關內容

參考鏈接 FFmpeg中mp4的demuxer(mov.c)代碼閱讀 - 簡書mp4文件格式解析 - 簡書mp4封裝格式各box類型講解及IBP幀計算_青丶空゛的博客-CSDN博客5分鐘入門MP4文件格式 - 程序猿小卡 - 博客園?關于M4A文件的隨機訪問 - 云社區 - 騰訊云 MP4文件格式相關內容 MP4文件由許多box組…

華三交換機如何進入配置_學校機房項目交換機的如何配置,理解這篇,交換機配置不再難...

弱電項目中,交換機的配置是無法避免的,大部分的項目都有可能會涉及到,尤其是機房等網絡項目,本期我們就通過一個實際項目案例來詳細了解交換機在項目中的應用配置,如果我們平時對交換機配置不熟,這個案例可…

百度地圖遷徙大數據_百度地圖大數據:五一高速擁堵不似預期,廣深成熱門遷出入地...

五一假期在即,你是否做好了“出行功課”?高速擁堵水平降低、公眾出門不出城、公園成踏青賞景熱門目的地……在全國疫情防控仍未松懈的時刻,2020年的五一或許注定與往年不同。近日,百度地圖發布2020五一假期安全出行大數據&#xf…

音視頻的基礎知識 視頻播放器原理/封裝格式/視頻音頻編碼數據/視頻像素數據/音頻采樣數據

參考鏈接 FFMpeg視頻播放器的制作-雷霄驊(去除電流音版本)_嗶哩嗶哩_bilibili 視頻播放器原理 播放視頻文件的流程YUV是一張屏幕中像素點的數值封裝格式 MP4 RMVB TS FLV AVI將視頻和音頻碼流按照一定的格式存儲在一個文件中封裝格式分析工具&#xf…

科立捷7代寫頻軟件_天大廈大“兩碩士論文雷同”通報,代寫買賣論文

澎湃新聞記者 薛莎莎天津大學、廈門大學7月10日晚就“兩碩士論文雷同”一事,分別發出調查處理通報。通報稱,涉事兩名學生存在由他人代寫、買賣論文的學術作假的行為,均撤銷其所獲碩士學位,收回、注銷碩士學位證書。澎湃新聞注意到…