# FFMediaStream.pro # 基于 ffmedia_release (Rockchip MPP/RGA/RTSP) 的二次封装 # 提供 RTSP 推流 (IVrFFMediaPusher) 和 RTSP 拉流 (IVrFFMediaPuller) 接口 CONFIG -= qt TEMPLATE = lib DEFINES += FFMEDIASTREAM_LIBRARY CONFIG += c++17 # 全平台使用动态库 CONFIG += shared win32-msvc { QMAKE_CXXFLAGS += /utf-8 QMAKE_CFLAGS += /utf-8 } # 头文件路径 INCLUDEPATH += ./Inc INCLUDEPATH += ./_Inc INCLUDEPATH += $$PWD/../../Utils/VrCommon/Inc INCLUDEPATH += $$PWD/../../Utils/VrUtils/Inc # ffmedia 头文件 INCLUDEPATH += $$PWD/../../SDK/ffmedia_release/include INCLUDEPATH += $$PWD/../../SDK/ffmedia_release/include/base INCLUDEPATH += $$PWD/../../SDK/ffmedia_release/include/module SOURCES += \ Src/CVrFFMediaPusher.cpp \ Src/CVrFFMediaPuller.cpp HEADERS += \ Inc/IVrFFMediaPusher.h \ Inc/IVrFFMediaPuller.h \ _Inc/CVrFFMediaPusher.h \ _Inc/CVrFFMediaPuller.h # 链接 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 # ffmedia 主库(仅 ARM/Linux 真正可用,Windows 下纯占位) FFMEDIA_LIB_DIR = $$PWD/../../SDK/ffmedia_release/lib RKNN_LIB_DIR = $$PWD/../../SDK/ffmedia_release/inference_examples/lib/RK3588 LIBS += -L$${FFMEDIA_LIB_DIR} -lff_media QMAKE_LFLAGS += -Wl,-rpath-link,$${FFMEDIA_LIB_DIR} QMAKE_LFLAGS += -Wl,-rpath-link,$${RKNN_LIB_DIR} # 系统依赖(RK3588):rga / mpp / drm。 # 这些库由 firefly 系统镜像自带,无需提供。 LIBS += -lrga -lrockchip_mpp -ldrm -lpthread -ldl } # Windows 下提供编译占位(实现内部用 #ifdef __linux__ 守卫具体调用) win32 { DEFINES += FFMEDIA_PLATFORM_DUMMY LIBS += -lws2_32 } unix:!macx { message("build FFMediaStream for unix (ffmedia_release)") QMAKE_CXXFLAGS += -fPIC target.path = /usr/lib } !isEmpty(target.path): INSTALLS += target