[TOC]html
最近學習了一些關於FFmpeg的姿式(知識),也是踩坑踩到吐血 bash
MediaXXX
系列,誰用誰知道
本着前人滾坑,後人平躺的原則,準備記錄下這一路踩坑過來的各類問題app
首先 僞裝你已經有了簡單的音視頻的知識,若是不懂的話,傳送門在這裏 音視頻基礎知識講解學習
其次 C/C++基本知識 ffmepg是用純C寫的 整篇文章基本都是在C/C++的環境下編寫操做,包括分析ffmpeg裏面的源碼,都是須要以這個爲前提的,假如不太瞭解的話產傳送門在這裏 C基礎教程 C++基礎教程google
一些建議 開始入坑的朋友們不用着急一下把全部的東西都看懂,一步步來,一層層的進;有些剛開始只須要知道一些概念,等實際要用到的時候,再去細瞭解也不遲。本系列文章頁就是遵循這個方式來進行講解編碼
首先說一下個人本地環境spa
網上文章的ffmpeg版本良莠不齊,社會在進步 人類在發展,本着穩重帶皮的原則,使用的是 :3d
FFmpeg 4.0.2 "Wu" ------------------>下載地址code
you are so kris wu?cdn
編譯ffmpeg前咱們的項目用須要用的SDL2,因此咱們得先去下載編譯SDL2--->SDL2下載地址 下載解壓,終端進去SDL2的目錄 執行
./configure
make -j8
make install
複製代碼
這裏咱們爲了方便 默認的install 直接是install到了/usr/local/Cellar/sdl2/ 下
lib目錄下是咱們須要用的庫, includ是頭文件
編譯好了SDL2後咱們來編譯ffmpeg,由於咱們如今暫時還沒用到其餘的包,這裏咱們就簡單編譯一下,下載完ffmpeg 4.0.2源碼後進入目錄,執行
./configure \--disable-static\ --enable-shared\ --enable-gpl\ --enable-version3\ --enable-sdl2\ --enable-bzlib\ --enable-libx264\ --enable-lzma\ --enable-zlib\ --enable-gmp\ --enable-appkit\ --enable-avfoundation\ --enable-coreimage\ --enable-audiotoolbox
make -j8
make install
複製代碼
一樣,咱們能夠去/usr/local/Cellar/ffmpeg
去取頭文件和動態庫
接下來,咱們先來總體瞭解一下FFmpeg的總體結構,經常使用結構體與API與核心流程
未完持續。。。