WebStream插件
WebStream插件允许广播音频数据和视频帧呈现基于UNIGINE的应用程序通过 WebRTC(Web Real-Time Communication,网络实时通信)无限数量的设备。
一般来说,过程如下:
- 您可以在远程计算机、组织内部的桌面、容器或云托管服务提供的虚拟机上运行UNIGINE应用程序。
- UNIGINE使用该计算机可用的资源(如CPU,GPU,内存等)。来运行应用程序逻辑和渲染帧。
- 呈现的输出被连续编码为媒体流,并通过一个轻量级的web服务堆栈传递。
- 用户在其他计算机和移动设备上运行的标准web浏览器中查看此流,并从浏览器控制体验,将键盘,鼠标和触摸事件以及从客户端网页发出的自定义事件发送回UNIGINE。
启动插件#
要在项目中使用WebStream插件,请执行以下操作:
-
在项目创建时通过UNIGINE SDK浏览器添加:单击Plugins,选择WebStream plugin选项,然后单击Add。
对于现有项目,选择Other Actions -> Configure Project,按照上面的描述添加插件,然后单击 Update Configuration。 -
启动插件:在应用程序启动时指定extern_plugin命令行选项。
main_x64 -extern_plugin "UnigineWebStream"
此外,您可以通过指定-video_offscreen命令行选项来打开Offscreen模式。 它将允许您以无头模式运行应用程序,而不显示可见窗口。
main_x64 -extern_plugin "UnigineWebStream" -video_offscreen 1
查看输出#
要在Web浏览器中渲染主视口的输出,请在地址栏中使用Web配置文件中指定的HTTP地址数据,如下所示:
localhost:8000 | 如果应用程序运行在同一台PC上 |
---|---|
[设备IP地址]:8000 |
如果应用程序运行在网络中的另一台PC上 要使应用程序可从网络中的其他PC访问,请在Web配置文件中指定主机PC的IP地址。 |
如果地址中未设置Player名称(即链接如下所示):
-
localhost:8000/index.html?video=
或者
- localhost:8000
则图像将以 Main Player 的渲染方式进行流式传输。
引擎图像: | 流式图像: |
|
|
要从特定摄像机渲染,请在地址中添加它的名称(/index.html?video=Player名称):
-
localhost:8000/index.html?video=Player名称
或者
- [设备IP地址]:8000/index.html?video=Player名称
如果在流式传输服务器计算机的当前场景中不存在指定名称的Player,则会看到来自流式传输服务器当前摄像机的备用视图,但没有任何后期特效和GUI。
Web配置文件#
该插件附带 web_config.json 文件 (位于目录 <your_project>/bin/plugins/Unigine/WebStream),其中包含允许您配置广播过程的设置。您可以更改服务器设置(例如,指定自定义HTTP地址以在浏览器中查看输出),并允许或禁止用户输入。
以下是默认配置文件的示例:
{
"server":{
"document_root":"./plugins/Unigine/WebStream/html",
"http_address":"0.0.0.0:8000",
"enable_directory_listing" : false,
"num_threads" : 4,
"disable_xframe_options" : false,
"access_control_allow_origin" : "*",
"enable_keep_alive" : true,
"keep_alive_timeout_ms" : 1000,
"decode_url" : false,
"ssl_certificate" : "",
"global_auth_file" : "",
"authentication_domain" : "",
"extra_options" : []
},
"input":{
"enabled" : true
}
}
服务器设置如下:
还有一个部分包含用户输入的设置:
enabled |
允许或禁止服务器处理来自web浏览器的用户输入。 当不允许输入时,插件可以在没有Offscreen模式的情况下使用,没有任何问题。 |
---|