There are three main categories of live video streaming:
- non-interactive video streaming of sport events, here the tolerated latency can be 0.5s-1s.
- low-latency interactive video for video conference, here the tolerable latency is ~300ms
- ultra-low latency cloud gaming, here latency should be 100-150ms at most.
B-frames are avoided in low latency streaming, the following figure shows that the original order I B B P was encoded and transmitted as I P B B and consequently displayed with the latency of two frame periods, where δ is transmission duration:
Due to changing of network condition Sender can be notified by Receiver on measured or estimated throughput. Upon getting corresponding feedback from Receiver the Adaptive Bitrate mechanism chooses the highest bitrate that is less than the last throughput measured.
Quality Metrics of Media Streaming (not necessarily live streaming):
Startup metric : related to the time it takes the media asset to load and/or play.
Buffer: related to buffering and estimate “stalling”, “stuttering” and similar effects during playback. In case of non-live streaming seeking is also checked.
Quality: related to the adaptation for adaptive streaming (e.g., quality levels and quality switches), as well as picture quality for video (e.g., resolution and re-scaling).
Bitstream Errors
Bitstream errors are inevitable therefore two techniques are commonly used to correct these network faults
- Forward Error Correction (FEC)
FEC packets add overhead, they are sent whether they are needed by the receiver or not.
- Automatic Repeat reQuest (ARQ), two-way connection between the Packet Sender and Packet Receiver required. In addition caching data at the Packet Sender is necessary to re-transmit lost packets.
the pictures taken from Haivision white paper “SRT – A new open source protocol for low-latency video transport over the internet”
ARQ can be disabled for the N-th packet:
if current_time + RTT > Td(N)
RTT is an estimated round trip
Td(N) is the time when N-th packet is scheduled for decoding.
End-to-end delay:
In live video streaming End-to-End delay is measured from capturing of the image by a camera and its decoding (or presentation) at user’s display.
In Cloud-Gaming End-to-End delay (or Response Delay) is measured from pressing on a button “fire” and appearance of the fire on user’s screen.
End-to-End delay includes the queuing delay, propagation delay, decoding delay etc.
For example, the queuing delay refers to packet buffering in the sender, receiver and middle network nodes during packet transmission.
23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents).
the author is looking for new job, my resume
You can certainly see your enthusiasm in the work you write. The world hopes for more passionate writers like you who are not afraid to say how they believe. Always follow your heart.
I like what you guys are up too. Such clever work and reporting! Keep up the excellent works guys I?¦ve incorporated you guys to my blogroll. I think it’ll improve the value of my site 🙂
I want reading and I conceive this website got some genuinely utilitarian stuff on it! .
I am impressed with this website , very I am a big fan .
Some really choice blog posts on this internet site, saved to my bookmarks.
I am really impressed with your writing skills as well as with the layout on your weblog. Is this a paid theme or did you customize it yourself? Anyway keep up the nice quality writing, it is rare to see a nice blog like this one today..
I went over this site and I believe you have a lot of great information, saved to favorites (:.
I’m very happy to read this. This is the kind of manual that needs to be given and not the random misinformation that is at the other blogs. Appreciate your sharing this greatest doc.
You made certain nice points there. I did a search on the subject matter and found nearly all persons will have the same opinion with your blog.
Some times its a pain in the ass to read what blog owners wrote but this web site is really user friendly! .
This is the right blog for anyone who wants to find out about this topic. You realize so much its almost hard to argue with you (not that I actually would want…HaHa). You definitely put a new spin on a topic thats been written about for years. Great stuff, just great!
I was reading through some of your content on this website and I believe this website is very instructive! Continue putting up.