当前位置:网站首页>UE pixel stream, come to a "diet pill"!
UE pixel stream, come to a "diet pill"!
2022-07-05 08:22:00 【xosg】
Part1 Preface
Pixel streams are illusory engines UE5 The front and rear end separation frames provided : Server running UE5, Front end rendering UI, Intermediate transmission video stream . such , Even low-end computers or mobile phones without graphics cards can access and run UE5 Server for .
however UE The official pixel stream code base is very bloated , Lack of documentation , Difficult to use directly , We transformed it into a lightweight version , Out of the box pixel stream front-end library and signaling server , Address :
https://github.com/inveta/peer-stream.
besides , We have also developed a tool chain matching it , Automatically monitor the life cycle of pixel streams , Even if the server is unattended, it can work normally .

Part2UE5 Self starting : Fast startup speed
Worship UE5 Of HLOD technology (Nanite as well as WorldPartition) Bestowed ,UE5 The start time of the packaging program is basically 5s within ( Even oversized models ), therefore UE5 There is no need to drive on the server all the time to consume resources , When you visit the web page, you can temporarily start , Anyway, it won't take a few seconds . In our open source library ,UE5 The self starting program is written in the signaling server : When WebSocket When there is a new connection from the front end , It starts UE5, When there is no access, it will automatically close after a period of time UE5.
Part3 The singleton pattern : Thread safe file lock
UE5 Thread safety should be considered in self startup : If the front end has high concurrency connections , It is likely to start multiple UE5 process , That will bring great pressure to the server . besides , If the operation and maintenance personnel do not operate in a standard way , You may also accidentally open multiple UE5, Causing the system to crash . In order to avoid this problem at its root , We're open source UE5 Singleton mode plug-in : It strictly limits that at most one computer can be turned on at the same time UE5 example , Realize atomic operation through file lock , Very stable .
Plug-in address :https://github.com/inveta/SingleTon.

Part4UE5 Automatically quit : Save system resources
When no one is looking ,UE5 Automatic shutdown is natural , But the timeout of idle shutdown needs to be set within a reasonable range , The time setting cannot be too short or too long : If the time is too short, it is prone to frequent startup and shutdown , Increase the risk of crash ; If it takes too long, it will be useless , Waste system resources . Therefore, within a reasonable range , After many attempts , Our pixel stream plug-in passes the following 3 Time out to control UE5 Life cycle of ,
● After the signaling server is disconnected 10s To withdraw from UE5: Even the signaling server is down ,UE5 There is no need to exist , But to prevent short interruptions ,10s Internal reconnection can be done without exiting .
● After the front end is disconnected ,30 Exit in minutes UE5: After the user closes the web page , leave 30 Minute observation period , During this period, if there is a new web page connected , Then stop the timer .
● UE5 Start over 24 Hours later, , sign out UE5: Sometimes people are not in front of the computer , But the browser remains connected , Lead to UE5 Continuous operation for too long , It will also consume a lot of power , So set UE5 The maximum running time is 24 Hours .

Part5 Throttle and prevent shaking : Prevent collapse to the greatest extent
Time control is the most important detail in the pixel flow ecological chain , Because the whole system needs various timers to maintain the life cycle , Handling exception States , The time units of different timers range from milliseconds to seconds to minutes to hours , Except as mentioned in the previous section 3 Kind of UE5 Automatically exit timing , For throttling and anti shake , The following settings are also set in the whole system 8 A timer to deal with possible network attacks .
● WebSocket After disconnection 3s Internal automatic reconnection : No need to reconnect manually , Don't reconnect immediately .
● initialization DataChannel Request delay 500ms: Prevent web pages from being refreshed crazily .
● Dom After the element is disconnected 1s Internal continuous opening : Prevent front end JS Nonstandard code leads to high-frequency cutover of elements .
● Signaling server 500ms At most 1 Time WS Connect : prevent WebSocket collapse .● Every time 50s Launch once WS heartbeat connection : Avoid proxy server downtime .
● Signaling server and UE5 Send each other every minute ping-pong Keep alive request .
● UE5 Pass per second WebRTC Forward send QP Parameters , Monitor network status and video quality .
● On initialization ,UE5 Send to signaling server every second 10 Time WebSocket Connection request .
边栏推荐
- Imx6ull bare metal development learning 1-assembly lit LED
- STM32 tutorial triple ADC interleaved sampling
- 關於線性穩壓器的五個設計細節
- Carrier period, electrical speed, carrier period variation
- How to write cover letter?
- Bluetooth hc-05 pairing process and precautions
- Measurement fitting based on Halcon learning [i] fuse Hdev routine
- Compilation warning solution sorting in Quartus II
- Keil use details -- magic wand
- 【云原生 | 从零开始学Kubernetes】三、Kubernetes集群管理工具kubectl
猜你喜欢

Relationship between line voltage and phase voltage, line current and phase current

MySQL之MHA高可用集群

Some thoughts on extracting perspectives from ealfa and Ebeta

Classic application of MOS transistor circuit design (2) - switch circuit design

Semiconductor devices (I) PN junction

STM32 single chip microcomputer -- debug in keil5 cannot enter the main function

剑指 Offer 06. 从尾到头打印链表

STM32 single chip microcomputer - bit band operation

MySQL之MHA高可用集群
![Halcon's practice based on shape template matching [2]](/img/70/3e905661785e570fb406b8e97d41e6.jpg)
Halcon's practice based on shape template matching [2]
随机推荐
After installing the new version of keil5 or upgrading the JLINK firmware, you will always be prompted about the firmware update
UE像素流,来颗“减肥药”吧!
Soem EtherCAT source code analysis II (list of known configuration information)
DCDC circuit - function of bootstrap capacitor
2020-05-21
实例005:三数排序 输入三个整数x,y,z,请把这三个数由小到大输出。
[trio basic from introduction to mastery tutorial 20] trio calculates the arc center and radius through three points of spatial arc
How to write cover letter?
H264 (I) i/p/b frame gop/idr/ and other parameters
【云原生 | 从零开始学Kubernetes】三、Kubernetes集群管理工具kubectl
Array integration initialization (C language)
如何写Cover Letter?
Negative pressure generation of buck-boost circuit
Classic application of MOS transistor circuit design (2) - switch circuit design
VESC Benjamin test motor parameters
【论文阅读】2022年最新迁移学习综述笔注(Transferability in Deep Learning: A Survey)
My-basic application 2: my-basic installation and operation
Void* C is a carrier for realizing polymorphism
动力电池UL2580测试项目包括哪些
WiFi wpa_ Detailed description of supplicant hostpad interface