Skip to content

放映室

概述

MinaPlay 提供了同步观影放映室的相关服务,包含了同步观影、在线聊天和多人语音聊天的服务支持。 MinaPlay 可以直接选择媒体库中的媒体文件作为实时放映的内容,只需要分享放映室链接,MinaPlay 中的其他用户即可加入放映室同步观影。

live

直播流

放映室直播流决定了放映室的实时观影内容,MinaPlay 目前提供了三种不同的实时放映模式,其各自有不同的特性和使用场景。

  • 客户端同步

    该模式下,放映室房主在 MinaPlay 中选择实时观影的媒体文件,各客户端直接加载播放待选媒体文件,并通过开始放映时间同步观影进度。

    该模式对宿主机的带宽要求相对较低,但实时性相对较低。由于各个客户端的网络情况不尽相同,客户端的播放进度可能存在一定误差。 在客户端处于较差网络环境的情况下,客户端可能会出现长时间卡顿、播放进度闪烁等问题。

  • 服务端推流

    该模式下,放映室房主在 MinaPlay 中选择实时观影的媒体文件,MinaPlay 通过调用 FFMpeg 将媒体文件内容推流到 MinaPlay 内置的 Node-Media-Server 服务上,各客户端通过直播拉流的方式实时播放媒体文件。

    该模式对宿主机的带宽和性能要求较高,但实时性更高。如果宿主机的带宽较低将导致各客户端播放中出现卡顿等问题。

    注意

    由于 MinaPlay 提供的 Docker 镜像中 FFMpeg 没有对 HEVC 格式视频推流的支持,此模式下不可选择 HEVC 格式的媒体文件。 选择后将不会播放媒体文件内容,并在系统控制台打印错误日志。

  • 第三方视频流

    该模式下,放映室房主直接指定直播流的地址,各客户端直接在此地址拉流播放内容。 适用于用户在其他服务器上架设直播服务的情况,例如用户使用 SRS 架设了单独的直播服务器但想在 MinaPlay 中同步观看并使用多人聊天、多人语音等其他服务。

    由于使用第三方的推流、直播服务,该模式几乎没有对带宽和性能的要求。

    需要注意的是,MinaPlay 网页客户端只支持 HLSFLV 格式的视频流,通常可以用后缀 .m3u8.flv 格式判断。

放映室互动

多人聊天

MinaPlay 放映室支持用户发送文字 / 图片聊天。 默认设置下,用户发送的文本聊天内容将以弹幕的形式显示在客户端播放器中,用户可以通过播放器的控制面板调整弹幕显示设置。

多人语音

MinaPlay 使用 mediasoup 基于 WebRTC 实现了多人语音通话。 默认设置下,用户需要在进入放映室后手动加入放映室语音房间。

注意

要使用放映室语音服务,需要在环境变量中使用 MS_ANNOUNCED_IP 指明服务器的外部访问IP,具体配置方法请参与 启动参数 章节。

放映室操作

注意

此操作需要当前登录用户具有 管理放映室 的相关权限。

放映室支持以下操作,默认情况下只能由放映室的创建者进行放映室操作:

  • 更改直播流 - 更改放映室的直播流。
  • 更改放映室标题 - 更改放映室的标题。
  • 更改放映室密码 - 更改放映室密码,在设置放映室密码后,用户加入放映室会要求进行密码验证,可用于私密放映室的情况。
  • 更改放映室海报 - 更改放映室的海报图片。

基于 AGPL-3.0 发布