当前位置:网站首页>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
边栏推荐
- Bear market guide | some essential lessons and specific survival rules
- 熊市指南|一些本质的教训与具体的生存法则
- The latest (2022-2-16) vulnerability of WordPress plug-in bee collection (XSS, WordPress user name exposure, arbitrary article publishing) is repeated
- Canoe learning notes (4)
- About the version mismatch of unity resource package after importing the project
- What if win11 cannot delete the folder? Win11 cannot delete folder
- [nailing scenario capability package] smart office phone
- What is a code baseline?
- idea怎么把自己的项目打包成jar包
- Concept and understanding of variables
猜你喜欢

Explain memcached principle in detail
![[nail scenario capability package] hospital visitor verification](/img/0e/43433ca5586c48d01708e5fa39a808.jpg)
[nail scenario capability package] hospital visitor verification

"Developer theory" multi system integrated development - rapid nailing of enterprise owned systems

数学分析_笔记_第4章:连续函数类和其他函数类

org. apache. ibatis. exceptions. PersistenceException:

Finger collar pin exclusive Medal

Jmeter- (I) installation of interface test

Using two stacks to realize the function of one queue?

Build the first website with idea

ASC - DAY2
随机推荐
Weed FS stress test
Finger collar pin exclusive Medal
XMIND to excel test case
智云健康上市在即:长期亏损,美年健康俞熔已退出,未来难言乐观
Free cloud function proxy IP pool just released
ECU test modify test case
leetcode: 49. 字母异位词分组
[proteus simulation] arduinouno+ digital tube cycle display 0~9
Canoe learning notes (3)
Some websites used by Beijing University of technology when graduating
[nailing - scenario capability package] nailer card
ASP. Net core uses function switches to control Route Access (Continued) yyds dry inventory
Input a line of characters to count the English letters, spaces, numbers and other characters
Invalid bound statement (not found): com. qf. mapper. PassengerMapper. findByPassengerId
After osx-kvm modifies EFI, oc: failed to load configuration, osx-kvm generates opencore Qcow2 reports an error, libguestfs: error: source '
ZABBIX foundation details
[nailing scenario capability package] enterprise and public institution intelligent access control
Order by keyword syntax problems encountered in SQL Server learning
Solve the parameter problem that laravels cannot receive wechat callback
Is it safe to open an account with Caicai securities?