音视频通讯 linphone源码学习与分析

通过一段时间对linphone的学习和研究,将自己的学习记录下来,一是为了避免自己对知识的忘记,二是希望对linphone的热爱者有所帮助!

整个linphone源码体系包含两大部分内容:

1.UI设计,包括两种 gtk+ 和 命令行

包括客户端的gtk+/glade接口和命令行的console接口

2.核心功能实现 liblinphone

liblinphone:这个库用于实现linphone的所有功能

然而,它依赖下面的包:

eXosip2:这是SIP的用户代理库,它又依赖于库libosip2

mediastreamer2:这是一个非常强大的库,包括对audio/video的传输和处理

ortp:这是一个RTP实时传输协议库

这段时间主要研究了osip,eXosip,ortp,mediastreamer2,linphone这几个库的接口和例程。


osip是一个底层的sip协议库,主要包括对sip协议字段的解析、封装、sdp协议的封装解析和四个状态机的实现,不包括对网络通信的支持。通过回调函数的方式通知事件的发生。

eXosip是对osip接口的进一步封装实现,主要包括对网络通信的封装,回调函数的实现,调度模式的实现,使得操作接口更加简便。

ortp是一个对rtp,rtcp协议的封装解析库,包括完整的rtp会话的建立,数据接收,抖动补偿等实现。


mediastream2是一个利用底层ortp库,实现音视频的捕获,编码,网络传输,解码,回放。利用一个轻量级链式架构,每一个处理实体都被包含在一个MSFiter内,MSFilter通过输入输出接口能够和其他MSFilter连接。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值