{"id":20679186,"url":"https://github.com/ddssingsong/webrtc_server_node","last_synced_at":"2025-04-05T16:11:01.471Z","repository":{"id":50114040,"uuid":"163914749","full_name":"ddssingsong/webrtc_server_node","owner":"ddssingsong","description":"videoCall  VideoConference 视频通话 视频会议","archived":false,"fork":false,"pushed_at":"2022-12-07T02:54:08.000Z","size":119,"stargazers_count":333,"open_issues_count":9,"forks_count":172,"subscribers_count":22,"default_branch":"master","last_synced_at":"2023-11-07T17:27:11.351Z","etag":null,"topics":["nginx-https-wss","p2p","videochat","videoconference","webrtc"],"latest_commit_sha":null,"homepage":"https://blog.csdn.net/u011077027/article/details/86225524","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ddssingsong.png","metadata":{"files":{"readme":"README-zh.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-01-03T02:44:53.000Z","updated_at":"2023-11-01T04:30:55.000Z","dependencies_parsed_at":"2023-01-24T13:15:11.294Z","dependency_job_id":null,"html_url":"https://github.com/ddssingsong/webrtc_server_node","commit_stats":null,"previous_names":[],"tags_count":1,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddssingsong%2Fwebrtc_server_node","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddssingsong%2Fwebrtc_server_node/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddssingsong%2Fwebrtc_server_node/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddssingsong%2Fwebrtc_server_node/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ddssingsong","download_url":"https://codeload.github.com/ddssingsong/webrtc_server_node/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247361695,"owners_count":20926643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nginx-https-wss","p2p","videochat","videoconference","webrtc"],"created_at":"2024-11-16T21:24:43.815Z","updated_at":"2025-04-05T16:11:01.440Z","avatar_url":"https://github.com/ddssingsong.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# webrtc服务器端\n\n![logo](https://github.com/ddssingsong/webrtc_server_node/tree/master/art/logo1.png)\n\n## 简介\n\n基于 [webrtc](https://webrtc.googlesource.com/) 开发的一套可以进行**单路**或者**多路**语音、视频的系统。\n\n\n\n本demo主要是服务器端代码和浏览器端代码\n\n浏览器端展示地址：https://47.93.186.97/#122323\n\n主要是配合Android端代码而开发\n\n[https://github.com/ddssingsong/webrtc_android](https://github.com/ddssingsong/webrtc_android)\n\n\n\n## 搭建过程\n\n- **安装node和npm**\n\n  下载官网最新nodejs：https://nodejs.org/en/download/\n\n  ```shell\n  wget https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz\n  \n  # 解压\n  tar -xvf node-v10.16.0-linux-x64.tar.xz\n  # 改名\n  mv node-v10.16.0-linux-x64 nodejs\n  # 进入目录\n  cd nodejs/\n  \n  # 确认一下nodejs下bin目录是否有node 和npm文件，如果有就可以执行软连接\n  sudo ln -s /home/dds/webrtc/nodejs/bin/npm /usr/local/bin/\n  sudo ln -s /home/dds/webrtc/nodejs/bin/node /usr/local/bin/\n  \n  # 看清楚，这个路径是你自己创建的路径，我的路径是/home/dds/webrtc/nodejs\n  \n  #查看是否安装\n  node -v \n  npm -v \n  \n  # 注意，ubuntu 有的是需要sudo,如果不想sudo,可以用下面的命令安装在root环境下\n  \n  sudo ln -s /home/dds/webrtc/nodejs/bin/node /usr/bin/\n  sudo ln -s /home/dds/webrtc/nodejs/bin/npm /usr/bin/\n  ```\n\n  \n\n- **coturn安装**\n\n  ```shell\n  git clone https://github.com/coturn/coturn \n  cd coturn \n  ./configure \n  make \n  sudo make install\n  ```\n\n  配置turnserver.conf\n\n  ```\n  listening-ip=本地ip\n  listening-port=3478\n  \n  verbose\n  fingerprint\n  lt-cred-mech\n  realm=test \n  \n  min-port=59000\n  max-port=65000\n  \n  user=ddssingsong:123456  #用户名和密码，后面会用到\n  \n  cert=pem/turn_server_cert.pem #这两个玩意请自行生成\n  pkey=pem/turn_server_pkey.pem #\n  \n  stale-nonce\n  no-loopback-peers\n  no-multicast-peers\n  mobility\n  no-cli\n  \n  ```\n\n  启动\n\n  ```\n  turnserver\n  ```\n\n  \n\n- 安装本demo\n\n  1. 下载源码到本地，并解压缩\n  2. 移动到解压后的目录下\n  3. 使用命令`npm install`安装所需要的库\n  4. 运行命令`npm start`，建议配合`forever`\n  5. 访问`localhost:3000#roomName`查看效果，其中`roomName`为进入的房间名，不同房间的用户无法互相\n  6. 部署服务器的话需要使用nginx或者apache2配置https和wss的代理\n\n  ```\n  # 代码检出来\n  git clone https://github.com/ddssingsong/webrtc_server.git  \n  cd webrtc_server\n  ```\n\n  SkyRTC-client.js\n\n  ```\n     var iceServer = {\n          \"iceServers\": [\n            {\n              \"url\": \"stun:stun.l.google.com:19302\"\n            },\n            {\n              \"url\": \"stun:ip:3478\"\n            },\n            {\n               \"url\": \"turn:ip:3478\",\n               \"username\":\"ddssingsong\",\n               \"credential\":\"123456\"\n            }\n          ]\n      };\n  ```\n\n  /public/dist/js/conn.js\n\n  ```\n  ## 最后一行\n  \n  ##  如果没有配wss代理\n  \n  rtc.connect(\"ws:\" + window.location.href.substring(window.location.protocol.length).split('#')[0], window.location.hash.slice(1));\n  \n  如果配了nginx wss代理\n  rtc.connect(\"wss:\" + window.location.href.substring(window.location.protocol.length).split('#')[0]+\"/wss\", window.location.hash.slice(1));\n  \n  # 后面的那个“/wss”是根据自己配的代理路径\n  ```\n\n  运行\n\n  ```\n  # 安装依赖\n  npm install\n  \n  # 运行\n  node server.js\n  ```\n\n  \n\n## 共同探索\n\nQQ群名称：webrtc技术交流群\n\nQQ群   号：601332720\n\n加入群一起探讨webrtc，分享好的开源项目\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddssingsong%2Fwebrtc_server_node","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fddssingsong%2Fwebrtc_server_node","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddssingsong%2Fwebrtc_server_node/lists"}