开源的IM软件,开发这个软件目的是实现一个基本的IM框架,包括文字、语音、视频。重点是语音和视频。现在各种框架已经很完善,不需要从零进行开发,所以这个IM只是学习使用。
编解码因为配合视频,直接使用ffmpeg的aac。
如果对带宽非常在意的话,估计729也是唯一选择了。好在除了极端项目(卫星传输数据)基本都不太在意。
只是想演示一下基本的音视频编程基础。如果想做为成熟商用的话,还是建议采用SIP等应用广泛的协议。SIP比较好的开源项目是:
当然SIP也有本身的问题,比如每路传输都要占用独立的RTP端口。这时RTMP也是一种不错的方案,可以使用librtmp: 。
rtmp的特点是可以借助web完成音视频通话,在网络安全要求高的情况下非常有用。