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)上实现,基 ...
随机推荐
- 1089 Insert or Merge(25 分)
According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...
- 阿里巴巴Java开发手册_不建议在循环体中使用+进行字符串拼接
18. [推荐]循环体内,字符串的连接方式,使用StringBuilder的append方法进行扩展. 说明:下例中,反编译出的字节码文件显示每次循环都会new出一个StringBuilder对象,然 ...
- 熟悉servlet的页面跳转
jspweb里面用到的servlet跳转页面的方法 使用的jar包只有 commons-lang3-3.5.jar 运行时,tomcat会先根据web.xml里面的信息,查找servlet <? ...
- JVM虚拟机 - 内存
在JVM虚拟机中,内存部分大致可以分为以下几类: Heap:堆 NonHeap:非堆 CodeCache:缓存编辑后的机器码的内存区域 CompressedClassSpace:类压缩空间 MetaS ...
- wechat开发笔记之1.接口示例代码
修改后的php示例代码! <?php /** * wechat php test */ //define your token define("TOKEN", "w ...
- 几幅手稿讲解CNN
学习深度神经网络方面的算法已经有一段时间了,对目前比较经典的模型也有了一些了解.这种曾经一度低迷的方法现在已经吸引了很多领域的目光,在几年前仅仅存在于研究者想象中的应用,近几年也相继被深度学习方法实现 ...
- 3D向2D投影
http://blog.sina.com.cn/s/blog_536e0eaa0100jn7j.html
- MYSQL 4种插入数据的方式比较
4种插入数据的方式 第一种:insert into insert into是最常用的插入数据的方式,可以单条插入,也可以多条,还可以指定从其他表中select然后插入. 详细可以参考:insert语法 ...
- datagrid数据表格使用总结
一.加载的css文件 easyui 基本样式: <link href="../easyui/easyui1.5.css" rel="stylesheet" ...
- COGS 201. [BYVoid S1] 埃雷萨拉斯的宝藏
★★ 输入文件:eldrethalas.in 输出文件:eldrethalas.out 简单对比时间限制:1 s 内存限制:256 MB 问题描述 一万两千年前,精灵还是在艾萨拉女王的 ...