1. 程式人生 > >live555 使用 FFmpeg 解碼 (Makefile 配置)

live555 使用 FFmpeg 解碼 (Makefile 配置)

live555 makefile 配置

檢視 testProg 的Makefile程式碼

INCLUDES = -I../UsageEnvironment/include -I../groupsock/include -I../liveMedia/include \
-I../BasicUsageEnvironment/include 
...
LOCAL_LIBS =	$(LIVEMEDIA_LIB) $(GROUPSOCK_LIB) \
		$(BASIC_USAGE_ENVIRONMENT_LIB) $(USAGE_ENVIRONMENT_LIB) 
		...
TEST_RTSP_CLIENT_OBJS    =
testRTSPClient.$(OBJ) ... testRTSPClient$(EXE): $(TEST_RTSP_CLIENT_OBJS) $(LOCAL_LIBS) $(LINK)[email protected] $(CONSOLE_LINK_OPTS) $(TEST_RTSP_CLIENT_OBJS) $(LIBS)

testRTSPClient 依賴 testRTSPClient.o 和lib 庫 還需要包含include 標頭檔案

所以需要FFmpeg 的lib庫和 標頭檔案

所以需要在include 處新增ffmpeg 的標頭檔案路徑

INCLUDES = -I..
/UsageEnvironment/include -I../groupsock/include -I../liveMedia/include \ -I../BasicUsageEnvironment/include \ -I../../ffmpeg/bin/include # 上面就是我ffmpeg 的標頭檔案路徑 前提是ffmpeg 已經編譯安裝(後面寫如何編譯ffmpeg) # ffmpeg 的庫檔案的路徑 (如何生成xxx.a後面寫) FFMPEG_LIBS = ../../ffmpeg/bin/lib/libavcodec.a ../../ffmpeg/bin/lib/libavdevice.a ../../ffmpeg/bin/lib/libavfilter.a \ ..
/../ffmpeg/bin/lib/libavutil.a ../../ffmpeg/bin/lib/libswresample.a ../../ffmpeg/bin/lib/libavformat.a \ ../../ffmpeg/bin/lib/libswscale.a # LOCAL_LIBS 中引入 FFMPEG_LIBS 這樣自動會將ffmpeg 的庫引入 testRTSPClient LOCAL_LIBS = $(LIVEMEDIA_LIB) $(GROUPSOCK_LIB) \ $(BASIC_USAGE_ENVIRONMENT_LIB) $(USAGE_ENVIRONMENT_LIB) $(FFMPEG_LIBS)

上面的路徑 …/…/ffmpeg/bin/ 是我的相對路徑

ffmpeg 編譯

# 進入ffmpeg 目錄  開啟編譯動態庫 安裝目錄在當前目錄bin檔案中
./configure --enable-shared --prefix=./bin

然後make -j8 make install ,注意這裡make 後並沒有so 檔案,因為連結操作在make install 中