Tubumu.Abp.Meeting 1.0.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Tubumu.Abp.Meeting --version 1.0.0                
NuGet\Install-Package Tubumu.Abp.Meeting -Version 1.0.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tubumu.Abp.Meeting" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Tubumu.Abp.Meeting --version 1.0.0                
#r "nuget: Tubumu.Abp.Meeting, 1.0.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Tubumu.Abp.Meeting as a Cake Addin
#addin nuget:?package=Tubumu.Abp.Meeting&version=1.0.0

// Install Tubumu.Abp.Meeting as a Cake Tool
#tool nuget:?package=Tubumu.Abp.Meeting&version=1.0.0                

基于 MediasoupAbp vNext 视频会议模块。

alternate text is missing from this package README image

NuGet

一、安装

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/Tubumu.Abp.Meeting.Sample/src/Tubumu.Abp.Meeting.Sample.Web/mediasoupsettings.json

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

// File: Sample/src/Sample.Web/mediasoupsettings.json
// ...
    "WebRtcTransportSettings": {
      "ListenIps": [
        {
          "Ip": "0.0.0.0",
          "AnnouncedIp": "192.168.1.5" // 修改为本机在局域网中的 IP 或者公网 IP 。
        }
      ],
      "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": "192.168.1.5" // 修改为本机在局域网中的 IP 或者公网 IP 。
      },
      "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/* xxxx/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...

    // `Meeting` menu item
    public const string Meeting = Prefix + ".Meeting";
}
// File: Sample/src/Sample.Web/Menus/SampleMenuContributor.cs
private async Task ConfigureMainMenuAsync(MenuConfigurationContext context)
{
    if (!MultiTenancyConsts.IsEnabled)
    {
        var administration = context.Menu.GetAdministration();
        administration.TryRemoveMenuItem(TenantManagementMenuNames.GroupName);
    }

    var l = context.GetLocalizer<SampleResource>();

    context.Menu.Items.Insert(0, new ApplicationMenuItem(SampleMenus.Home, l["Menu:Home"], "~/"));
    // `Meeting` menu item
    context.Menu.Items.Insert(1, new ApplicationMenuItem(SampleMenus.Meeting, "Meeting", "~/meeting/index.html"));
}

二、启动

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

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

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

三、截图

Screenshots

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.1.1 537 9/9/2021
4.0.1 411 8/28/2021
3.2.1 419 8/28/2021
3.2.0 378 8/25/2021
3.0.0 394 8/21/2021
1.0.1 475 6/25/2021
1.0.0 409 4/14/2021
0.0.9 400 2/1/2021
0.0.8 336 1/31/2021
0.0.7 382 1/29/2021
0.0.6 454 1/26/2021
0.0.5 413 1/25/2021
0.0.4 470 1/24/2021
0.0.3 476 1/24/2021
0.0.2 533 1/24/2021
0.0.1 553 1/24/2021