您当前的位置:首页 > 计算机 > 编程开发 > Other

Webrtc第一个demo之peerconnection_client

时间:08-18来源:作者:点击数:

前面的文章我们进行了webrtc的下载和编译实践,本文我们跑webrtc的第一个demo体验一下webrtc的通话,加深对webrtc的初步理解,同时介绍第一个demo踩坑的解决过程。

一、基本原理

客户端:peerconnection_client.exe,该程序跑是一个视频通话的客户端程序,负责音视频的采集,编码,渲染,发送,接收,以及信令呼叫

服务器:peerconnection_server.exe,该程序是视频通话中的信令服务器,负责信令呼叫,成员管理等。

webrtc的P2P基本原理

二、操作步骤

1)在A机器上启动server,server 默认是8888端口

2)在B机器和C机器上分别运行peerconnection_client.exe

3)输入服务器IP,点击connect,双击对方客户端名称

不幸的是,客户端瞬间卡住并马上崩溃。

环境是window10,原以以为是自己PC机环境问题,后面换了几台电脑依然如此,demo无法跑起来。

4)抓包和问题分析

网络抓包发现客户端A采集音视频数据发给客户端B,客户端B收数据时崩溃了。继续通过堆栈跟踪发现在CaptureInputPin::Receive()函数中崩溃了。踏破铁鞋无觅处得来全不费功夫,修改这个函数,重新编译或者编译release版本,运行client通话成功,音频和视频通过效果正常。

以上webrtc的demo只是在局域网中的一次成功实践,但目前无法完成跨局域网的2台机器视频通话,实际商用的服务器是放在公网,借助公网中的ICE server完成P2P的穿透学习或者媒体数据relay,后面我们将介绍该demo在公网中的实践。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门