php webrtc一对一视频聊天源码-基于workerman

workerman作为信令服务器,实现webrtc一对一视频聊天。完整示例源码在附件中。
 
在线demo:
webrtc 在线demo 

注意:
webrct要求网站是基于https的,http无法开启摄像头,所以需要设置https证书。
 
配置:
假设你的域名为 webrtc.workerman.net,则config.php中配置类似如下
<?php
// 信令服务器(Signaling Server)地址,需要用wss协议,并且必须是域名
$SIGNALING_ADDRESS = 'wss://webrtc.workerman.net:8877';

$SSL_CONTEXT = array(
// 更多ssl选项请参考手册 http://php.net/manual/zh/context.ssl.php
'ssl' => array(
// 请使用绝对路径
'local_cert' => '磁盘路径/server.pem', // 也可以是crt文件
'local_pk' => '磁盘路径/server.key',
'verify_peer' => false,
'allow_self_signed' => true, //如果是自签名证书需要开启此选项
)
);
 
启动:
linux系统运行 php start.php start -d 启动
windows系统双击start_for_win.bat启动
 访问:
浏览器访问域名 https://webrtc.workerman.net:9988 进入视频聊天页面
 
其它:
源码中web目录可以使用其它webserver运行,比如apache nginx。
如果使用nginx代理wss,需要注释掉config.php中$SSL_CONTEXT设置, wss相关设置参考手册 http://doc.workerman.net/faq/secure-websocket-server.html
 
GITHUB:
webrtc github地址:https://github.com/walkor/workerman-webrtc 
注意github下载的源码需要用composer安装workerman才能运行,附件中是完整的webrtc示例代码。
 
 

9 个评论

好用,大赞啊
厉害,佩服
这个太好用了,感谢,感谢,感谢
好棒!! 可以玩对对碰了
怎么用啊?访问上面的DEMO,两个终端输入相同的房间号,只能看到自己。
NotFoundError: Requested device not found 怎么解决
chrome、firefox可以跑起来。但是国内谷歌核心类的浏览器会报错:.addTrack is not a function只能看到本地。难道是把webrtc阉割了?
.addTrack 并不是所有浏览器都支持,已经做了兼容,重新下载一份试下
已经完美运行,谢谢大神

要回复文章请先登录注册