webrtc for android demo 开发

近段时间,研究了一下WebRTC 的一些东西,写一写感想,总结一下

1.编译WebRTC for android
    这个没有太大的难度,按照官方网站的教程进行编译就可以
    但是你再运行的时候会遇到一些问题,错误控制台会提示缺少文件,你需要从WebRTC 的工程中,找到这些文件,并添加到对应的目录。然后就可以运行了。
    之后可以找两台机器,只要把IP 和端口填写正确就可以通信了。(但是这其中有隐患,在你真正想做成工程化的时候,你就知道了)

2.编写服务器端的UDP 转发
   这个没什么太难的,只是因为我是初次使用 golang 语言进行开发的,所以浪费了一点时间。其实没什么东西,要确保原封不动的把UDP 包转发过去就可以。

3.修改客户端文件,让视频流经过服务器中转。
   这步是有些困难的,也是我浪费时间比较多的地方。经过最终的研究,和高人的指点,找到了问题
   3.1 要对WebRTC 的视频流传输协议有一定的了解。
        它是先发送第一张图片,然后发送的针都是和上一张图对比的差异化结果,如果图片视频有大的变化是,就会重新发送头指针图片,然后重复这个过程。
        所以可以看到,在你向对方发送视频之前,确保对方已经打开了receiver 的监听。
        我现在的做法是在onCreate 的时候,就打开了监听。只是做Demo后期可以优化。
   3.2 对于带宽的要求,它有一个初始化的带宽参数,500,但是很多情况下,这个参数太大了,如果网速慢的话,还有就是丢包严重的情况下,这个参数太大,视频就卡住了,或者解码异常了。我现在这个参数写的是150。当然了,图像的清晰度就不够了。

基于这些修改,我现在的WebRTC的Demo就做完了,现在两太机器可以正常通信了。后续的任务还很多。

猜你喜欢

转载自machenhui880501-gmail-com.iteye.com/blog/1757638