All Projects → albyho → Tubumu.Abp.Meeting

albyho / Tubumu.Abp.Meeting

Licence: MIT License
An abp module to create meeting app quickly.

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to Tubumu.Abp.Meeting

Abp Samples
Sample solutions built with the ABP Framework
Stars: ✭ 417 (+2680%)
Mutual labels:  aspnetcore, abp
jitsi-box
A Raspberry Pi based box to automate holding hybrid conferences with Jitsi
Stars: ✭ 15 (+0%)
Mutual labels:  conference, meeting
Aspnetboilerplate
ASP.NET Boilerplate - Web Application Framework
Stars: ✭ 10,061 (+66973.33%)
Mutual labels:  aspnetcore, abp
loowid
Webconference solution based on webrtc
Stars: ✭ 92 (+513.33%)
Mutual labels:  webrtc, videoconference
mirotalk
🚀 WebRTC - P2P - Simple, Secure, Fast Real-Time Video Conferences Up to 4k and 60fps, compatible with all browsers and platforms.
Stars: ✭ 1,593 (+10520%)
Mutual labels:  conference, meeting
snowem
Snowem is a lightweight live streaming server, based on webrtc technology. Its design mainly focuses on simplicity, scalability and high performance.
Stars: ✭ 73 (+386.67%)
Mutual labels:  webrtc, videoconference
Abp.wechat
Abp 微信 SDK 模块,包含对微信小程序、公众号、企业微信、开放平台、第三方平台等相关接口封装。
Stars: ✭ 168 (+1020%)
Mutual labels:  aspnetcore, abp
mediasoup-cpp
The full C++ implementation of mediasoup
Stars: ✭ 27 (+80%)
Mutual labels:  webrtc, mediasoup
Hublin
DEPRECATED - An easy and free video conference service based on WebRTC
Stars: ✭ 1,614 (+10660%)
Mutual labels:  conference, webrtc
Meething Ml Camera
Machine-Learning powered Virtual Camera with SVG Animation (alpha)
Stars: ✭ 36 (+140%)
Mutual labels:  conference, webrtc
Abp.grpc
基于 ABP 框架开发的 Grpc 模块,支持 Consul 服务发现与服务注册。Grpc module developed based on ABP framework supports early service discovery and service registration.
Stars: ✭ 134 (+793.33%)
Mutual labels:  aspnetcore, abp
abp-push
Push Notification System for ASP.NET Boilerplate
Stars: ✭ 16 (+6.67%)
Mutual labels:  aspnetcore, abp
Peer Calls
Group peer to peer video calls for everyone written in Go and TypeScript
Stars: ✭ 837 (+5480%)
Mutual labels:  conference, webrtc
Abp.Castle.NLog
Abp的NLog日志输出模块。
Stars: ✭ 15 (+0%)
Mutual labels:  aspnetcore, abp
vortex
Revolt voice server
Stars: ✭ 61 (+306.67%)
Mutual labels:  webrtc, mediasoup
securbot
Security robot prototype
Stars: ✭ 20 (+33.33%)
Mutual labels:  webrtc
docker-nvidia-glx-desktop
MATE Desktop container designed for Kubernetes supporting OpenGL GLX and Vulkan for NVIDIA GPUs with WebRTC and HTML5, providing an open source remote cloud graphics or game streaming platform. Spawns its own fully isolated X Server instead of using the host X server, therefore not requiring /tmp/.X11-unix host sockets or host configuration.
Stars: ✭ 47 (+213.33%)
Mutual labels:  webrtc
AspNetCore.Identity.Cassandra
Cassandra Storage Provider for ASP.NET Core Identity
Stars: ✭ 13 (-13.33%)
Mutual labels:  aspnetcore
RTCEngine-server
WebRTC Media Server that scales well
Stars: ✭ 20 (+33.33%)
Mutual labels:  webrtc
Diffy
🎞️💓🍿 Love streaming - It's always best to watch a movie together ! 🤗
Stars: ✭ 37 (+146.67%)
Mutual labels:  webrtc

Tubumu.Abp.Meeting

NuGet License

基于 MediasoupAbp vNext 视频会议模块。

一、安装

1、创建项目

# 当前目录:任意
mkdir Sample && cd Sample
abp new Sample

