Haivision/SRT项目Windows平台静态库安装指南
2025-07-09 08:03:17作者:蔡怀权
概述
本文将详细介绍如何在Windows平台上为Haivision/SRT项目构建和使用静态库安装包。SRT(Secure Reliable Transport)是一种开源传输协议,专为低延迟流媒体传输而设计。在Windows开发环境中使用SRT协议时,需要先安装相应的开发库。
开发人员指南:构建SRT安装包
环境准备
在构建SRT安装包前,需要配置以下开发环境:
-
Visual Studio开发环境
- 推荐使用Community版本(免费)
- 必须安装所有目标架构的编译工具,包括:
- x86 (32位Intel)
- x64 (64位Intel)
- ARM64 (64位ARM)
- 在安装时选择"修改"->"单个组件",确保勾选所有必要的构建工具
-
OpenSSL库安装
- 需要为所有目标架构安装OpenSSL
- 可通过运行
install-openssl.ps1
脚本自动完成安装 - 脚本会自动处理多架构兼容性问题
-
NSIS安装系统
- 用于创建Windows安装程序
- 可通过运行
install-nsis.ps1
脚本自动安装
构建安装包
完成环境配置后,执行以下步骤构建安装包:
- 运行
build-win-installer.ps1
脚本 - 脚本会自动完成以下工作:
- 编译所有架构的SRT静态库
- 打包为Windows安装程序
- 生成版本信息
可选参数说明:
-Version
:指定自定义版本号-NoPause
:执行完毕后不暂停(适用于自动化脚本)
构建完成后,安装包会生成在installers
目录下,命名格式为libsrt-版本号.exe
。
用户指南:使用SRT库
安装SRT库
- 运行安装程序
libsrt-VERS.exe
- 安装程序会自动:
- 安装SRT静态库和头文件
- 设置
LIBSRT
环境变量(指向安装目录)
自动化安装选项:
对于CI/CD环境,可以使用install-libsrt.ps1
脚本实现自动化安装。该脚本支持以下参数:
-Destination
:指定下载目录-ForceDownload
:强制重新下载-NoInstall
:仅下载不安装-NoPause
:适用于自动化场景
在项目中使用SRT
安装完成后,在Visual Studio项目中引用SRT库有两种方式:
-
推荐方法:在项目文件中添加:
<Import Project="$(LIBSRT)\libsrt.props"/>
-
手动配置:
- 包含目录:添加
$(LIBSRT)\include
- 库目录:添加
$(LIBSRT)\lib
- 链接库:添加
srt.lib
- 包含目录:添加
技术细节解析
OpenSSL在Windows上的特殊处理
SRT协议依赖加密功能,在Windows平台上默认使用OpenSSL作为加密后端。由于OpenSSL在Windows上的特殊性,需要注意:
-
多架构支持:
- 需要为x86、x64和ARM64分别准备库文件
- 现代OpenSSL提供了"Universal"安装包,简化了多架构支持
-
安装位置:
- x86:
C:\Program Files (x86)\OpenSSL-Win32
- x64:
C:\Program Files\OpenSSL-Win64
- ARM64:
C:\Program Files\OpenSSL-Win64-ARM
- Universal:
C:\Program Files (x86)\OpenSSL-WinUniversal
- x86:
版本管理策略
安装包版本号遵循以下规则:
- 如果当前提交有标签,使用标签(去掉前缀'v')
- 否则使用详细版本号(如
1.4.3-32-g22cc924
) - 可通过
-Version
参数覆盖默认行为
常见问题解答
Q:为什么需要安装多个架构的OpenSSL? A:因为SRT安装包需要支持所有Windows平台架构,而Visual Studio可以在任何架构的主机上交叉编译所有目标架构的二进制文件。
Q:ARM64库在Intel机器上无法安装怎么办? A:使用最新的"Universal"安装包,它解决了跨架构安装的限制。
Q:如何验证安装是否成功?
A:检查LIBSRT
环境变量是否设置正确,并确认安装目录下包含include
和lib
子目录。
通过本文的指导,开发者和用户都可以顺利地在Windows平台上构建和使用SRT库,为低延迟流媒体应用开发奠定基础。