Video Compression

VideoNerd

shaka packager

Preamble: Some Details on HLS In HTTP-based rate-adaptive streaming protocols, like HLS, videos are encoded into multiple representations at different bitrates and resolutions. Each representation is then partitioned into segments of lengths that are several seconds long. At any moment, Client can dynamically choose a segment from an appropriate representation (according to current channel capacity) […]

WEBM Container

WEBM – This is an audiovisual media file format. It is primarily intended to offer a royalty-free alternative to use in the HTML5 video and the HTML5 audio elements. Currently WEBM supports only VP8 or VP9 or AV1 video formats and Opus or Vorbis audio.  WEBM can be considered as a subset of MKV (Matroska).  […]

Network Jitter

Content What’s Network Jitter How to Estimate Jitter Few of Experimental Data     Network connection is influenced by a number factors: network delay, queuing delay in middle boxes,  network jitter, packet loss, packet re-ordering and even packet duplication. In this post we speak about the network jitter.     What’s Network Jitter Network jitter […]

Live Video Streaming

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 […]

How Generate DTS/PTS from Video Elementary Stream?

Elementary AVC/H.264 stream does not contain timing information (excluding rare cases when presentation times are signaled in picture-timing SEI messages). Therefore, in order to encapsulate elementary stream into mp4 container or mpeg-system program it’s required to compute DTS/PTS (according to the predefined frame rate – fps) such that the following conditions are met: 1) DTS<=PTS […]