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
查看输出#
如果需要在浏览器中查看渲染后的输出,可以在地址栏中指定localhost:8000或[device-IP-address]:8000。
您可以在插件提供的 webconfig.json 文件中指定自定义端口。
Web配置文件#
该插件附带 webconfig.json 文件,其中包含允许您配置广播过程的设置。您可以更改服务器设置(例如,指定自定义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
}
}
服务器设置如下:
document_root | web服务器为页面提供服务的目录。 |
---|---|
http_address | Web服务器的HTTP地址和端口。 |
enable_directory_listing | 标识用户是可以通过浏览器浏览 document_root 中指定文件夹的内容,还是只能访问预定义页面。 |
num_threads | Web服务器的线程数。 不建议将其设置为小于2。 |
disable_xframe_options | X-Frame-Option响应头是否开启的标志。 |
access_control_allow_origin | Access-Control-Allow-Origin响应头。 默认情况下,它设置为*,允许web浏览器从任何来源请求代码。 |
enable_keep_alive | 指示是否启用Keep-Alive头的值。 |
keep_alive_timeout_ms | 主机保持空闲连接打开的时间(以毫秒为单位)。 |
decode_url | 指示是否启用URL解码的标志。 |
ssl_certificate | HTTPS所需证书的路径。 |
global_auth_file | 全局身份验证文件的路径。 |
authentication_domain | 认证域。 |
extra_options | 附加服务器设置列表。 |
还有一个部分包含用户输入的设置:
enabled |
允许或禁止服务器处理来自web浏览器的用户输入。 当不允许输入时,插件可以在没有Offscreen模式的情况下使用,没有任何问题。 |
---|
最新更新:
2024-09-05
Help improve this article
Was this article helpful?
(or select a word/phrase and press Ctrl+Enter)