公共步驟
step.1 編譯 ffmpeg
在github上下載ffmpeg最新版
tar xvf ffmpeg-4.0.2.tar.bz2cd ffmpeg-4.0.2./configure --prefix="ffmpeg_build" --enable-debug --extra-cflags="-fno-stack-check" --cc=clangsudo make && make install
step.2 新建一個(gè)空的 xcode 項(xiàng)目
- Create a new Xcode project
-
新建一個(gè)空的 xcode 項(xiàng)目
1.png
2.png
step.3 添加 ffmpeg-4.0.2 源碼目錄進(jìn) ffmpeg4_demo 項(xiàng)目中

step.4 添加頭文件搜索路徑
-
到這里就可以實(shí)現(xiàn)頭文件跳轉(zhuǎn)了. 要等待處理完畢才可以點(diǎn)擊頭文件或者類來(lái)查看代碼.
image.png
方法一. 編譯庫(kù)之后用調(diào)試庫(kù)下斷點(diǎn)調(diào)試
step.1 添加一個(gè) target
-
File -> New -> Target -> Cross-platform -> External Build System
8.png -
target 命名為
ffmpeg-make
image.png -
target 切換到
ffmpeg-make
10.png
step.2 修改 ffmpeg-make 源碼路徑配置
- 修改
ffmpeg-make源碼路徑。
image.png
step.3 修改 ffmpeg-make 命令行參數(shù)
-
修改命令行參數(shù)
image.png -
修改可執(zhí)行命令
image.png
step.4 添加斷點(diǎn)(ffplay.c->main函數(shù)), 點(diǎn)擊 run

方法二. 調(diào)試具體代碼
在公共步驟之后我們?cè)趍ain.cpp寫(xiě)如下代碼:
#include <iostream>
#ifdef __cplusplus
extern "C" {
#endif
#include "libavformat/avformat.h"
#include "libavcodec/avcodec.h"
#ifdef __cplusplus
}
#endif
int decodeStream(const char *url) {
int ret;
AVFormatContext *ifmtCtx = NULL;
if ((ret = avformat_open_input(&ifmtCtx,url, NULL, NULL)) < 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot openinput file\n");
return ret;
}
if ((ret = avformat_find_stream_info(ifmtCtx, NULL))< 0) {
av_log(NULL, AV_LOG_ERROR, "Cannot findstream information\n");
return ret;
}
return 0;
}
int main(int argc, const char * argv[]) {
// insert code here...
decodeStream("xxx");
return 0;
}
然后打斷點(diǎn)即可完成調(diào)試
xcode添加庫(kù)

注意事項(xiàng)
1. 如果ffmpeg目錄變了或者更新怎么辦?
現(xiàn)在拿到了路徑,我們就去這里路徑去add.處理完之后變成這樣。

利用dwarfdump -debug-info target xxx.a去查看編譯的ffmpeg路徑,如果更新或者目錄變了需要重新編譯
2. 編譯指定版本的ffmpeg
比如我現(xiàn)在要安裝FFmpeg3.4.2版本.
1. 查看軟件包安裝來(lái)源
$ brew info ffmpeg
執(zhí)行上述命令您會(huì)得到如下信息:
$ From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/ffmpeg.rb
你看到了什么?github(版本控制) 還有 *.rb(安裝文件)
2. Github中查看rb文件歷史提價(jià)(版本)信息
復(fù)制鏈接到地址欄:https://github.com/Homebrew/homebrew-core/blob/master/Formula/ffmpeg.rb
可以看到如下信息:
url "https://ffmpeg.org/releases/ffmpeg-4.0.1.tar.xz"
sha256 "605f5c01c60db35d3b617a79cabb2c7032412be243554602eeed1b628125c0ee"
可以看到當(dāng)前版本就是: ffmpeg-4.0.1
接著,在Github上查看歷史提交信息,按照如下操作依次點(diǎn)擊(熟悉github的同學(xué)應(yīng)該已經(jīng)看透了秘密):




3. 安裝 ffmpeg-3.4.2 版本軟件包
ffmpeg:3.4.2 對(duì)應(yīng)的ffmpeg.rb文件網(wǎng)址:https://raw.githubusercontent...
執(zhí)行安裝








