分析一个通用的rtsp server实现过程发送模块

本文详细介绍了在RTSP服务器接收到play命令后,如何启动线程发送TS流打包成的RTP包。重点讨论了RTP包的时间戳、TS包的结构、MTU的概念以及RTP包头的构造。当缓冲区长度小于MTU时,直接发送一个RTP包;大于MTU时,需进行分段发送。建议使用基类库的UDP套接字类来封装发送函数,提高代码合理性。
摘要由CSDN通过智能技术生成

      这里主要介绍rtsp之后的发送流程,rtsp到达play之后,通过判断参数是play之后,可以启动一个线程

来发送已经打包好的ts流,于是需要将ts流打包rtp包,

正常从网上信息可以看出:RTP with payload type 33 (MPEG2 TS): The RTP timestamp 表示RTP packet的TRANSMISSION time。(来自RFC 2250)

同时,从这里可以了解到:

http://blog.csdn.net/xiaojun111111/article/details/52208370

TS流是有许多的TS Packet组成的,每个TS Packet的长度固定为188 bytes,每个packet都是以sync_byte:0x47开头。

MTU(Maximum Transmission Unit): 最大传输单元。是指一种通信协议的某一层上面所能通过的最大数据包大小(以字节为单位)。最大传输单元这个参数通常与通信接口有关(网络接口卡、串口等)。例如:以太网无法接收大于1500 字节的数据包。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值