Unity插件-适用于画面传输的FMETP STREAM使用方法(二)组件介绍
目录
一、插件介绍
二、组件介绍
1、FM网络管理(FM Network Manager )
配置参数分类详解
1. 基础网络设置(Networking)
2. 服务端专属设置(Server Settings)
3. 客户端专属设置(Client Settings)
4. 同步与数据处理(Sync & Receiver)
5. 调试与状态监控(Debug)
关键配置示例
注意事项
2、游戏视图编码器(Game View Encoder)
3、游戏视图解码器(Game View Decoder)
4、音频编码器(Audio Encoder)
5、音频解码器(Audio Decoder)
一、插件介绍
Unity插件-适用于画面传输的FMETP STREAM使用方法(一)FMETP STREAM介绍-CSDN博客
二、组件介绍
1、FM网络管理(FM Network Manager )
配置参数分类详解
1. 基础网络设置(Networking)
参数 | 类型/选项 | 说明 |
---|---|---|
Auto Init | 复选框 | 是否在场景加载时自动初始化网络连接(类似“Auto Start”)。 |
NetworkType | 下拉菜单 | 设备角色选择:Server (服务端)或 Client (客户端)。 |
2. 服务端专属设置(Server Settings)
参数 | 类型/选项 | 说明 |
---|---|---|
ServerListenPort | 整数输入 | 服务端监听的端口号(默认 3333 ),需确保客户端连接时使用相同端口。 |
UseAsyncListener | 复选框 | 启用异步监听模式,提升服务端处理多连接的效率(需代码支持)。 |
UseMainThreadSender | 复选框 | 强制数据发送在主线程执行,避免多线程冲突(可能影响性能)。 |
Connection Count | 只读显示 | 当前已连接的客户端数量(实时更新)。 |
3. 客户端专属设置(Client Settings)
参数 | 类型/选项 | 说明 |
---|---|---|
ClientListenPort | 整数输入 | 客户端本地监听端口(默认 3334 ),通常与服务端端口不同。 |
AutoNetworkDiscovery | 复选框 | 启用自动发现局域网内的服务端,无需手动输入 IP(依赖 UDP 广播)。 |
ServerIP | 字符串输入 | 手动指定服务端 IP(当关闭自动发现时使用)。 |
IsConnected | 只读显示 | 当前客户端是否已成功连接到服务端(布尔状态)。 |
4. 同步与数据处理(Sync & Receiver)
参数 | 类型/选项 | 说明 |
---|---|---|
Sync Transformation from Server | 模块标题 | 同步服务端发送的物体变换信息(如位置、旋转)。 |
NetworkObjects | 只读显示 | 当前已注册并同步的网络对象数量。 |
SyncFPS | 整数输入 | 同步帧率(如 20 ),控制数据更新频率,值越高实时性越强,但带宽占用增加。 |
OnReceivedByteDataEvent | 事件绑定 | 绑定接收字节数据的事件(如画面流),需关联解码器(GameViewDecoder 或 AudioDecoder )。 |
OnReceivedStringDataEvent | 事件绑定 | 绑定接收字符串数据的事件(如控制指令),需自定义处理逻辑。 |
5. 调试与状态监控(Debug)
参数 | 类型/选项 | 说明 |
---|---|---|
UIStatus | Unity组件绑定 | 绑定一个 Text 组件(如 DebugTextFMNetwork ),实时显示网络状态。 |
ShowLog | 复选框 | 启用详细日志输出,帮助排查连接或数据传输问题。 |
关键配置示例
-
服务端配置
-
设置
NetworkType = Server
,ServerListenPort = 3333
。 -
启用
Auto Init
以自动启动监听。 -
在
OnReceivedByteDataEvent
中绑定GameViewDecoder.Action_ProcessImage
处理画面流。
-
-
客户端配置
-
设置
NetworkType = Client
,AutoNetworkDiscovery = ✓
,自动搜索服务端。 -
若需手动连接,关闭自动发现并填写
ServerIP
。 -
通过
SyncFPS
调节帧率,平衡流畅度与性能。
-
注意事项
-
端口冲突:确保服务端与客户端的端口设置匹配(服务端用
ServerListenPort
,客户端用ClientListenPort
)。 -
线程安全:启用
UseMainThreadSender
可避免多线程问题,但高频率数据发送可能导致主线程卡顿。 -
自动发现限制:某些网络环境(如企业防火墙)可能阻止 UDP 广播,需手动指定 IP。
2、游戏视图编码器(Game View Encoder)
参数 | 说明 |
---|---|
Capture Mode | 捕获模式:多种游戏画面捕获方式 |
Resolution | 分辨率:流媒体传输分辨率 |
Quality | 画质:流媒体传输质量等级 |
StreamFPS | 流帧率:流媒体传输帧率 |
OnDataByteReadyEvent(byte[]) | 事件:当流数据字节准备就绪时触发 |
Label | 标签:编解码器配对 |
3、游戏视图解码器(Game View Decoder)
参数 | 说明 |
---|---|
Received Texture | 接收纹理:解码后的Texture2D对象 |
OnReceivedTexture2D(Texture2D) | 事件:当接收到Texture2D时触发 |
Label | 标签:编解码器配对 |
4、音频编码器(Audio Encoder)
参数 | 说明 |
---|---|
Stream Game Sound(bool) | 流传输游戏音效:启用时捕获并传输音频 |
Audio Info | 音频信息:输出声道数、输出采样率 |
StreamFPS | 流帧率:音频流传输帧率 |
OnDataByteReadyEvent(byte[]) | 事件:当音频流数据字节准备就绪时触发 |
Label | 标签:编解码器配对 |
5、音频解码器(Audio Decoder)
参数 | 说明 |
---|---|
Audio Source | 音频源:添加音频解码器后自动生成音频源 |
Audio Info | 音频信息:源声道数、源采样率、设备采样率 |
Label | 标签:编解码器配对 |