jrtplib项目的了解
来源:互联网 发布:flac那个播放软件好 编辑:程序博客网 时间:2024/06/03 16:55
jrtplib是一个用C++语言实现的RTP库,使用这套文库,可以实现端到端的RTP连接。jrtplib编译后可以获得.lib文件,用来实现RTP协议。
RTP:
RTP详细说明了在互联网上传递音频和视频的标准数据包格式。可以在面向连接或无连接的下层协议上工作,通常和UDP协议一起使用。主要实现一种端到端的多媒体流同步控制机制,既不需要事先建立连接,也不需要中间节点的参与,为其保留资源。
RTP定义了两种报文:
RTP报文:传输媒体数据。
RTCP报文:传送控制信息,实现控制功能。
RTP数据报的接收模式:
RECEIVEMODE_ALL: 缺省模式,所有的数据报都被接收
RECEIVEMODE_IGNORESOME:不接收某些特定的发送者发送的数据报
RECEIVEMODE_ACCEPTSOME: 只接收某些特定的发送者发送的数据报
RECEIVEMODE_IGNORESOME:不接收某些特定的发送者发送的数据报
RECEIVEMODE_ACCEPTSOME: 只接收某些特定的发送者发送的数据报
JRTPLIB使用流程:
a:使用JRTPLIB库进行实时流媒体传输之前,先生成RTPSession类的一个会话实例来表示此次RTP会话,然后调用Create()方法初始化。
b:设置恰当的时间戳,调用RTPSession类的setTimestampUnit()方法来实现。
c:RTP会话成功建立后,就可进行流媒体的传输了,先设置发送的目的地址,RTP允许同一个会话存在多个目的地址。可通过RTPSession类的AddDestination()、 DeleteDestination()和ClearDestination()三种方法完成相应的操作。
b:设置恰当的时间戳,调用RTPSession类的setTimestampUnit()方法来实现。
c:RTP会话成功建立后,就可进行流媒体的传输了,先设置发送的目的地址,RTP允许同一个会话存在多个目的地址。可通过RTPSession类的AddDestination()、 DeleteDestination()和ClearDestination()三种方法完成相应的操作。
d:目标地址全部指定后,调用RTPSession类的SendPacket()方法发送流媒体。对于同一个RTP会话来说,负载类型、标识及时戳增量通常是相同的,JRTPLIB允许将它们设置成默认参数。
e:接收端调用RTPsession类的PollData()方法接收RTP或RTCP数据报。从RTP会话中检测到有效的数据源之后,可调用GetNextPacket()中抽取RTP数据报。接受的数据报处理完之后要释放。
e:接收端调用RTPsession类的PollData()方法接收RTP或RTCP数据报。从RTP会话中检测到有效的数据源之后,可调用GetNextPacket()中抽取RTP数据报。接受的数据报处理完之后要释放。
流程图:
0 0
- jrtplib项目的了解
- 开源项目jrtplib的安装
- 对项目的了解
- jrtplib库的使用
- jrtplib的使用
- jrtplib的编译问题
- 对JRTPLIB的学习
- JRTPLIB库的使用
- jrtplib库的使用
- JRTPLIB库的使用
- JRTPLib的编译步骤
- jRTPlib
- 了解项目的三个角度
- 基于jrtplib的NAT穿透
- JRTPLib windows 上的移植
- RTP和JRTPLIB的使用
- 基于jrtplib的NAT穿透
- x86版本JRTPLIB的编译
- Cron 触发器及相关内容 (第三部分)
- java 泛型基础概念
- 《HTML5经典实例》读书笔记二
- web前端性能优化总结
- Loadrunner视频教程汇总
- jrtplib项目的了解
- Cron 触发器及相关内容 (第四部分)
- Java中使用OpenSSL生成的RSA公私钥进行数据加解密
- LeetCode 35 Search Insert Position
- android根据uri或文件绝对路径获取文件基本信息
- Android框架之EventBus的使用
- DataGuard主备切换及故障切换
- jquery判断一个文件是否存在函数写法的历程
- React-Native(三)--Button