live555 俗称3个5 h264 rtp

class UsageEnvironment 

这个类是顶层的容器,为万物之始。之后有啥new都带上它。

里面有个好宝贝TaskScheduler& fScheduler; f是field的意思,成员变量,与m_同。

class TaskScheduler 

定义了

delayed task

backgroudhadling

eventtrigger

延迟任务就是一个队列;

事件就是一个32bit的mask,对应到一个callback 数组。

后台处理就是三大 fd_set: read write exception

singlestep

从延迟队列里面获取最近任务的超时时间。

加上所有的后台任务往 select 里面一塞,等待select返回。

有set则处理。

然后处理event,最后处理延迟任务。

这个函数放在一个while循环里面。所以轮子已经造好了,开始搭车板板了。

h264 

0001 001 为帧起始,为保证唯一,协议会把数据里面的 0001 001 转码一下。

然后是 nalu 信息,然后是数据。

rtp这个协议一个包的 大小最大为 65535 ,然后如果用udp协议,还要考虑mtu,则更小。

咱一个I帧轻松突破这极限,所以一个h264的帧还要分包,置标志位。

其他没啥,其实协议挺简单,就那么几个flag,也没啥交互。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值