live555多线程改造方案
博主已经使用live555近10年,用作客户端可以每个线程一路live555 rtsp client,但是用作服务端,一直是单个线程处理,并发能力受限。
今年笔者所在公司对并发量有要求,200路,不得不研究对其进行多线程改造。
经过1个月的开发调试,终于实现,现在把基本思路分享一下:
1. 不改动live555的处理框架和逻辑
2. 处理sdp的生成函数,把同步等待修改为定时器等待。(不修改会导致新的请求导致前一路视频可能卡顿)
3. 增加N个Rtp发送线程,处理rtcp和rtp的发送
4. 修改类MultiFramedRTPSink,增加rtp发送线程的派发处理:
MultiFrame[......]