开源库SRT编译指南
2024-08-27 08:21:45
SRT(Secure,Reliable,Transport)是Haivision公司开发的一套开源媒体传输协议,用于在不稳定的网络环境下,优化媒体数据的传输性能。
SRT的码流加密基于开源库openssl实现,采用了AES加密,秘钥可以选择128、192、256bit三种长度;而抗丢包特性基于自动重传算法实现。
如果想要了解SRT更详细的信息,除了访问github仓库(https://github.com/Haivision/srt)之外,还可以访问其官网https://www.srtalliance.org/。
开源库SRT编译说明
我编译的源码下载自SRT的github仓库(https://github.com/Haivision/srt),版本是1.3.2.
SRT模块交叉编译之前,需要先configure,configure时必须的两个参数分别是:“--prefix”和“--with-compiler-prefix”。 “--prefix”表示的是编译完成之后,“make install”命令将编译结果拷贝的目录; “--with-compiler-prefix”则是编译器的路径。以tx1平台为例,其配置命令是:
./configure --prefix=/home/xxx/git_base/srt/release/tx1/ --with-compiler-prefix=/opt/nvidia/gcc-linaro-5.3.-. -x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-
configure之后,依次make;make install; 编译结果就被拷贝到了“--prefix”所指定的目录了。
需要注意的是:
--有些比较旧的编译器,可能还需要在configure时,加上选项“--disable-c++11”
--有些编译环境,没有SRT依赖的openssl库;编译时会出错,这时就需要先编译openssl,并安装到交叉编译环境中
--有时,编译不过,可以先手动删除CMakeCache.txt,避免错误配置的影响
开源库openssl编译说明
openssl的编译方法与SRT类似,我测试的源码来自于openssl的官网(https://www.openssl.org/source/),版本是v1.1.1b。
交叉编译前,也需要configure,必须的选项分别是“--prefix”、“CROSS_COMPILE”、“CC” 以hisiv500编译器为例,configure的例子如下:
./Configure linux-generic32 no-asm shared no-async --prefix=/home/xxx/git_base/openssl/release/hisiv500/ CROSS_COMPILE=/opt/arm-hisiv500-linux/bin/arm-hisiv500-linux-uclibcgnueabi- CC=gcc
需要注意的是:
--选项 “linux-aarch64”与“linux-generic32”分别代表64位ARM和32位处理器, 如果是其他类型的处理器,建议用./Configure --help来找一个对应的处理器
--选项“-no-asm”,表示编译时,不用汇编加速
--选项“no-async”,表示编译器不支持ucontext库,一般的编译环境都支持,除了部分海思
--编译之后,还需要把编译结果,拷贝到编译环境的动态库目录,cp时注意加选项“-rdf”
最新文章
- node基础10:处理异常
- PHP curl 实现RESTful PUT DELETE 实例
- java中的hashSet和Treeset的分析
- Linux高级变量
- Create Function
- ajax加php实现三级联动
- bzoj 3122 [Sdoi2013]随机数生成器(逆元,BSGS)
- Android开发手记(29) 基于Http的LaTeX数学公式转换器
- await与async的简单了解
- struts2语法--error页面如何捕获?
- php+redis 学习 三 乐观锁
- UML类图一
- 从SQL注入到内网漫游
- ionic3 在ios9.0 系统下 会出现ReferenceError:Can't find variable:Intl 错误提示
- Lazarus的二维码解决方案
- idea中添加类和方法注释以及codeCheck
- CocoStuff—基于Deeplab训练数据的标定工具【五、训练成果分析】
- flight framework 核心解读
- 使用Celery踩过的坑
- hihocoder 1500 EL SUENO
热门文章
- 机器学习 Logistic Regression
- C++之this指针与另一种“多态”
- NO3:步履蹒跚-完成第一章节学习
- BurpSuite工具应用及重放攻击实验
- bzoj 2342: 双倍回文 回文自动机
- 【Lintcode】363.Trapping Rain Water
- URI is not registered (Settings | Languages &; Frameworks | Schemas and DTDs)
- JAVA 1.7并发之Fork/Join框架
- spring--设置注入VS构造注入
- ML 徒手系列 SVM