美文网首页IM相关WebRTC
如何使用WebRTC实现视频聊天

如何使用WebRTC实现视频聊天

作者: QihuaZhou | 来源:发表于2016-11-07 22:50 被阅读665次

    文章也同时在个人博客 http://kimihe.com/更新

    引言

    昨天和同学闲聊,发现半年前的一个项目中的一些东西可以拿出来分享,是关于利用WebRtc实现视频聊天的,故今天温习了一下陈旧的代码(不忍直视),略加修改后,通过此文予以阐述。

    项目地址

    RTC_FaceChat
    欢迎一切fork,issue,pull request来帮助该项目做得更好。

    效果演示

    Gif 演示了一系列无限镜像,画面左下角的黑屏是由于使用了iOS模拟器,无法启用摄像头,正常情况下它应该显示自己拍摄的图像,而主屏幕是对方拍摄的图像。

    无限镜像

    使用

    具体可见Demo中ViewController.m用法。
    简要思路是:

    • 双方需要向服务器上报一个session ID,以唯一区分不同的用户。
    • 双方类似于打电话,角色分为会话主动发起方:offer。以及被动接听方:answer
    • 通过使用对方的ID,offer方需要主动call answer方。
    • 会话过程中,一旦挂断此次会话便宣告结束。下次可以重新call。
    • 在视频界面,可以随时切换前后摄像头,以方便拍摄自己需要的内容。
    • 屏幕上会同时出现自己以及对方的视频图像。主屏幕区域是对方拍摄的图像(remote view),左下角小镜头是自己拍摄的图像(local view)

    而更加具体的原理可以深入查阅KMFaceChatRTC -> KMFaceChat_RTC -> KMRTCCore -> RTCLib -> ARDAppClient类

    总结

    本文主要是给出一个实际可用的视频聊天Demo,以期帮助大家实现快速开发。陈旧的代码总是无法直视,后续会继续更新。

    更多iOS的知识,请继续关注后续的文章,感谢阅读!

    微信公众号

    第一时间获取最新内容,欢迎关注微信公众号:「洛斯里克的大书库」。


    微信公众号「洛斯里克的大书库」

    相关文章

      网友评论

      • 学学学q:你好 请教个问题。远程视频黑屏是怎么原因导致的?
      • 策马鞭程:您好!请问可以不用服务器的吗?
        策马鞭程:@周鶏 请问能否局域网内,一台手机当摄像头,另外其他手机监控查看
        QihuaZhou:@策马鞭程 这个不是点对点通信,需要服务器中转数据
      • Amy莫莫:怎么让视频自适应?
      • 西西西瓜sama:你好 demo是否可以针对外网服务器 我是初学者 看外网服务器需要设置ice什么的 好麻烦
        QihuaZhou:demo是iOS端的示例,需要服务器端的支持。
      • ios肖:朋友,我最近也在做视频聊天的这个功能,能不能交流一下
      • 灬Se7en:最近在做RTC的项目 兄弟可以加个QQ交流下么 1013218527 :smile:
        QihuaZhou:@Conquer_17 加你了

      本文标题:如何使用WebRTC实现视频聊天

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