要做一个点对点视频聊天的系统,希望大家能给点建议
假定在一个大局域网内,都有独立IP。
第一步,需要实现点对点视频通话功能。
个人决定采用DirectShow,视频编码解码采用Divx的MPEG4 codec,音频采用aac的codec,音频视频分开传送与接收,自己实现Net Sender(发送端Render Filter UDP协议 封装开源的JRtpLib),Net Receiver(接收端Source Filter)。
视频发送接收的Filter链接,音频类似:
发送端:Source Filter -> 编码Filter -> Net Sender Filter
接收端:Net Receiver Filter -> 解码Filter -> Render Filter
想问几个问题:
1,编码解码器的选择方面,是否有更好选择,用这些三方编码解码器是否有版权问题?
2,架构方面,本人希望将Net Sender/Receiver Filter直接写代码里,不向系统注册(与写成Filter组件向系统注册有何优劣?),整个视频音频发送接收这块属于一个独立模块,两点之间的控制信息,文字等采用TCP链接,属于另一个模块,请问下这样有没有什么大问题?有什么能改进的地方?
3,视频音频的同步方面,我是想根据发送时记录的时间戳来同步,若不做同步,效果会不会很差?
4,RTCP协议方面,检测出需要提升质量或者降低质量了用TCP链接发送控制信号,若修改摄像头摄取的图像的分辨率,必定需要先Stop,能否通过动态改变codec处压缩比方式来平滑过渡?具体怎么操作?
5,若要做成安装包,安装相应的编码解码器,是否仅需要拷贝解码编码的dll ax文件到系统目录并regsvr32即可?
6,之前没有过这方面经验,需要在一个月内完成,公司电脑不能上外网,查阅资料不方便,有没有什么好的参考书,比较好的示例代码?
7,若有一些很常见的问题,请不吝赐教,也许您的一句话将带给我很多启发,提前扫除隐藏的障碍。
PS,一个月做个能跑的就行,同步,RTCP,安装包尽力而为,给出建议的都给分,可以追加分数。