GrabBag/Module/FFMediaStream/FFMediaStream.pro

62 lines
1.8 KiB
Prolog
Raw Normal View History

# FFMediaStream.pro
2026-06-08 17:36:13 +08:00
# 基于 MPP (Rockchip 硬件编解码) + FFmpeg-rockchip (RTSP 传输 + swscale 格式转换) 的二次封装
# 提供 RTSP 推流 (IVrFFMediaPusher) RTSP 拉流 (IVrFFMediaPuller) 接口
2026-06-08 17:36:13 +08:00
#
# 注意FFmpeg-rockchip .a 文件编译时未加 -fPIC不能链入动态库(.so)
# 因此本模块使用 staticlibFFmpeg .a 由最终可执行文件链接
CONFIG -= qt
TEMPLATE = lib
CONFIG += c++17
2026-06-08 17:36:13 +08:00
# 静态库FFmpeg .a PIC)无法打入 .so改为在可执行文件链接阶段解析
CONFIG += staticlib
win32-msvc {
QMAKE_CXXFLAGS += /utf-8
QMAKE_CFLAGS += /utf-8
}
# 头文件路径
INCLUDEPATH += ./Inc
INCLUDEPATH += ./_Inc
INCLUDEPATH += $$PWD/../../Utils/VrCommon/Inc
INCLUDEPATH += $$PWD/../../Utils/VrUtils/Inc
2026-06-08 17:36:13 +08:00
# MPP 头文件Rockchip 硬件编解码原生 API
INCLUDEPATH += $$PWD/../../SDK/mpp/include
INCLUDEPATH += $$PWD/../../SDK/mpp/include/rockchip
# FFmpeg 头文件RTSP 传输 + swscale 格式转换)
INCLUDEPATH += $$PWD/../../SDK/ffmpeg-rockchip/include
SOURCES += \
Src/CVrFFMediaPusher.cpp \
Src/CVrFFMediaPuller.cpp
HEADERS += \
Inc/IVrFFMediaPusher.h \
Inc/IVrFFMediaPuller.h \
_Inc/CVrFFMediaPusher.h \
_Inc/CVrFFMediaPuller.h
2026-06-08 17:36:13 +08:00
# 链接(仅记录依赖;静态库本身不链接,依赖由最终可执行文件解析)
win32:CONFIG(debug, debug|release) {
LIBS += -L../../Utils/VrUtils/debug -lVrUtils
}else:win32:CONFIG(release, debug|release){
LIBS += -L../../Utils/VrUtils/release -lVrUtils
}else:unix:!macx {
LIBS += -L../../Utils/VrUtils -lVrUtils
}
2026-06-08 17:36:13 +08:00
# Windows 下提供编译占位(实现内部用 #ifdef FFMEDIA_PLATFORM_DUMMY 守卫具体调用)
win32 {
DEFINES += FFMEDIA_PLATFORM_DUMMY
LIBS += -lws2_32
}
unix:!macx {
2026-06-08 17:36:13 +08:00
message("build FFMediaStream for unix (MPP + FFmpeg-rockchip, staticlib)")
}