RTP协议
当应用程序建立一个RTP会话时,应用程序将确定一对目的传输地址。目的传输地址由一个网络地址和一对端口组成,有两个端口:一个给RTP包,一个给RTCP包,使得RTP/RTCP数据能够正确发送。RTP数据发向偶数的UDP端口,而对应的控制信号RTCP数据发向相邻的奇数UDP端口(偶数的UDP端口+1),这样就构成一个UDP端口对。 RTP的发送过程如下,接收过程则相反。
- RTP协议从上层接收流媒体信息码流(如H.263),封装成RTP数据包;RTCP从上层接收控制信息,封装成RTCP控制包。
- 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 ==<