首页
/ Haivision/SRT项目Windows平台静态库安装指南

Haivision/SRT项目Windows平台静态库安装指南

2025-07-09 08:03:17作者:蔡怀权

概述

本文将详细介绍如何在Windows平台上为Haivision/SRT项目构建和使用静态库安装包。SRT(Secure Reliable Transport)是一种开源传输协议,专为低延迟流媒体传输而设计。在Windows开发环境中使用SRT协议时,需要先安装相应的开发库。

开发人员指南:构建SRT安装包

环境准备

在构建SRT安装包前,需要配置以下开发环境:

  1. Visual Studio开发环境

    • 推荐使用Community版本(免费)
    • 必须安装所有目标架构的编译工具,包括:
      • x86 (32位Intel)
      • x64 (64位Intel)
      • ARM64 (64位ARM)
    • 在安装时选择"修改"->"单个组件",确保勾选所有必要的构建工具
  2. OpenSSL库安装

    • 需要为所有目标架构安装OpenSSL
    • 可通过运行install-openssl.ps1脚本自动完成安装
    • 脚本会自动处理多架构兼容性问题
  3. NSIS安装系统

    • 用于创建Windows安装程序
    • 可通过运行install-nsis.ps1脚本自动安装

构建安装包

完成环境配置后,执行以下步骤构建安装包:

  1. 运行build-win-installer.ps1脚本
  2. 脚本会自动完成以下工作:
    • 编译所有架构的SRT静态库
    • 打包为Windows安装程序
    • 生成版本信息

可选参数说明

  • -Version:指定自定义版本号
  • -NoPause:执行完毕后不暂停(适用于自动化脚本)

构建完成后,安装包会生成在installers目录下,命名格式为libsrt-版本号.exe

用户指南:使用SRT库

安装SRT库

  1. 运行安装程序libsrt-VERS.exe
  2. 安装程序会自动:
    • 安装SRT静态库和头文件
    • 设置LIBSRT环境变量(指向安装目录)

自动化安装选项: 对于CI/CD环境,可以使用install-libsrt.ps1脚本实现自动化安装。该脚本支持以下参数:

  • -Destination:指定下载目录
  • -ForceDownload:强制重新下载
  • -NoInstall:仅下载不安装
  • -NoPause:适用于自动化场景

在项目中使用SRT

安装完成后,在Visual Studio项目中引用SRT库有两种方式:

  1. 推荐方法:在项目文件中添加:

    <Import Project="$(LIBSRT)\libsrt.props"/>
    
  2. 手动配置

    • 包含目录:添加$(LIBSRT)\include
    • 库目录:添加$(LIBSRT)\lib
    • 链接库:添加srt.lib

技术细节解析

OpenSSL在Windows上的特殊处理

SRT协议依赖加密功能,在Windows平台上默认使用OpenSSL作为加密后端。由于OpenSSL在Windows上的特殊性,需要注意:

  1. 多架构支持

    • 需要为x86、x64和ARM64分别准备库文件
    • 现代OpenSSL提供了"Universal"安装包,简化了多架构支持
  2. 安装位置

    • 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

版本管理策略

安装包版本号遵循以下规则:

  1. 如果当前提交有标签,使用标签(去掉前缀'v')
  2. 否则使用详细版本号(如1.4.3-32-g22cc924
  3. 可通过-Version参数覆盖默认行为

常见问题解答

Q:为什么需要安装多个架构的OpenSSL? A:因为SRT安装包需要支持所有Windows平台架构,而Visual Studio可以在任何架构的主机上交叉编译所有目标架构的二进制文件。

Q:ARM64库在Intel机器上无法安装怎么办? A:使用最新的"Universal"安装包,它解决了跨架构安装的限制。

Q:如何验证安装是否成功? A:检查LIBSRT环境变量是否设置正确,并确认安装目录下包含includelib子目录。

通过本文的指导,开发者和用户都可以顺利地在Windows平台上构建和使用SRT库,为低延迟流媒体应用开发奠定基础。