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”
 

最新文章

  1. node基础10:处理异常
  2. PHP curl 实现RESTful PUT DELETE 实例
  3. java中的hashSet和Treeset的分析
  4. Linux高级变量
  5. Create Function
  6. ajax加php实现三级联动
  7. bzoj 3122 [Sdoi2013]随机数生成器(逆元,BSGS)
  8. Android开发手记(29) 基于Http的LaTeX数学公式转换器
  9. await与async的简单了解
  10. struts2语法--error页面如何捕获?
  11. php+redis 学习 三 乐观锁
  12. UML类图一
  13. 从SQL注入到内网漫游
  14. ionic3 在ios9.0 系统下 会出现ReferenceError:Can't find variable:Intl 错误提示
  15. Lazarus的二维码解决方案
  16. idea中添加类和方法注释以及codeCheck
  17. CocoStuff—基于Deeplab训练数据的标定工具【五、训练成果分析】
  18. flight framework 核心解读
  19. 使用Celery踩过的坑
  20. hihocoder 1500 EL SUENO

热门文章

  1. 机器学习 Logistic Regression
  2. C++之this指针与另一种“多态”
  3. NO3:步履蹒跚-完成第一章节学习
  4. BurpSuite工具应用及重放攻击实验
  5. bzoj 2342: 双倍回文 回文自动机
  6. 【Lintcode】363.Trapping Rain Water
  7. URI is not registered (Settings | Languages & Frameworks | Schemas and DTDs)
  8. JAVA 1.7并发之Fork/Join框架
  9. spring--设置注入VS构造注入
  10. ML 徒手系列 SVM