Giter VIP home page Giter VIP logo

freesource-forstudy / starrtc-server Goto Github PK

View Code? Open in Web Editor NEW

This project forked from starrtc/starrtc-server

0.0 1.0 0.0 212.75 MB

免费IM系统,IM即时通信消息系统(含一对一文字聊天,群聊,聊天室),免费一对一voip实时通话,录屏,webrtc服务端,免费直播连麦,互动直播,视频直播,RTSP拉流,RTMP推流,语音对讲,免费在线会议,视频会议等服务端程序,支持物联网平台,✨万水千山总是情,来个star行不行✨

Home Page: https://docs.starrtc.com/en/download/

C 100.00%

starrtc-server's Introduction

服务端程序免费私有部署

以下服务端均完全免费(采用C语言开发),无鉴权,可用于腾讯云,阿里云或局域网内部署,现已开放:

服务端 功能 备注
voipServer 一对一视频通话 需要搭配msgServer使用
msgServer 单聊(如文字聊天),私信,信令
chatDBServer 离线消息存储
groupServer 群聊 如果只需要单聊,不需要群聊的话,不用启动
chatRoomServer 多人聊天室
liveSrcServer 多人视频会议 RTMP推流
liveVdnServer 互动连麦直播,vdn分发网络
liveProxyServer RTSP 拉流服务端
videoRecServer 录制录像功能

web目录里面是支持web私有部署的服务端程序与自签名证书。根目录里面的服务端程序不支持web端私有部署。

支持CentOS 64bit,Ubuntu 64bit。Windows上请自行安装虚拟机或docker测试。

部署步骤(请切换为root用户或者用sudo执行):

第1步:下载服务端程序: git clone https://github.com/starrtc/starrtc-server.git

第2步:cd starrtc-server进入下载目录,给所有服务端程序加可执行权限: chmod +x *Server

第3步:部署各服务端程序,具体如下:

其中.log后缀文件为日志文件,可通过命令tail -f xxx.log查看相关日志。

voip服务端部署

后台启动:
nohup ./voipServer > voipServer.log 2>&1 &

注:也需要部署msgServer,用于传输呼叫,接听等消息。

IM服务端部署

IM全套服务,分为3个服务端程序,分别是:

消息服务端msgServer、离线消息数据服务端chatDBServer,群管理服务端groupServer,分别启动即可。

只需要单聊的,不需要启动groupServer。

可以保持自己原有的im系统不变,用我们的im系统作为voip等服务的信令服务。

后台启动:
nohup ./msgServer     > msgServer.log 2>&1 &
nohup ./chatDBServer  > chatDBServer.log 2>&1 &
nohup ./groupServer   > groupServer.log 2>&1 &

chatRoom服务端部署

后台启动:
nohup ./chatRoomServer > chatRoomServer.log 2>&1 &

liveSrc服务端部署

后台启动:
nohup ./liveSrcServer > liveSrcServer.log 2>&1 &

liveVdn服务端部署

互动直播,观众不限人数

后台启动:
nohup ./liveVdnServer > liveVdnServer.log 2>&1 &

录制服务端部署

目前用于liveSrcServer和voipServer的视频录像功能,视频以flv的格式保存到RECFOLDER目录,

文件名格式为:用户名_日期_时_分_秒,如userId_20190529_15_08_02.flv

开启此服务就会打开录制功能,如果想停止录制,可以关闭此服务。

后台启动:
nohup ./videoRecServer > videoRecServer.log 2>&1 &

rtsp拉流服务端部署

用于拉取第三方rtsp流,并转换为starRTC协议转推至liveSrcServer,然后就可以在各终端的在线会议或互动直播中播放这个流了。

后台启动:
nohup ./liveProxyServer > liveProxyServer.log 2>&1 &

使用方法:

在demo中可以在设置界面测试该功能,也可以自己使用HTTP方式调用:

创建channelId并推流(streamType暂时只支持rtsp),接口返回channelId:

http://www.xxx.com:19932/push?streamType=rtsp&streamUrl=rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov&roomLiveType=0&roomId=xxxx&extra=xxxxx (roomId和extra为可选参数)

推流到指定的channelId:

http://www.xxx.com:19932/push?streamType=rtsp&streamUrl=rtsp://184.72.239.149/vod/mp4://BigBuckBunny_175k.mov&channelId=xxxx

关闭指定的推流(停止拉流,channelId在列表存在):

http://www.xxx.com:19932/close?channelId=xxxx

删除channelId(停止拉流,同时删除channelId):

http://www.xxx.com:19932/delete?channelId=xxxx

需要开放端口

服务端 端口
msgServer 19903(tcp) 29991(https信任测试 tcp)
voipServer 10086 udp 10087(websocket tcp) 10088(webrtc udp) 44446(P2P通讯 udp) 29992(https信任测试 tcp)
chatRoomServer 19906 tcp 29993(https信任测试 tcp)
liveSrcServer 19931 udp 19934(websocket tcp) 19935(webrtc udp) 29994(https信任测试 tcp)
liveVdnServer 19928 udp 19940(websocket tcp) 19941(webrtc udp) 29995(https信任测试 tcp)
liveProxyServer 19932 tcp

测试方法

下载客户端示例程序

打开"设置->服务器配置",点击"配置切换",选择"私有部署",然后填写你自己的服务器ip。

客户端开发

基于私有部署服务端开发自己的客户端,参见开发文档

示例代码参见:https://docs.starrtc.com/en/download/

Contact

QQ : 2162498688

邮箱:[email protected]

手机: 186-1294-6552

微信:starRTC

QQ群:807242783

遇到问题请先根据 https://github.com/starrtc/starrtc-server/wiki 自查,还不能解决请加群反馈。

参考

端口连接性测试

阿里云修改安全组规则

腾讯云安全组操作指南

starrtc-server's People

Contributors

895377235 avatar elesos avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.