美文网首页iOS之框架架构iOS - 音视频相关将来跳槽用
iOS音视频开源框架WebRTC入门-简单应用

iOS音视频开源框架WebRTC入门-简单应用

作者: tjfeng88 | 来源:发表于2017-06-06 17:41 被阅读1235次

系列

iOS音视频开源框架WebRTC入门-编译(前序-授人鱼不如授人以渔)
iOS音视频开源框架WebRTC入门-编译(后序-带WebRTC源码)
iOS音视频开源框架WebRTC入门-AppRTCMobile(WebRTC官网demo)
iOS音视频开源框架WebRTC入门-简单应用
iOS音视频开源框架WebRTC入门-本地/远端图像等比缩放
iOS音视频开源框架WebRTC入门-外网通信

鸣谢

首先感谢大神涂耀辉写的这篇文章:
iOS下音视频通信-基于WebRTC
文章讲解了WebRTC中相关概念以及实现原理,我这里简单使用最新的WebRTC接口重写哈大神的项目
相关代码👉:BKWebRTC

1. 引入项目

WebRTC编译以后生成的库:

image.png
关于WebRTC编译的流程可以参考我的这篇文章👇:iOS音视频框架WebRTC入门-编译

1.1. 首先将WebRTC库引入iOS项目

image.png

但是...项目报错了,看看报的啥错误:


image.png

从信息来看是链接报错,看来看去还是一脸懵逼...
其实是 Bitcode 导致的经典错误
将 Enable Bitcode 设置为 No 就好使了


image.png
现在可以使用WebRTC库进行编译了:
image.png
此时,WebRTC需要依赖系统库:
image.png

再次连接真机进行编译,不会报错了:


image.png
编译通过,真机运行:
image.png
这又是一个很经典的报错:
image.png
这样就可以解决上述报错了
但是在调用WebRTC接口的过程中崩溃:
image.png
显然这是权限描述导致的:
image.png
运行成功:
真机:
image.png

Mac Chrome浏览器:


image.png

2. 细节

需要先开启服务器端:


image.png
node server.js

然后手机端和浏览器端随意进退聊天室:
浏览器端进入聊天室:

localhost:3000#100

3. 关于demo

demo中使用的都是WebRTC最新接口,整个demo搭建的思路,在这里再次感谢大神涂耀辉的分享
参考链接:
iOS下音视频通信-基于WebRTC

相关文章

网友评论

  • feng55:请教一个问题,使用你这里用的webrtc库,双向通话cpu占用iphone6上面80%这样。这么高的cpu占用率是什么 问题导致的呢
    tjfeng88:@feng55 很抱歉 我没有在实际项目中用WebRTC的经验
    feng55:@BossKing10086 用了几个库都会有问题,我现在使用cocopods安装的最新的1.1.2...版本,但是发现以前的接口完全没法用了。博主最近有关注这个吗
    tjfeng88:@feng55 只是用我这边的库会出现这个问题吗?
  • 三好夫人:请问,有同行所在的公司在用吗,稳定性盒可控制性怎么样?求公司用过的兄弟告知一下
  • 男人宫:大神,怎么把webretc默认的听筒改成扬声器模式啊
    猪猪行天下:在添加远程视频的时候可以切换到扬声器,但是扬声器模式有噪音回声!
  • angel21:Hi,大神,很感谢您的分享。我在调试的过程中发现一个问题,两个谷歌浏览器之间能够发送文字,而iOS的Demo无法与浏览器之间发送文字。主要原因是iOS无法触发 浏览器端 PeerConnection 的 ondatachannel 方法。请问,有什么方法来解决该问题,使其iOS的Demo与浏览器之前互发文字。谢谢大神。
    tjfeng88:@Ivan521 用他去实现聊天功能 感觉有点非主流呀
    angel21:@BossKing10086 是的,确实没有改功能。我现在正想办法实现该聊天功能。
    tjfeng88:@Ivan521 我这里面的iOS demo应该没有去实现聊天功能吧
  • MissPeng:大神 碰到问题 服务端要求我先把本地sdp传过去 然后接收服务端返回的远程sdp 我现在只能看到本地画面 远程不显示啊 求解
    692aaf0b7f90:@BossKing10086 请问下大神,我node.js 运行ok了 .浏览器也可以正常打开视频. 但是用手机运行时, 我按照要求,吧服务器地址换成本地ip,用xcode打包后进入聊天室didFailWithError---请问我是哪里出问题了吗?
    MissPeng:感谢你的demo 运行成功
    tjfeng88:我建议你先下载这个demo:https://github.com/BossKing/BKWebRTC运行跑跑流程 对比照问题 服务器端在你进入聊天室 会下发这个聊天室成员的基本信息 即使没有人建立不了连接 等有新人进入这个聊天室 也会下发新成员信息 并下发offer通知 方便你建立连接 向服务端发送本地SDP 基本流程跑跑demo就出来了 本地画面肯定可以显示呀 即使聊天室没有人
  • 小羊孩子:对方画面黑屏?
    tjfeng88:你先用浏览器和真机试试 浏览器不要用safari 用chrome试试
  • 7b19a00cd1dd:视频的质量可以调整不 就像标清 超清的
    tjfeng88:官方 demo AppRTCMobile中有设置分辨率来着 至少在开始会话之前是可以设置的 至于在会话中是否可以动态改变 需要去研究哈
  • 呼呼兔:我也是看涂神的这篇文章入门的,不过框架更新后接口改了很多,我又参照Google的demo重新改了一部分代码。
    tjfeng88:@verylinming https://github.com/webrtc/apprtc 这个是WebRTC的一个demo实现
    verylinming:谷歌的demo在哪里?
    tjfeng88:@呼呼兔 嗯 我用最新的接口重写了他那个demo:smile:
  • 无白丁:田大神威武
    tjfeng88:菜鸟一枚 一起进步

本文标题:iOS音视频开源框架WebRTC入门-简单应用

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