美文网首页程序员
iOS端实现WebRTC跨平台音视频通话

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

作者: 老中医丶 | 来源:发表于2020-07-22 12:37 被阅读0次

        最近根据项目需求,需要实现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跨平台音视频通话

        本文链接:https://www.haomeiwen.com/subject/ztszkktx.html