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

Unity插件-适用于画面传输的FMETP STREAM使用方法(一)FMETP STREAM介绍

目录

一、使用介绍

二、插件介绍

1、简述

2、核心功能

3、应用场景

4、技术实现

5、Demo示例

1)打开示例场景

2)场景示例

3)添加示例场景

4)运行场景

5)选择模式

6)连接测试


一、使用介绍

插件来源:Unity AssetStore

(FMETP STREAM 6 | 视频 | Unity Asset Store)

官方网页:FMETP STREAM 6 | 视频 | Unity Asset Store

官方文档:APIs – Frozen Mist

使用版本:Unity 2022.3.53f1c1、FMETP STREAM 1.2

硬件需求(最低配置):

处理器:1.1 GHz

内存:1 GB RAM

支持系统:iOS、Android、Mac、Windows、Linux

使用平台:iOS/Android/Mac/PC/Linux/WebGL/HTML/AR/VR


二、插件介绍

1、简述

Unity的插件FMETP STREAM是一款专注于局域网内实时画面传输的插件,支持多平台(如PC、Android、WebGL等),适用于开发需要实时同步或展示画面的应用场景。

FMETP STREAM 是一款专为Unity3D设计的插件,致力于实现游戏画面共享、远程协作及VR交互应用开发。在局域网环境下,该插件可实现Unity3D应用间的低延迟实时流媒体传输。

其编码模块与网络模块采用完全独立的设计架构:编码模块包含视频编码器和音频编码器,同时提供多种定制化网络系统——FM Network UDP(UDP协议)、FM WebSocket(WebSocket协议)以及FM Network Action(TCP/UDP混合协议)。除自有网络系统外,编码模块还兼容第三方网络解决方案。

由于源代码基于Unity3D C#开发,本插件支持绝大多数Unity构建平台,包括iOS、Android、Mac、Windows、Linux等操作系统。通过FM WebSocket的互联网通信能力,还可实现Unity3D WebGL构建及HTML网页端的流媒体支持。

当前版本在编码模块中集成了原生硬件编码方案,显著提升移动设备性能表现,突破低端设备性能瓶颈。根据实测数据,即使在iPhone 5等老旧设备上,也能流畅运行720P分辨率(24帧/秒)的实时流媒体传输。


2、核心功能

核心逻辑

画面编码→网络管理→画面解码

Game View Encoder -> Network Manager -> Game View Decoder

音频编码→网络管理→音频解码

Audio / Mic Encoder -> Network Manager -> Audio Decoder

  • 实时画面传输:通过局域网实现低延迟的画面传输,支持一对一或一对多的传输模式。发送端可将Unity场景中的画面实时编码传输,接收端解码后渲染显示。

  • 跨平台兼容:支持PC端、移动端(如Android)及WebGL平台,并可同步到HTML5网页中,方便多终端交互。

  • 灵活的编码与解码:提供GameViewEncoder(编码端)和GameViewDecoder(解码端)组件,通过绑定事件实现数据流的发送与接收,支持自定义渲染摄像机(如分屏显示)。


3、应用场景

  • 教育与展览:用于多屏幕同步展示内容,例如在展厅中同步多个设备的画面。

  • 远程协作:支持将Unity应用画面实时传输到其他设备,适用于远程控制或协同操作。

  • 直播与教学:可构建简单的直播系统,例如将游戏画面传输到网页端供观众观看。


4、技术实现

  • 网络架构:基于Socket.IO实现通信,插件内置FMSocketIOManager组件,通过设置NetworkType(Server/Client)区分服务端与客户端。服务端负责接收并分发数据,客户端则发送或接收画面流。

  • 自动发现与端口配置:默认自动搜索局域网内的设备,无需手动设置IP,仅需指定端口即可建立连接。支持多客户端同时连接到单一服务端。

  • 事件驱动机制:通过绑定事件(如OnDataByteReadyEventOnReceivedByteDataEvent)实现数据流的处理,开发者可自定义传输逻辑。


5、Demo示例

1)打开示例场景

在FM_ExhibitionToolPack文件夹下找到“Demo_NetworkingMain”场景

2)场景示例

3)添加示例场景

将用到的场景添加到build场景中

4)运行场景

运行示例场景,点击FMNetwork Basic

5)选择模式

选择开启服务端或客户端

6)连接测试

开启新项目或打包启动一个新的场景,选择开启服务端或客户端,保证开启一个服务端一个客户端。可以看到连接数量为1,证明连接成功

相关文章:

  • 安全相关Python脚本
  • 【leetcode hot 100 108】将有序数组转换为二叉搜索树
  • 工厂方法模式 (Factory Method Pattern)
  • 人工智能之数学基础:保持几何结构不变的线性变换——正交变换
  • 查找Python环境中Matplotlib配置文件
  • 计算机的结构形式
  • 《Flutter:开源的跨平台移动应用开发框架》:此文为AI自动生成
  • 激活函数和批归一化(BatchNorm)
  • 数位小游戏
  • Vue生命周期_Vue生命周期钩子
  • 使用SetupTools 管理你的项目打包工作
  • 【后端开发面试题】每日 3 题(十三)
  • redis删除与先判断再删除的区别
  • 996引擎-问题处理:缺失特效分割文件 ModelAtlasSplitConfigs
  • 解锁下一代AI应用:开源项目mcp-server-qdrant如何重塑向量数据库管理?
  • 我与DeepSeek读《大型网站技术架构》- 总结
  • Python 本地翻译库 googletrans
  • 补充二分LIS
  • Obsidian Copilot:打造你的专属 AI 笔记助手
  • 一周学会Flask3 Python Web开发-SQLAlchemy查询所有数据操作-班级模块
  • 国防部:菲方应停止一切侵权挑衅危险举动,否则只会自食苦果
  • 缅甸内观冥想的历史漂流:从“人民鸦片”到东方灵修
  • 女孩患异食癖爱吃头发,一年后腹痛入院体内惊现“头发巨石”
  • 马上评|安排见义勇为学生补考,善意与善意的双向奔赴
  • 市场监管总局召开平台企业支持个体工商户发展座谈会
  • 乌总统:若与普京会谈,全面停火和交换战俘是主要议题