Windows10环境安装编译SRT传输协议

Windows10环境安装编译SRT传输协议,第1张

文章目录
  • 前言
  • 1、SRT环境
    • 1.2、vcpkg包管理
  • 2. 依赖库部署
    • 2.1. 加密库
      • 2.1.1. 使用x64工具链构建openssl库
    • 2.2. 线程库
      • 2.2.1 使用 C++11 线程库
  • 3. 构建SRT
    • 拉取SRT源码
  • 总结


前言

SRT协议是基于UDT的传输协议,保留了UDT的核心思想和机制,抗丢包能力强,适用于复杂的网络。
详情参见:https://zhuanlan.zhihu.com/p/114436399。
官方链接:https://github.com/Haivision/srt/blob/master/docs/build/build-win.md


提示:以下是本篇文章正文内容,下面案例可供参考

1、SRT环境

MSVC+OpenSSL+Standard C++11 thread library

1.2、vcpkg包管理

首先需要安装git,可参见其他博客文章。
为了便于 *** 作,我将代码保存在硬盘根目录下的opt文件夹中

mkdir opt
cd opt

使用Git拉取vcpkg源码到本地:

git clone https://github.com/microsoft/vcpkg.git
cd vcpkg

运行自动配置vcpkg

.\bootstrap-vcpkg.bat

将当前文件夹目录设置为VCPKG_ROOT变量

set VCPKG_ROOT=%cd%

可通过echo命令检查设置情况

echo %VCPKG_ROOT%
2. 依赖库部署 2.1. 加密库 2.1.1. 使用x64工具链构建openssl库

注意! 当前 VCPKG_ROOT变量的值应为vcpkg的文件路径。

cd VCPKG_ROOT
vcpkg install openssl --triplet x64-windows

将vcpkg整合至代码生成系统,这样CMake就能定位到openssl库的位置

vcpkg integrate install

之后在CMake中应该可以看到通过下面的选项找到openssl

-DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake
2.2. 线程库

SRT库建议使用C++11 线程函数 (SRT版本1.4.2 及以上版本) 目前默认 SRT 版本为 1.4.4;

2.2.1 使用 C++11 线程库

若想要使用 标准 C++ 线程库 (从C++11开始支持) 需在CMake时使用以下选项。

-DENABLE_STDCXX_SYNC=ON. 

如果不设此项则必须使用一个外部线程库依赖如PThreads for Windows wrapper库。

3. 构建SRT 拉取SRT源码
git clone --branch  https://github.com/haivision/srt.git srt
cd srt
set SRT_ROOT=%cd%

其中 --branch 可用于指定srt realease的版本,发本文时官方发布的版本为v1.4.4则命令为 --branch v1.4.4.
注:我在Windows 10尝试使用v1.4.4时总是会碰到PThread.dll文件找不到。而我又不想使用PThread,改用v1.4.3后就没有该问题了。
如:

git clone --branch v1.4.3 https://github.com/haivision/srt.git srt

然后建立build文件夹存放生成的CMake文件,并进入build文件夹。

mkdir build
cd build

根据我的配置使用如下命令生成CMake文件

cmake ../ -G"Visual Studio 16 2019" -A x64 -DCMAKE_TOOLCHAIN_FILE="c:\opt\vcpkg\scripts\buildsystems\vcpkg.cmake" -DENABLE_STDCXX_SYNC=ON

使用下述命令编译代码

cmake --build .



总结

本文仅仅简单介绍了Win10环境下SRTv1.4.3传输协议库的编译,而SRT库抗丢包能力强,能使我们快速便捷地在复杂的网络环境中传输视频数据。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/866949.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-12
下一篇 2022-05-12

发表评论

登录后才能评论

评论列表(0条)

保存