2、安装 Tubumu.Abp.Meeting 模块

使用 Abp CLI 安装:

# 当前目录:Sample
cd src/Sample.Web
# 当前目录:Sample/src/Sample.Web
abp add-package Tubumu.Abp.Meeting

或者手工安装,在 Nuget 搜索 Tubumu.Abp.Meeting 并安装,然后修改 SampleWebAbpModule:

// File: Sample/src/Sample.Web/SampleWebModule.cs
// ...
    typeof(AbpSwashbuckleModule),
    // 配置点:1
    typeof(TubumuAbpMeetingModule)
    )]
public class SampleWebModule : AbpModule
// ...

3、下载配置文件及修改 IP

mediasoupsettings.json 配置文件下载到 Sample.Web 项目中。

# 当前目录:Sample/src/Sample.Web
curl -o mediasoupsettings.json https://raw.githubusercontent.com/albyho/Tubumu.Abp.Meeting/main/samples/Sample/src/Sample.Web/mediasoupsettings.json

打开 mediasoupsettings.json 配置文件,搜索 AnnouncedIp 键将值修改为本机在局域网中的 IP 或者公网 IP。

// File: Sample/src/Sample.Web/mediasoupsettings.json
// ...
    "WebRtcTransportSettings": {
      "ListenIps": [
        {
          "Ip": "0.0.0.0",
          "AnnouncedIp": null // 修改为本机在局域网中的 IP 或者公网 IP 。保持为空将使用任意一个 IPv4 地址。
        }
      ],
      "InitialAvailableOutgoingBitrate": 1000000,
      "MinimumAvailableOutgoingBitrate": 600000,
      "MaxSctpMessageSize": 262144,
      // Additional options that are not part of WebRtcTransportOptions.
      "MaximumIncomingBitrate": 1500000
    },
    // 用于 FFmpeg 推流等
    "PlainTransportSettings": {
      "ListenIp": {
        "Ip": "0.0.0.0",
        "AnnouncedIp": null // 修改为本机在局域网中的 IP 或者公网 IP 。保持为空将使用任意一个 IPv4 地址。该项目不使用。
      },
      "MaxSctpMessageSize": 262144
    }
// ...

4、Web 前端

可将 Sample 的前端项目的源码 tubumu-abp-meeting-sample-client 下载、编译并复制到 Sample.Web 项目的 wwwroot 目录下。比如:Sample/src/Sample.Web/wwwroot/meeting 目录。

# 当前目录:tubumu-abp-meeting-sample-client
yarn build
cp -R ./dist/* ../Sample/src/Sample.Web/meeting

注意:如有必要,请修改 index.html 文件中的 cssjs 的路径。

5、新增菜单

菜单链接至 Web 前端的首页。

// File: Sample/src/Sample.Web/Menus/SampleMenus.cs
public class SampleMenus
{
    private const string Prefix = "Sample";
    public const string Home = Prefix + ".Home";

    //Add your menu items here...

    // 配置点:2
    // `Meeting` menu item
    public const string Meeting = Prefix + ".Meeting";
}
// File: Sample/src/Sample.Web/Menus/SampleMenuContributor.cs
private async Task ConfigureMainMenuAsync(MenuConfigurationContext context)
{
    var administration = context.Menu.GetAdministration();
    var l = context.GetLocalizer<SampleResource>();

    context.Menu.Items.Insert(
        0,
        new ApplicationMenuItem(
            SampleMenus.Home,
            l["Menu:Home"],
            "~/",
            icon: "fas fa-home",
            order: 0
        )
    );
    // 配置点:3
    context.Menu.Items.Insert(
        1,
        new ApplicationMenuItem(
            SampleMenus.Meeting,
            l["Menu:Meeting"],
            "~/meeting/index.html",
            icon: "fas fa-users",
            order: 1
        )
    );
    // ... others.
}

二、启动

  1. 将 Sample.Web 设为启动项进行启动。

  2. 打开浏览器并登录;还可以打开不同的浏览器(Sample使用Cookie认证)使用不同账号登录;如果是局域网或公网还可以通过其他电脑或手机登录。

  3. 访问会议页面。操作流程请参考截图。

三、截图

Screenshots

四、交流

微信群

微信群

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].