jrtplib移植
jrtplib版本:3.11.1
jthread版本:1.3.3
libsrtp版本:1.6.0
jrtplib库有两种编译方式:
1. 使能jthread编译,此方式可使jrtplib自动在后台轮询结束数据,
而不必用户自己调用RTPSession类中的poll方法轮询。(推茅,本例采用)
2. 不使能jthread编译, 这就要用户调用RTPSession类中的poll方法轮询。
首先编译libsrtp:
源码网站:github.com/cisco/libsrtp
下载后解压,进入源码目录。执行一项命令
./configure --prefix="安装目录" (交叉编译则需指定--host="交叉编译工具链")
make
make runtest
make install
其次编译jthread:
源码网站:https://github.com/j0r1/JThread
下载后解压,进入源码目录。
采用cmake编译(没安装则自行安装apt-get install cmake、apt-get install cmake-qt-gui)
1. 在目录下建立build目录 mkdir build
2. vi toolchain.cmake
3. 添加:
###########user defined#############
set( CMAKE_SYSTEM_NAME Linux ) #设置系统名
#set( CMAKE_SYSTEM_PROCESSOR arm ) #设置处理器名
set( CMAKE_C_COMPILER gcc ) #设置C语言编译器
set( CMAKE_CXX_COMPILER g++ ) #设置c++编译器
###########user defined#############
set(CMAKE_INSTALL_PREFIX "安装目录") #设置安装目录
###########user defined#############
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
######################################
4. 执行 cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake ../
5. make
6. make install
最后编译jrtplib:
源码网站:https://github.com/j0r1/JRTPLIB
下载后解压,进入源码目录。(采用cmake编译)
1. 在目录下建立build目录 mkdir build
2. vi toolchain.cmake
3. 添加:
set(JTHREAD_FOUND 1)
set(JTHREAD_INCLUDE_DIRS "jthread安装目录/include")
set(JTHREAD_LIBRARIES "-Ljthread安装目录/lib" "-ljthread" "-lpthread")
set(LIBSRTP_FOUND 1)
set(LIBSRTP_INCLUDE_DIR "libsrtp安装目录/include")
set(LIBSRTP_LIBRARY_DIR "-Llibsrtp安装目录/lib" "-lsrtp")
###########user defined#############
set( CMAKE_SYSTEM_NAME Linux )
#set( CMAKE_SYSTEM_PROCESSOR arm )
set( CMAKE_C_COMPILER gcc )
set( CMAKE_CXX_COMPILER g++ )
###########user defined#############
set(CMAKE_INSTALL_PREFIX "jrtplib安装目录") #设置安装目录
###########user defined#############
set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
######################################
4. 执行 cmake -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake ../
5. make
6. make install
jrtplib移植的更多相关文章
- Linux下几种RTP协议实现的比较和JRTPLIB编程讲解
流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议. IP电话等应用场合的技术基础.RTP是进行实时流媒体传输的标准协议和关 ...
- 一个基于JRTPLIB的轻量级RTSP客户端(myRTSPClient)——收流篇:(一)简介
关于实时流媒体传输的开源库,目前流行的主要有两个:live555和jrtplib. 其中live555将rtp.rtcp和rtsp的传输协议实现集于一身,功能齐全,是个超强的集合体.但是对于嵌入式系统 ...
- MVVM框架从WPF移植到UWP遇到的问题和解决方法
MVVM框架从WPF移植到UWP遇到的问题和解决方法 0x00 起因 这几天开始学习UWP了,之前有WPF经验,所以总体感觉还可以,看了一些基础概念和主题,写了几个测试程序,突然想起来了前一段时间在W ...
- IIC驱动移植在linux3.14.78上的实现和在linux2.6.29上实现对比(deep dive)
首先说明下为什么写这篇文章,网上有许多博客也是介绍I2C驱动在linux上移植的实现,但是笔者认为他们相当一部分没有分清所写的驱动时的驱动模型,是基于device tree, 还是基于传统的Platf ...
- Linux主机上使用交叉编译移植u-boot到树莓派
0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...
- STM32F429 LCD程序移植
STM32F429自带LCD驱动器,这一具有功能给我等纠结于屏幕驱动的程序员带来了很大的福音.有经验的读者一定有过这样的经历,用FSMC驱动带由控制器的屏幕时候,一旦驱动芯片更换,则需要重新针对此驱动 ...
- 将MPM雪模拟移植到Maya
同事实现了一个迪士尼的MPM雪模拟论文,我将其移植到Maya中 论文题目是 A material point method for snow simulation 代码在这里: https://git ...
- ucos实时操作系统学习笔记——操作系统在STM32的移植
使用ucos实时操作系统是在上学的时候,导师科研项目中.那时候就是网上找到操作系统移植教程以及应用教程依葫芦画瓢,功能实现也就罢了,没有很深入的去研究过这个东西.后来工作了,闲来无聊就研究了一下这个只 ...
- DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一
关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基 ...
随机推荐
- Angular学习笔记【如何正确使用第三方组件】
例如:ng-bootstrap的使用: 1.首先肯定是先要安装,参考官网给出的指令安装即可.(npm install --save @ng-bootstrap/ng-bootstrap) 2.在App ...
- Java中常用的数据源
几种常用的Java数据源解决方案 Java中的数据源就是javax.sql.DataSource.DataSource的创建可以有不同的实现. JNDI方式创建DataSource 以JNDI方式创建 ...
- CMD当前代码页修改
python3.x在程序开发中统一的编码是 UTF-8,但是进行交互式编程的时候会经常遇到乱码问题,这是因为Window cmd的默认编码是GBK.与程序采用的 UTF-8 不一致造成的中文及特殊字符 ...
- JS——封闭函数、闭包、内置对象
封闭函数:时javascript中匿名函数的另一种写法,创建一个一开始就执行而不用命名的函数 示例: 1) (function(){ var str = '欢迎访问我的主页'; alert(str); ...
- python入门之os模块
import os os.getcwd() 同Linux的pwd os.chdir("/opt") 同Linux的cd os.curdir 返回当前目录 os.pardir 获取上 ...
- Abp 添加阿里云短信发送
ABP中有短信发送接口ISmsSender public interface ISmsSender { Task<string> SendAsync(string number, stri ...
- ELK(ElasticSearch, Logstash, Kibana) v5.3.2 分布式日志收集分析最佳解决方案 基于CentOS 7 ( 一 )
[root@localhost temp]# .tar.gz -C /usr/local/ [root@localhost temp]# vim logstatsh_test.conf ======= ...
- Python Class __init__ __del__ 构造,析构过程解析【转】
转载自: http://blog.csdn.net/bbdxf/article/details/25774763 最近学习<Python参考手册>即<Learning Python& ...
- 【mysql】mysql 配置
安装完mysql后, 要及得配置一下 /etc/mysql/my.cnf 配置字符编码为utf8 [client] default-character-set = utf8 [mysqld] defa ...
- OpenCV之cvAddWeighted直接C语言实现版addWeighted,应对上下平滑融合拼接
关于OpenCV中的cvAddWeighted的介绍可参见<opencv中的cvAddWeighted函数> cvAddWeighted有个问题,它只能实现两张图片的直接融合,往往产生明显 ...