当前位置:网站首页>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
边栏推荐
- Wd4t secondary opening firmware 190 module for mobile hard disk data recovery is successfully repaired
- On merging and sorting
- Send a more awesome website, which can convert curl commands into code in any language
- Where is win11 screen recording data saved? Win11 screen recording data storage location
- C language soul torture: do you know the difference between the two?
- The robotframework executes JS commands to move the mouse from X to y
- Finger collar pin exclusive Medal
- HNU计网实验:实验四 应用层和传输层协议分析(PacketTracer)
- Using recursive method to find the value of 1~n
- Common singleton functions traverse dictionary functions
猜你喜欢

Mathematical analysis_ Notes_ Chapter 4: continuous function classes and other function classes

Rounding related calculation

QT method of exiting application (exe)

Processing of limit operator in Presto

HNU数据库系统概论 ODBC

Canoe learning notes (1)

Mutual conversion of CString and char*

Win11开始菜单右键空白?Win11开始菜单右键没反应解决方法
![[nailing scenario capability package] ranking of enterprise employees' points](/img/f5/ed5bd90706ef166c3758bc03ab32bc.jpg)
[nailing scenario capability package] ranking of enterprise employees' points

用idea建立第一个网站
随机推荐
Solve the parameter problem that laravels cannot receive wechat callback
After osx-kvm modifies EFI, oc: failed to load configuration, osx-kvm generates opencore Qcow2 reports an error, libguestfs: error: source '
Docker Alpine image installation PHP extension redis
JVM Foundation
Beginner to embedded development
MySQL trigger
On merging and sorting
Bear market guide | some essential lessons and specific survival rules
The difference between strcpy and memcpy
[proteus simulation] Arduino uno+ key controls 2-bit digital tube countdown
What if win11 cannot delete the folder? Win11 cannot delete folder
CANoe. Diva operation guide - establishment of operation environment
QT method of exiting application (exe)
Canoe learning notes (4)
Free your hands and automatically brush Tiktok
Input a line of characters to count the English letters, spaces, numbers and other characters
ZABBIX foundation details
Type conversion basis
Is it safe to open an account with qiniu securities?
OBD Position Overview