当前位置: 首页 > article >正文

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)
参数类型/选项说明
UIStatusUnity组件绑定绑定一个 Text 组件(如 DebugTextFMNetwork),实时显示网络状态。
ShowLog复选框启用详细日志输出,帮助排查连接或数据传输问题。

关键配置示例

  1. 服务端配置

    • 设置 NetworkType = ServerServerListenPort = 3333

    • 启用 Auto Init 以自动启动监听。

    • 在 OnReceivedByteDataEvent 中绑定 GameViewDecoder.Action_ProcessImage 处理画面流。

  2. 客户端配置

    1. 设置 NetworkType = ClientAutoNetworkDiscovery = ✓,自动搜索服务端。

    2. 若需手动连接,关闭自动发现并填写 ServerIP

    3. 通过 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标签:编解码器配对


http://www.kler.cn/a/590001.html

相关文章:

  • 【蓝桥杯】1124修建公路1(Kruskal算法)
  • 机器学习之激活函数
  • 文件解析漏洞靶场---解析详解
  • 利用hexo+github部署属于自己的个人博客网站(2025年3月所写)
  • 实现电商网站商品检索
  • UBuntu虚拟机上的redis服务突然消失了
  • 图形编辑器基于Paper.js教程25:材料测试矩阵功能的实现
  • [算法] 贪心--矩阵消除游戏
  • MyBatis SqlSession 是如何创建的? 它与 SqlSessionFactory 有什么关系?
  • 【Android】ListView控件在进入|退出小窗下的异常
  • 【xv6操作系统】页表与写时拷贝解析及相关实验设计
  • TiDB删除大量数据需要注意什么
  • RabbitMQ支持的复杂的消息交换模式
  • HTML中滚动加载的实现
  • 大文件上传实现
  • 推理大模型的后训练增强技术-从系统1到系统2:大语言模型推理能力的综述
  • 安卓屏保调试
  • 机试题——Devops 系统任务调度问题
  • 探索具身多模态大模型:开发、数据集和未来方向(下)
  • Node.js系列(1)--架构设计指南