Android RTP协议的应用

本文介绍了Android中RTP协议的使用,包括RTP会话建立时的目的传输地址设定,RTP与RTCP数据的端口分配原则,以及RTP数据包和RTCP控制包的封装与发送过程。在应用程序中,RTP用于封装流媒体信息码流,RTCP处理控制信息,并通过UDP端口对进行交互。发送和接收操作都在子线程中完成。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

RTP协议

当应用程序建立一个RTP会话时,应用程序将确定一对目的传输地址。目的传输地址由一个网络地址和一对端口组成,有两个端口:一个给RTP包,一个给RTCP包,使得RTP/RTCP数据能够正确发送。RTP数据发向偶数的UDP端口,而对应的控制信号RTCP数据发向相邻的奇数UDP端口(偶数的UDP端口+1),这样就构成一个UDP端口对。 RTP的发送过程如下,接收过程则相反。

  1. RTP协议从上层接收流媒体信息码流(如H.263),封装成RTP数据包;RTCP从上层接收控制信息,封装成RTCP控制包。
  2. RTP将RTP 数据包发往UDP端口对中偶数端口;RTCP将RTCP控制包发往UDP端口对中的接收端口。
private RtpSocket rtp_socket = null; //创建RTP套接字
private RtpPacket rtp_send_packet = null; //创建RTP发送包
private RtpPacket rtp_receive_packet = null; //创建RTP接受包

使用子线程完成完成编码发包操作

new Thread(new Runnable() {
   
                        @Override
                        public void run() {
   
                            int sequence = 0; //初始化序列号
                            for (int i = 0; i < send_packetNum; i++) {
   
                                rtp_send_packet.setPayloadType(2);//定义负载类型,视频为2
                                rtp_send_packet.setMarker(i ==<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值