Video_Terms
Video Terms
Intro
So while being in high level architecture meetings around working in video streaming space, I quickly realize the exorbitant amount of acronyms used daily in those conversations. So I decided to expand upon my learnings and categorized them so that its easier for me to refer or forward my learnings to someone in need.
Media
Info copied from whatwg.org
Media Resource
A media resource has an associated origin, which is either "none
", "multiple
", "rewritten
", or an origin. It is initially set to "none
".
A media resource can have multiple audio and video tracks. For the purposes of a media element, the video data of the media resource is only that of the currently selected track (if any) as given by the element's [videoTracks](https://html.spec.whatwg.org/multipage/media.html#dom-media-videotracks)
attribute when the event loop last reached step 1, and the audio data of the media resource is the result of mixing all the currently enabled tracks (if any) given by the element's [audioTracks](https://html.spec.whatwg.org/multipage/media.html#dom-media-audiotracks)
attribute when the event loop last reached step 1.
Media Element
Media elements are used to present audio data, or video and audio data, to the user. This is referred to as media data in this section, since this section applies equally to media elements for audio or for video. The term media resource is used to refer to the complete set of media data, e.g. the complete video file, or complete audio file.
Video
Main Video
SDR
Standard Dynamic Range
HDR
High Dynamic Range
HDR 10
Dolby Vision
HDR - Extended
BitRate
The content being encoded with given bits for every scene / every second.
eg. 200 MB file of resolution 1080p (full HD) (16:9 aspect ratio) of 10 mins with x265 (HEVC) encoding has a suggested average of 3728.75
kbps according to this calculator. Of course it depends on what content is being played and the scenes in the video.
check out video bitrate calculator in tools section
Resolution
HD
High Definition
720p - HD
1080p - FullHD
2160p - UItraHD
SD
Standard Definition
360p
480p
560p
Aspect Ratio
16:9 - common Widescreen ( HDTV ) (720p, 1080p , 2160p)
16:10 - Laptop Widescreen sometimes.
21:9 - Ultra wide
4:3 - CRT TV (Old TVs) Old Nintendo / console games
2.39:1 - widescreen cinema
Letterboxing
letterboxing (‘black bars’) in the video
Text
Subtitles
The term "subtitles" is used for transcriptions of spoken text providing translations in different languages for viewers.
Subtitles are a form of captioning used to translate the audio dialogue from one language into another. Simply put, subtitles translate a video’s language into another. You’ll see subtitles used in many foreign films and programs.
Closed Captions
Closed captions are created to allow people who are deaf or hard of hearing to experience the video, so they also include background sounds and speaker changes. On the other hand, subtitles assume that the viewer can hear the audio and as a result do not contain the background sounds or notifications for speaker changes.
What is 608 and 708 Closed Captioning?
Hard vs Soft
"Soft" subtitles (which can be toggled on and off) are supported by the WebVTT standard in a similar fashion to captions (they've both categorized as timed metadata);
if you preferred "hard" subtitles (where they are "burned" into the video), you would provide the subtitle data to your video encoder during the transcoding process.
Audio
Normal Audio
Commentary
Dub
Stereo
Left and Right channels in the audio stream. Hence Stereo
Mono
Only one directional sound pumped in or recorded.
Surround
Has L + R, Back L + R, Subwoofer and Center.
5.1
5 Channels and .1 is the subwoofer
7.1
7 channels and 1 subwoofer
7.2.4
7 channels, 2 subwoofer and 4 height ceiling speakers
Spatial Audio
Doesn't only have L + R channels but it has more channels to support Height information as well.
Apple has its own variant of Dolby Atmos kind of implementation.
Windows has Spatial audio surround.
Apple Airpods support spatial audio with extra meta data of input source file and use headphones accelerators hardware sensors to map it to surround sound.
Audio ducking
Audio ducking is a technique where the volume of one audio signal (the "ducked" signal) is temporarily lowered when another audio signal (the "ducking" signal) is present, often used to improve clarity and intelligibility, especially when mixing music with narration or other audio.
Ads
Pre Roll | Mid Roll | Post Roll
Pre roll just means ads that are played before content playback begins.
Mid Roll would be an ad being played in middle.
Post Roll ad at the end.
Quartile
First Quartile | Second (Median) | Third Quartile
Q1 | Q2 (Mid) | Q3
25% | 50% | 75%
export type QuartileType = "First" | "Second" | "Third" | "Last";
Ad Break
An ad content which has duration of time to be played with resolution and links.
Ad Schedule
Collection | Array of Ad Breaks in a video stream file.
Format
VAST- Video Ad Serving Template
IMA - Interactive Media Ads
DAI
Dynamic Ad Insertion
Freewheel
Ad server which you can plug in - whose sole responsibility is to give us an array of ads "personalized" ads depending on the user being fingerprinted at the current instance.
Server Side Ads
SSAI
Server Side Ad Insertion
Segment
I don't know what is a segment
SCTE - 35
Scete tag to find the information around HLS / stream.
Convey information
This standard, “Digital Program Insertion Cueing Message for Cable” (SCTE 35), is the core signaling standard for advertising, Program and distribution control (e.g., blackouts) of content for content providers and content distributors. SCTE 35 is being applied to QAM/IP, Title VI/TVE (TV Everywhere), and live/time shifted (DVR, VOD, etc.) delivery. SCTE 35 signals can be used to identify advertising Breaks, advertising content, and programming content (e.g., specific Programs and Chapters within a Program).
Message cues embedded in content manifests.
AI Overview
SCTE-35 tags are used in HTTP Live Streaming (HLS) to indicate ad breaks, content transitions, and other program information:
Ad breaks: SCTE-35 tags signal when ads should be inserted into the stream.
Content transitions: SCTE-35 tags indicate when content should be switched within the stream.
Program information: SCTE-35 tags can indicate program information such as intro/outro credits, chapters, blackouts, and extensions.
Blackouts: SCTE-35 tags can signal when a piece of content should be replaced or omitted from a broadcast.
SCTE-35 tags are visible in the .m3u8 manifests of HLS. Some examples of SCTE-35 tags include:
- #EXT-X-CUE-OUT: Indicates the start of an ad insertion or splicing event.
- #EXT-X-CUE-IN: Indicates the conclusion of an ad insertion or splice event.
- OATCLS-SCTE35: Contains the base64 encoded raw bytes of the original SCTE-35 advertising available message.
- EXT-X-DATERANGE: Uses UTC to rely on timing.
SCTE-35 markers can be included in transport stream (TS), DASH, HLS, and CMAF outputs.
#EXT-X-SCTE35:TYPE=0x41,CUE=/DB7AAAAAAAAAP/wBQb+sPKHTfsn+XAABBAACRCZCg///////
Ref | Bitmovin | SCTE-35 guide
HLS
Apple's implementation of delivering video content via internet HTTP Live Streaming format specification.
Android / Roku and other platforms use DASH instead of HLS.
This HLS file is also sometimes referred as manifest file.
.m3u8
file format in Text readable format.
HLS Format Examples
Assets
There are many different asset types in video streaming.
OOH - Out of Home
TVE - TV Everywhere
m3u8 manifest on iOS and .mpd on Android. .mp4 fragments
VOD
Video on demand
Ads aren't valuable for first few days
C3 for VOD is not that valuable like Linear Live TV.
C3
C4 - Day four
IVOD
IVOD Impulse Video on Demand
IVOD Internet Video on Demand
IVOD Interactive Video On Demand
IVOD Instant Video On Demand
IVOD - Instant content on demand. Usually a few seconds behind T6 Linear broadcast.
TVE VOD
Content on demand available OOH
Linear
Also referred as TVE Linear
or Live TV
Live Asset
T6 Title 6
Basically just rules from USA govt. to make sure they comply with certain rules
Title 6 or Title VI – Cable television service, which is governed by Title VI of the Communications Act.
T6 LINEAR
Live content NOT available OOH
T6 VOD
Content on demand NOT available OOH
T6 VOD Server Side Ads
A special fallback protocol exists for T6 VOD assets which inserts ads from server side. It kinda manipulates manifest. Internally its codenamed as VEX.
Other
PURCHASE - These are assets that the user pays to watch.
RECORDING - User recorded content. Can be watched in home or non home locations
Time
Wall Clock
Actual UTZ time with full format - Date and Time.
Offset Time
TimeMSec
- Milli Secs
Or an offset of Secs from the initial playback stream head.
Unix Epoch
pronounced: epockh
Its a unix date time variant to describe a constant way of time format.
Time Scale
90k or 100k
30fps
24 fps it all divides evenly in 90k
60fps
PTS
Presentation timestamp
The presentation timestamp (PTS) is a timestamp metadata field in an MPEG transport stream or MPEG program stream that is used to achieve synchronization of programs' separate elementary streams (for example Video, Audio, Subtitles) when presented to the viewer.
PTS Wiki
Formats
MPEG
AAC
HEVC
It has both hvc1 and hev1 formats
hvc1 parameter sets are stored out-of-band in the sample entry (i.e. below the Sample Description Box ( stsd ) box)
hev1 parameter sets are stored out-of-band in the sample entry and/or in-band in the samples (i.e. SPS/PPS/VPS NAL units in the bitstream/ mdat box)
AV1
Encoders
Packager
Super 8 - Internal tool to package streams via Just in time to deliver right encoded assets from different tools.
Decoders
O&O
Owned and Operated channels. Generally 3rd party channels with their own encoder/decoder - packaging the whole nine yards of delivering their IPs.
Broadcasting
EAS
Emergency Alert System - this is being used for broadcasting emergency video over television or network to provide shelter / tornado / war anything which takes precedence since it could be life threatening. I don't have any examples since I haven't had the chance to watch live tv too much in north america. But I'm guessing this would have been placed by broadcasting FCC or governing agency after world war II or cold war to quickly mitigate broadcast messages or sirens like the ole' days of radio broadcast interrupt as depicted in "Tom & Jerry" show.
Streaming
IP Video
IP Video is a term used to describe video that is distributed on an IP network. The “IP” in IP Video stands for Internet Protocol, which is a set of standards for communicating over computer networks. IP Video devices can include cameras, hardware or software switchers, graphic workstations, and displays.
Source
OTT
Over the top
OTT, short for "Over-the-Top," refers to the delivery of video and audio content over the internet, bypassing traditional broadcast or cable providers. This includes services like Netflix, Amazon Prime Video, and Hulu, where users can access content through apps or websites on various devices
Unique Tags
SCTE
Scete tag to find the information around HLS / stream.
Convey information
#EXT-X-SCTE35:TYPE=0x41,CUE=/DB7AAAAAAAAAP/wBQb+sPKHTfsn+XAABBAACRCZCg///////
Time Shifting
In broadcasting, time shifting is the recording of programming to a storage medium to be viewed or listened to after the live broadcasting.
DVR
Digital Video Recorder - Wiki
VCR
wiki - video cassette recorder
CDVR
cloud DVR
CDVR FAQs by Spectrum
Recording (can be for TVE or T6)
TSB
Time shift buffer
CTSB
Cloud time shift buffer
FOG
FOG - Fetches live linear manifest and fragment from TSB as if it is from cloud.
Internal tooling to host a local web server using mongoose to serve video/audio content from its local or cloud recorded state. It is a proxy implementation to make sure that the SDK interface remains similar like its interacting with an actual network URL. Instead of using DASH | HLS manifest file url endpoints it proactively proxies them to redirect towards cloud | local recording assets.
Pretty neat, I think we do this in-order to avoid some restrictions on certain DRM streams etc. Not fully known why this workaround is being put in place by certain video streaming libraries or products.
Recording
Hot Recording
The timeline keeps playing while recording?
When the recording is happening in work in progress and still Live playlist.
The playlist "Event" style playlist (Hybrid of Linear and VOD).
It just starts with n
number of fragments and it keeps adding more fragments on apple HLS.
Cold Recording
When the recording is completed and then it becomes cold recording.
The playlist will become VOD playlist.
Guides
EPG
electronic program guide (EPG)
Interactive programming guides (IPGs)
Or TV Listings | TV guides
Channel Surfing
When you watch channels quickly going back and forth with other cable channels to see if something interesting is going on.
Session
Heartbeat
As described by my architect.
It's generally a periodic request sent as a 'keep alive' / I'm still here / periodic update mechanism. Like the player sending a heartbeat analytics message every 60s with info about the stream. The app also sends a periodic request to monitor that the user is still watching a stream and count towards their max concurrent streams limit.
Could be also extended towards the Analytics heartbeats.
CDN
Client Steering
HLS Content Steering | apple specific
apple wwdc | Deliver reliable streams with HLS Content Steering
Tech Papers: Implementing HLS/DASH Content Steering at Scale
URL Reform
This is where the new URL's are generated according to different CDN and replace the regex accordingly.
URL
We kinda follow a RFC for decoding the URL asset resource to hit the asset resource n
times depending on the retry
strategy or different CDNs.
URL Resolver
URL Parser
See brand specific Sky implementation product name Conviva
Upscaling
Soap Opera effect
Frame insertion / intermission / adding
Interpolating
24 fps -> 60 fps
DSP (Digital Signal Processing)
Analytics
Nielsen
The company to catch audience viewing measurement analytics by actual hardware in live tv.
VPA
Internal Platform Analytics which plugs in the data depending on the object file defined for us.
Open Measurement
Its like an ad measurement analytics service like Nielsen. But for ads - verification.
Previews
Thumbnail generation
You can do it via i-frame or something in the HLS manifest file
Playback
Trick Play
When you disable the fast forward or rewind on the player controller in the video. When you disable / enable the trick play - it gives the user an option to get full control of the scrubbing or jumping on the timeline ++ / -- .
Seeking operations on the timeline.
Timeline
Its the progress bar on the video player.
Showcasing how much progress it has made eg. 2 mins video
35 secs have passed
// - for the video playback
// = for time passed
= = = = - - - - - - - - - - - - - - - - - - - - - - - - - -
// * for ads
* * = = = - - - - - - - - * * * - - - - - - - - - - - * * * -
but its not purely for ads as you think of them, they could have a bumper for another program before or after the content with this API like for live tv programming.
Retune
When the player needs to be deallocated and then retuned or restarted from scratch in order to initiate the state properly. Reset basically.
DRM
Digital Rights Management
Hardware
Software
Widewine
Fairplay
Apple's variant of DRM on audio / video. HLS and AV Foundation | AVKit libraries.
fairplay
Brands
Sky
Sky is an european video giant for publishing video
Sky Go
Sky EPG
Tata Sky - joint venture with Tata (India) & Sky
Conviva
I believe this is just a product name for Sky (Europe) which does the URL parsing and resolving.
CDN steering and analytics module for Video streaming.
Xfinity
Comcast brand for internet and entertainment brand.
Peacock
Xfinity Stream - Cable subscribers app for streaming video on their mobile devices.
Netflix
Youtube
Youtube TV
Play Music
Youtube Originals
Disney
Disney Plus
ESPN
Paramount
Paramount Plus
Warner Bros
Discovery
Hardware
TV
Television
CTV
Connected TV
LG
Life's Good
Software
webOS
Palm webOS, which was bought by HP (Hewlett Packard) and then LG bought it for their CTV OS. First webOS tv, I believe in 2013 - 14. I used to love my first webOS tv from LG. Multitasking and what not.
Fusion Player
Seems like something internally used at comcast for web js player.
Reference
Closed Captions vs Subtitles: What's the Difference?
vod-streaming-versus-live-streaming-versus-ott-the-modern-video-economy