放映室
概述
MinaPlay 提供了同步观影放映室的相关服务,包含了同步观影、在线聊天和多人语音聊天的服务支持。 MinaPlay 可以直接选择媒体库中的媒体文件作为实时放映的内容,只需要分享放映室链接,MinaPlay 中的其他用户即可加入放映室同步观影。
直播流
放映室直播流决定了放映室的实时观影内容,MinaPlay 目前提供了三种不同的实时放映模式,其各自有不同的特性和使用场景。
客户端同步
该模式下,放映室房主在 MinaPlay 中选择实时观影的媒体文件,各客户端直接加载播放待选媒体文件,并通过开始放映时间同步观影进度。
该模式对宿主机的带宽要求相对较低,但实时性相对较低。由于各个客户端的网络情况不尽相同,客户端的播放进度可能存在一定误差。 在客户端处于较差网络环境的情况下,客户端可能会出现长时间卡顿、播放进度闪烁等问题。
服务端推流
该模式下,放映室房主在 MinaPlay 中选择实时观影的媒体文件,MinaPlay 通过调用 FFMpeg 将媒体文件内容推流到 MinaPlay 内置的 Node-Media-Server 服务上,各客户端通过直播拉流的方式实时播放媒体文件。
该模式对宿主机的带宽和性能要求较高,但实时性更高。如果宿主机的带宽较低将导致各客户端播放中出现卡顿等问题。
注意
由于 MinaPlay 提供的 Docker 镜像中 FFMpeg 没有对 HEVC 格式视频推流的支持,此模式下不可选择 HEVC 格式的媒体文件。 选择后将不会播放媒体文件内容,并在系统控制台打印错误日志。
第三方视频流
该模式下,放映室房主直接指定直播流的地址,各客户端直接在此地址拉流播放内容。 适用于用户在其他服务器上架设直播服务的情况,例如用户使用 SRS 架设了单独的直播服务器但想在 MinaPlay 中同步观看并使用多人聊天、多人语音等其他服务。
由于使用第三方的推流、直播服务,该模式几乎没有对带宽和性能的要求。
需要注意的是,MinaPlay 网页客户端只支持 HLS 和 FLV 格式的视频流,通常可以用后缀
.m3u8
和.flv
格式判断。
放映室互动
多人聊天
MinaPlay 放映室支持用户发送文字 / 图片聊天。 默认设置下,用户发送的文本聊天内容将以弹幕的形式显示在客户端播放器中,用户可以通过播放器的控制面板调整弹幕显示设置。
多人语音
MinaPlay 使用 mediasoup 基于 WebRTC 实现了多人语音通话。 默认设置下,用户需要在进入放映室后手动加入放映室语音房间。
注意
要使用放映室语音服务,需要在环境变量中使用 MS_ANNOUNCED_ADDRESS
指明服务器的外部访问地址,具体配置方法请参与 启动参数 章节。
放映室操作
注意
此操作需要当前登录用户具有 管理放映室
的相关权限。
放映室支持以下操作,默认情况下只能由放映室的创建者进行放映室操作:
- 更改直播流 - 更改放映室的直播流。
- 更改放映室标题 - 更改放映室的标题。
- 更改放映室密码 - 更改放映室密码,在设置放映室密码后,用户加入放映室会要求进行密码验证,可用于私密放映室的情况。
- 更改放映室海报 - 更改放映室的海报图片。