2026-05-31 00:15:25 +08:00
|
|
|
|
# FFMediaStream.pro
|
2026-06-08 17:36:13 +08:00
|
|
|
|
# 基于 MPP (Rockchip 硬件编解码) + FFmpeg-rockchip (RTSP 传输 + swscale 格式转换) 的二次封装
|
2026-05-31 00:15:25 +08:00
|
|
|
|
# 提供 RTSP 推流 (IVrFFMediaPusher) 和 RTSP 拉流 (IVrFFMediaPuller) 接口
|
2026-06-08 17:36:13 +08:00
|
|
|
|
#
|
|
|
|
|
|
# 注意:FFmpeg-rockchip 的 .a 文件编译时未加 -fPIC,不能链入动态库(.so),
|
|
|
|
|
|
# 因此本模块使用 staticlib,FFmpeg .a 由最终可执行文件链接。
|
2026-05-31 00:15:25 +08:00
|
|
|
|
|
|
|
|
|
|
CONFIG -= qt
|
|
|
|
|
|
TEMPLATE = lib
|
|
|
|
|
|
|
|
|
|
|
|
CONFIG += c++17
|
|
|
|
|
|
|
2026-06-08 17:36:13 +08:00
|
|
|
|
# 静态库:FFmpeg .a(非 PIC)无法打入 .so,改为在可执行文件链接阶段解析
|
|
|
|
|
|
CONFIG += staticlib
|
2026-05-31 00:15:25 +08:00
|
|
|
|
|
|
|
|
|
|
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
|
2026-05-31 00:15:25 +08:00
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
# 链接(仅记录依赖;静态库本身不链接,依赖由最终可执行文件解析)
|
2026-05-31 00:15:25 +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 守卫具体调用)
|
2026-05-31 00:15:25 +08:00
|
|
|
|
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)")
|
2026-05-31 00:15:25 +08:00
|
|
|
|
}
|