jrtplib项目的了解

jrtplib是一个用C++语言实现的RTP库,使用这套文库,可以实现端到端的RTP连接。jrtplib编译后可以获得.lib文件,用来实现RTP协议。

RTP:


        RTP详细说明了在互联网上传递音频和视频的标准数据包格式。可以在面向连接或无连接的下层协议上工作,通常和UDP协议一起使用。主要实现一种端到端的多媒体流同步控制机制,既不需要事先建立连接,也不需要中间节点的参与,为其保留资源。

        RTP定义了两种报文:

                  RTP报文:传输媒体数据。

                  RTCP报文:传送控制信息,实现控制功能。

       RTP数据报的接收模式:

                 RECEIVEMODE_ALL:  缺省模式,所有的数据报都被接收
                 RECEIVEMODE_IGNORESOME:不接收某些特定的发送者发送的数据报
                 RECEIVEMODE_ACCEPTSOME:  只接收某些特定的发送者发送的数据报

JRTPLIB使用流程:

a:使用JRTPLIB库进行实时流媒体传输之前,先生成RTPSession类的一个会话实例来表示此次RTP会话,然后调用Create()方法初始化。
b:设置恰当的时间戳,调用RTPSession类的setTimestampUnit()方法来实现。
c:RTP会话成功建立后,就可进行流媒体的传输了,先设置发送的目的地址,RTP允许同一个会话存在多个目的地址。可通过RTPSession类的AddDestination()、                DeleteDestination()和ClearDestination()三种方法完成相应的操作。
d:目标地址全部指定后,调用RTPSession类的SendPacket()方法发送流媒体。对于同一个RTP会话来说,负载类型、标识及时戳增量通常是相同的,JRTPLIB允许将它们设置成默认参数。
e:接收端调用RTPsession类的PollData()方法接收RTP或RTCP数据报。从RTP会话中检测到有效的数据源之后,可调用GetNextPacket()中抽取RTP数据报。接受的数据报处理完之后要释放。

流程图:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值