Fmetp stream插件在局域网中使用
1、概述
Fmetp stream 插件是一种可以快速、不需编程即可实现设备之间画面传输的插件,可以用于游戏视图分享、VR画面监控、以及直播等。可在局域网或广域网使用。
2、在Unity使用插件流程
a.画面发送端
1、在Scene 中添加一个空的游戏物体,在该物体添加"FM Network Manager"脚本。选择设置“Network Type”为Client,其他的选择默认即可。(可在Client Setting 中设置监听端口、发送方式以及发现服务器等)
2、添加设置编码脚本。添加一个空白物体,在物体上添加“Game view Encoder"脚本。然后需要添加上编码就绪的事件,在OnDataByteReadyEvent事件上添加对应客户端"FM Network Manager"脚本中的发送事件。发送事件有很多种类,例如SendToServer 、SendToTheOthers等,选择需要的方法即可。
其中"Game View Encoder脚本有一些关于画面编码设置,其中capture Mode 是选择编码那个视角,Full Screen是将Unity中的游戏视角编码,Render Cam是将用户添加到下面的主摄像机框中相机渲染编码。下列的Settings是关于画面质量设置,其中Resize是设置画面分辨率的尺寸,Quality是设置画面编码的分辨率,streamFps是设置传输帧率。
编码脚本最下边有一个label设置,这个比较重要的,就是传输端与接收端的定义统一,只有label中的值相同,接收端才可以接收到传输端的传输的画面。并且要想实现多端传输至一个设备时需要设置好对应的label中的值。
b.画面接收端
1、首先要和发送端一样在Scene中添加对应"FM Network Manager"脚本。根据发送端中设置的发送方法选择对应Network type,但局域网要存在一个服务器端,可有多个客户端。例如发送端选择的是客户模式,并且选择发送模式是SendToServer, 则接收端就要设置为“Server”模式。并且接收端要在接收数据事件中设置对应的画面渲染功能。这涉及到解码功能脚本。根据传输过来的数据格式选择对应的事件,例如传输的Byte,选择OnReceivedByteDataEvent事件,选择解码脚本中的Action_ProcessImageData。
2、在Scene中添加空白物体,在物体上添加Game View Decoder脚本。