当前位置:网站首页>Milan video technology exchange meeting sharing
Milan video technology exchange meeting sharing
2022-06-25 21:50:00 【User 1324186】
source :Global Video Tech Meetup:Milan host :Andrea Fassina The speaker :Behnam Kakavand, Alexey Malikov Arrangement : Li Haoyong This conference mainly contains four themes :WebAssembly As the possibility of network play ; A video DRM How the system works ; Based on real-time edge recording and CMCD KPI Video monitoring panel ;OTT/IPTV Improvement of video content transmission quality . This article will introduce the first and last lecture .
Catalog
- start
- Looking forward to the future :WebAssembly Or become a way of playing web pages
- OTT/IPTV Improvement of video content transmission quality
start
Meeting by from videodeveloper.io Of Andrea Fassina host . He first reviewed the previous issue (6th Milan Meetup) The content in : live broadcast 、 Data quality 、 Interactive volume video and intelligent coding , And introduced the other three guests of the meeting : come from Evolution Of Behnam Kakavand、 come from Akamai Of Luca Moglia、 come from Elecard Of Alexey Malikov.
Looking forward to the future :WebAssembly Or become a way of playing web pages
This speech (1:37-17:21) The speaker of Behnam Kakavand yes Evolution The company's chief video engineer , from 2010 He began to engage in the video on demand and live broadcast industries in .
Real time video is now at the heart of the industry , To generate and deliver real-time video content , The speakers built their own video platform , For the browser 、 Android provides video content . He USES Websocket To connect Android and browsers , End to end delay at 1.5-3s Inside , And use MSE(Media Source Extensions) To play . And in the Iphone The platform uses HLS, Delay in 3.5-7s Within the scope of . The scenario of this technology is the frequent interaction between users and the streaming end , Delay is critical .
What is? WebAssembly
WebAssembly, That is to say WASM, Is a cross platform binary standard for use in any browser 、 equipment 、 The platform on which the precompiled code runs . Precompiled code means that it is optimized , Low latency code . Compared with JavaScript, with 3-4 Times better performance in terms of running speed . At the same time, you can freely choose its back-end language , Such as C,Rust,Go etc. . This means that you choose from a very large and rich open source library , And add them as new features to your browser application .
Why use WASM player
The speaker chooses WASM To develop their players for the following reasons :
- It is hoped that the consistency of flow, delay and other service contents can be maintained on the whole platform .
- In order to have more direct access to the decoding function , Gain a global control , Including cache control 、 Packet loss and frame loss control .
- Manage support for various codecs more directly , And the choice of transmission protocol .
- Apple LL-HLS The delay can be controlled at 2s Within the scope of , But that's it. . The speaker's delay goal is 1s.
- WebRTC Limited in encoder , You must use the base configuration file , Resulting in greater quality and bandwidth requirements .
Use the browser's own features
The speaker went on to introduce some features of the browser .HTML5<video> tag Will get the source URL Address and control the whole pipe Video streaming , However, its control range for playing different parts is limited , And on different browsers ,HTML5 There are some differences in the deployment of , More trouble .MSE(Media Source Extension) Will integrate input sources and control almost all parts of playback .
Use custom sections
The speaker introduced the customized part of the player :WASM and WebGL.WASM Any video codec can be configured 、 You can have customized cache control to achieve low latency playback , You can also choose the transmission protocol freely . because WASM Software codec is used , No hard decoding acceleration support , As a result, the power consumption will be higher . And because the whole larger binary code including encoding and decoding is to be transmitted , Therefore, the transmitted content size will be larger .WASM You can also use various open source codecs , Such as VP9 and AV1, This kind of encoder is not supported on all browsers . and WebGL Can be used for personalized rendering and color gamut space management .
Next, the speaker introduced the workflow of the player . First they use Emscripten Compiled based on C Decoder library , And compile their players based on these libraries .JS Import WASM File and used to synchronize , Input byte cache and read pixel cache , Finally through WebGL Render pixels . He also shows how to compile libav What is used emscripten Configuration of .
WASM Player composition
About WASM Part of the player , As shown in the figure above . The main thread is running on the player JS Front end thread of , It is used for interactive operation for users . In another thread WebSocket Used to operate the transport protocol , And another thread WASM Decoder Used to decode video streams .
The current result
The speaker finally showed their player delay effect , You can see that only 0.9s End to end stability delay , But their current product player delay has 1.8s. In addition, there is a seamless adaptive rate switching function , Can be in iOS,Android And desktop environment .
The speaker's future plans include using shared vector memory , Use WASM SIMD, Off screen desktop and audio category group to further improve performance , It can further optimize battery consumption . In addition, further reducing the size of the player package is also an optimization direction .
OTT/IPTV Improvement of video content transmission quality
This speech (38:26 rise ) My speaker Alexy Malikov yes Elecard The company's engineers .
To improve the service quality , First, you need to monitor the current transmission quality , Therefore, a distributed monitoring scheme is needed . In general, distributed monitoring consists of several parts : A central server and distributed client applications or hardware . Such a monitoring scheme is needed in the network because OTT/IPTV, Usually ( Including suppliers ) There are multiple clients , Because the quality of the content they provide is often changed during uploading or downloading by satellite , A method is needed to know the final received quality status .
Next, the speaker introduced several real scenarios and corresponding solutions .
Case1: The user's signal is blocked ,TV The picture is stuck during the advertisement
Case1
The speaker installed two detectors , One before transcoding splicer , The other is DVB Before the modulator . There is no problem with the code stream detected in the transcoding part , The latter modulator detects that the parameters of the video stream are different from those of the main video stream . This is a classic mistake , be called “ Video information change event ”.
It can be seen from the monitoring picture shown by him , Because the advertising picture proportion is 16:9, The previously broadcast video content is 4:3, Some user devices cannot directly adapt to this change , This causes the video stream to jam , Affect the viewing experience .
Case2: The video stream cannot be received by the user at all
Case2
In this case , The content distributed network includes satellite links , And detectors have been installed in many places , Including demodulator and transcoder . Through testing, it is found that , The satellite demodulator will not work properly from time to time .
On the detection screen, it can be seen visually that when the demodulation module is not working , There will be no waveform display directly . And the solution is simple : Directly replace the entire demodulation module .
Case3: The client player stops working
Case3
Here is a large supplier providing business for all areas of the city . The speaker installed a lot of detectors , Included in transcoding distribution , And in CDN Before and after , Even at the regional level CDN Front and rear detectors are installed . In some areas CDN edge , The speaker detected some HLS The broadcast clip is lost , And the download speed is too low to meet the real-time demand .
The regular waveform can be directly seen in the blank of some segments on the monitoring screen , Namely HLS The result of missing fragments .
Case4: The TV channel is inaccessible or severely damaged
Case4
In this scenario , The speaker is before transcoding , Before satellite modulator and after satellite demodulation , End to end detectors are installed , It is observed that there are a large number of data error losses on the transport layer .
The arrival interval of transmitted packets can be seen on the monitoring screen , Change of packet loss rate , Loss of signal occurs at the same time of day . After investigation, he found that this was caused by the signal interference between the two satellites , Finally, the problem is solved by changing the modulation frequency band of the satellite .
Case5: There is no sound at the subscriber
Case5
The speaker is in front of and behind the transcoder on the supplier side and on the client side DVB A detector is set behind the demodulator , On the detector of signal input in front of transcoder , Found the... Of the audio channel PID The loss of .
The audio signal loss can be clearly seen on the monitoring diagram , Without its payload package . Therefore, this problem can be solved quickly after it is returned to the supplier .
Case6: A supplier's picture is stuck
Case6
Here the speaker is in front of and behind the transcoder and CDN After that, the detector is set , The data in front of the transcoder has a big problem .
It is more obvious on the monitoring chart that the transcoder signal can not be used as an input , Caused the picture to freeze , Even after that the signal is restored , Transcoder still can't get back on track . Finally, the transcoder module is directly replaced to solve this problem .
Attach video of the meeting :
http://mpvideo.qpic.cn/0bc3veaasaaalqamebxtvbqvbkodbguqacia.f10002.mp4?dis_k=4d0100fe20fc264759d75f81606847f6&dis_t=1645152790&vid=wxv_2244374462395793417&format_id=10002&support_redirect=0&mmversion=false
边栏推荐
- Some websites used by Beijing University of technology when graduating
- The robotframework executes CMD commands and bat scripts
- Using recursive method to find the value of 1~n
- Oracle case: does index range scan really not read multiple blocks?
- ASP. Net core uses function switches to control Route Access (Continued) yyds dry inventory
- 了解有哪几个C标准&了解C编译管道
- Canoe learning notes (3)
- 24 pictures to clarify TCP at one time
- Using two stacks to realize the function of one queue?
- Writing manuals using markdown
猜你喜欢
What is a ZFS file system
24 pictures to clarify TCP at one time
Rounding related calculation
Apache uses setenvif to identify and release the CDN traffic according to the request header, intercept the DDoS traffic, pay attention to the security issues during CDN deployment, and bypass the CDN
Jmeter- (III) create user test cases for interface testing
How to write an infinite loop
. Thoughts on software trends in the 20th anniversary of net
[important notice] developer document update (12.13-12.19)
Php7.4 arm environment compilation and installation error invalid 'ASM': invalid operate prefix '%c'
实验三的各种特效案例
随机推荐
Local Yum source production
什么是代码基线?
Legal mix of settlements (utf8mb4_0900_ai_ci, implicit) and (utf8mb4_general_ci, implicit) error resolution
JS disable the browser PDF printing and downloading functions (pdf.js disable the printing and downloading functions)
MySQL trigger
[proteus simulation] Arduino uno+ key controls 2-bit digital tube countdown
PHP Chinese word segmentation API, Harbin Institute of technology ltpcloud, naturallanguageprocessing, free, best practices!
Summary of digital image processing knowledge points
【hnu暑学期】数据库系统设计 准备阶段
If switch branch structure
ASC - DAY2
XMIND to excel test case
Jmeter- (III) create user test cases for interface testing
Understand two major web development patterns
The latest (2022-2-16) vulnerability of WordPress plug-in bee collection (XSS, WordPress user name exposure, arbitrary article publishing) is repeated
实验三的各种特效案例
C language soul torture: do you know the difference between the two?
Is it safe to open an account with Caicai securities?
Finger collar pin exclusive Medal
The robotframework executes JS commands to move the mouse from X to y