当前位置:网站首页>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 .
边栏推荐
- Management and use of DokuWiki
- Example 004: for the day of the day, enter a day of a month of a year to judge the day of the year?
- Vofa+ software usage record
- Problem solving: interpreter error: no file or directory
- General makefile (I) single C language compilation template
- 【三层架构】
- STM32 tutorial triple ADC interleaved sampling
- Weidongshan Internet of things learning lesson 1
- STM32---ADC
- Ble encryption details
猜你喜欢
Why is 1900 not a leap year
Hardware and software solution of FPGA key chattering elimination
STM32 --- serial port communication
[tutorial 15 of trio basic from introduction to proficiency] trio free serial communication
List of linked lists
Brief discussion on Buck buck circuit
Detailed summary of FIO test hard disk performance parameters and examples (with source code)
STM32 single chip microcomputer - bit band operation
FIO测试硬盘性能参数和实例详细总结(附源码)
Hardware 1 -- relationship between gain and magnification
随机推荐
STM32 summary (HAL Library) - DHT11 temperature sensor (intelligent safety assisted driving system)
List of linked lists
STM32 --- NVIC interrupt
Adaptive filter
Summary of SIM card circuit knowledge
[trio basic tutorial 18 from introduction to proficiency] trio motion controller UDP fast exchange data communication
On boost circuit
Shape template matching based on Halcon learning [9] PM_ multiple_ dxf_ models. Hdev routine -- [read and write XLD from DXF file]
[three tier architecture and JDBC summary]
剑指 Offer 06. 从尾到头打印链表
实例008:九九乘法表
Bluetooth hc-05 pairing process and precautions
Several important parameters of LDO circuit design and type selection
Stm32--- systick timer
STM32 --- configuration of external interrupt
Vofa+ software usage record
STM32 --- GPIO configuration & GPIO related library functions
How to copy formatted notepad++ text?
2020-05-21
【论文阅读】2022年最新迁移学习综述笔注(Transferability in Deep Learning: A Survey)