iOS端实现WebRTC跨平台音视频通话

    最近根据项目需求,需要实现1对1视频通话,度娘一下很多例子,以为会一帆风顺,但是。。。

只能根据网上Demo自己就行修改和优化,话不多说直接附上WebRTC_Demo。网盘地址提取码: yhy3

说明:

1、本Demo是根据WebRTC-ios 跨平台音视频通话博主的基础上进行了修改和优化,感谢!

2、服务端使用webrtc_server_node,内置网页版,其中有该博主实现的安卓端Demo,感谢!

搭建过程:


第一步:下载iOS端Demo,仅需要修改ChatViewController.m中的:

[[WebRTCHelper sharedInstance] connectServer:@"服务器的ip" port:@"3000" room:@"100"];

port为端口号,默认3000;room:为房间号,不同房间的用户无法互相,具体可以查看服务端说明

第二步:下载服务端webrtc_server_node,如何运行文档中都有说明,需要node和npm环境即可。

需要说明的是iOS的Demo中,为了快速测试并没有搭建服务端说明的coturn穿透服务器,我使用了谷歌提供的。

请根据需求自己搭建,搭建完成后需要修改服务端文件:\webrtc_server_node\public\dist\js\SkyRTC-client.js,第18行iceServer的配置,配置上url、账号、密码即可

注意:因为谷歌限制,想要调用最新的WebRTC库播放视频,需要实现https,本地测试解决办法如下:

1、修改服务端文件:\webrtc_server_node\public\dist\js\conn.js,最后一行如下:

rtc.connect("ws:" + window.location.href.substring(window.location.protocol.length).split('#')[0], window.location.hash.slice(1)); 

2、网页版使用最新版Google Chrome进行测试,对浏览器进行如下配置后即可不用配置https和wss的代理进行视频录制和播放:

①导航栏输入:chrome://flags/#unsafely-treat-insecure-origin-as-secure

②添加服务器的地址

③改为“Enabled”

④重启浏览器即可

⑤服务器运行起来后,浏览器访问localhost:3000/#roomName查看效果,其中roomName为进入的房间名,不同房间的用户无法互相

你可能感兴趣的:(iOS端实现WebRTC跨平台音视频通话)