Beta
Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).
-Beta
Keep a CTA-608 screen of 32x15 styled characters
+Beta
Beta
Beta
Beta
Set background/extra foreground, but first do back_space, and then insert space (backwards compatibility).
+Beta
Beta
Beta
CaptionsLogger. To be removed in the future.
-Beta
CaptionsLogger. To be removed in the future.
+Beta
Beta
Beta
CTA-608 Channel
-Beta
CTA-608 Channel
+Beta
Beta
Beta
Beta
Beta
CEA-608 caption parser.
-Beta
CEA-608 caption parser.
+Beta
Beta
Pen state.
-Beta
Pen state.
+Beta
backgroundBeta
flashBeta
foregroundBeta
italicsBeta
underlineBeta
CTA-608 row consisting of NR_COLS instances of StyledUnicodeChar.
-Beta
CTA-608 row consisting of NR_COLS instances of StyledUnicodeChar.
+Beta
Beta
Beta
Beta
Beta
SCC Parser
+Beta
fieldBeta
hasBeta
nrBeta
processorBeta
Structured Field Item
-Optional
params: SfParametersOptional
paramsBeta
Structured Field Item
+Beta
Optional
params: SfParametersBeta
Unicode character with styling and background.
-Beta
Unicode character with styling and background.
+Beta
Beta
Beta
Beta
Beta
Beta
CMCD header fields.
-keys whose values vary with the object being requested.
-keys whose values vary with each request.
-keys whose values are expected to be invariant over the life of the session.
-keys whose values do not vary with every request or object.
-Beta
CMCD header fields.
+Beta
OBJECTkeys whose values vary with the object being requested.
+Beta
REQUESTkeys whose values vary with each request.
+Beta
SESSIONkeys whose values are expected to be invariant over the life of the session.
+Beta
STATUSkeys whose values do not vary with every request or object.
+Beta
Common Media Client Data Object Type
-audio only
-caption or subtitle
-init segment
-cryptographic key, license or certificate.
-text file, such as a manifest or playlist
-muxed audio and video
-other
-ISOBMFF timed text track
-video only
-Beta
Common Media Client Data Object Type
+Beta
AUDIOaudio only
+Beta
CAPTIONcaption or subtitle
+Beta
INITinit segment
+Beta
KEYcryptographic key, license or certificate.
+Beta
MANIFESTtext file, such as a manifest or playlist
+Beta
MUXEDmuxed audio and video
+Beta
OTHERother
+Beta
TIMED_ISOBMFF timed text track
+Beta
VIDEOvideo only
+Beta
CMSD header fields.
-Keys whose values apply only to the next transmission hop. Typically a +
Beta
CMSD header fields.
+Beta
DYNAMICKeys whose values apply only to the next transmission hop. Typically a new CMSD-Dynamic header instance will be added by each intermediary participating in the delivery.
-Keys whose values persist over multiple requests for the object.
-Beta
STATICKeys whose values persist over multiple requests for the object.
+Beta
Common Media Server Data Object Type
-audio only
-caption or subtitle
-init segment
-cryptographic key, license or certificate.
-text file, such as a manifest or playlist
-muxed audio and video
-other
-ISOBMFF timed text track
-video only
-Beta
Common Media Server Data Object Type
+Beta
AUDIOaudio only
+Beta
CAPTIONcaption or subtitle
+Beta
INITinit segment
+Beta
KEYcryptographic key, license or certificate.
+Beta
MANIFESTtext file, such as a manifest or playlist
+Beta
MUXEDmuxed audio and video
+Beta
OTHERother
+Beta
TIMED_ISOBMFF timed text track
+Beta
VIDEOvideo only
+Beta
Append CMCD query args to a header object.
-The headers to append to.
-The CMCD object to append.
-Optional
options: CmcdEncodeOptionsEncode options.
+Beta
Append CMCD query args to a header object.
+The headers to append to.
+The CMCD object to append.
+Optional
options: CmcdEncodeOptionsEncode options.
The headers with the CMCD header shards appended.
-Beta
Append CMCD query args to a URL.
-The URL to append to.
-The CMCD object to append.
-Optional
options: CmcdEncodeOptionsOptions for encoding the CMCD object.
+Beta
Append CMCD query args to a URL.
+The URL to append to.
+The CMCD object to append.
+Optional
options: CmcdEncodeOptionsOptions for encoding the CMCD object.
The URL with the CMCD query args appended.
-Beta
Decodes a base64 encoded string into binary data
-The base64 encoded string to decode
+Beta
Encodes binary data to base64
-Beta
Checks if the given data contains an ID3 tag.
-The data to check
-The offset at which to start checking
+Alpha
Convert dash manifest into a ham object.
-String of the XML Dash manifest
+Alpha
Convert dash manifest into a ham object.
+String of the XML Dash manifest
List of presentations from ham
-Example on how to import the cmaf module and convert the dash manifest
+
import cmaf from '@svta/common-media-library/cmaf-ham';
const manifest = cmaf.dashToHam(dashManifest);
+
+
+Beta
Decode a CMSD dynamic string to an object.
-The CMSD string to decode.
-The decoded CMSD object.
-Beta
Decode a CMSD dynamic string to an object.
+The CMSD string to decode.
+The decoded CMSD object.
+Beta
Decode a CMSD Static dict string to an object.
-The CMSD string to decode.
-The decoded CMSD object.
-Beta
Decode a CMSD Static dict string to an object.
+The CMSD string to decode.
+The decoded CMSD object.
+Beta
Decode a structured field string into a structured field dictionary
-The structured field string to decode
-Optional
options: SfDecodeOptionsThe structured field dictionary
-Beta
Decode a structured field string into a structured field dictionary
+The structured field string to decode
+Optional
options: SfDecodeOptionsThe structured field dictionary
+Beta
Decode a structured field string into a structured field item
-The structured field string to decode
-Optional
options: SfDecodeOptionsThe structured field item
-Beta
Decode a structured field string into a structured field item
+The structured field string to decode
+Optional
options: SfDecodeOptionsThe structured field item
+Beta
Decode a structured field string into a structured field list
-The structured field string to decode
-Optional
options: SfDecodeOptionsThe structured field list
-Beta
Decode a structured field string into a structured field list
+The structured field string to decode
+Optional
options: SfDecodeOptionsThe structured field list
+Beta
Encode a CMCD object to a string.
-The CMCD object to encode.
-Options for encoding.
+Beta
Encode a CMCD object to a string.
+The CMCD object to encode.
+Options for encoding.
The encoded CMCD string.
-Beta
Encode a list of CMSD Dynamic objects.
-The list of SfItems
to encode.
Beta
Encode a list of CMSD Dynamic objects.
+The list of SfItems
to encode.
The encoded CMSD string.
-Beta
Encode a single CMSD Dynamic object.
-The server name
-The CMSD object to encode.
+Beta
Encode a single CMSD Dynamic object.
+The server name
+The CMSD object to encode.
The encoded CMSD string.
-Beta
Encode a CMSD Static object.
-The CMSD object to encode.
-Optional
options: CmsdEncodeOptionsEncoding options
+Beta
Encode a CMSD Static object.
+The CMSD object to encode.
+Optional
options: CmsdEncodeOptionsEncoding options
The encoded CMSD string.
-Beta
Encode an object into a structured field dictionary
-The structured field dictionary to encode
-Optional
options: SfEncodeOptionsEncoding options
+Beta
Encode an object into a structured field dictionary
+The structured field dictionary to encode
+Optional
options: SfEncodeOptionsEncoding options
The structured field string
-Beta
Encode a structured field item to a string
-The structured field item to encode
+Beta
Encode a structured field item to a string
+The structured field item to encode
The structured field string
-Beta
Encode a structured field value to a string with optional parameters.
-The structured field value to encode
-Optional
params: SfParametersThe structured field parameters
+Beta
Encode a structured field value to a string with optional parameters.
+The structured field value to encode
+Optional
params: SfParametersThe structured field parameters
The structured field string
-Beta
Encode a list into a structured field dictionary
-The structured field list to encode
-Optional
options: SfEncodeOptionsEncoding options
+Beta
Encode a list into a structured field dictionary
+The structured field list to encode
+Optional
options: SfEncodeOptionsEncoding options
The structured field string
-Beta
Extract CTA-608 data from a DataView
-The DataView to extract the data from
-The range of the CTA-608 data
+Beta
Find CTA-608 NAL units in a video stream
-The DataView to extract the data from
-The start position of the data
-The size of the data
+Beta
Returns an array of ID3 frames found in all the ID3 tags in the id3Data
-The ID3 data containing one or more ID3 tags
+Beta
Searches for the Elementary Stream timestamp found in the ID3 data chunk
-Block of data containing one or more ID3 tags
+Alpha
Get a list of Tracks contained on a Presentation
-Presentation object from HAM
-Optional
predicate: ((track) => boolean)Filtering function
-Track[]
-Alpha
Get a list of Tracks contained on a Presentation
+Presentation object from HAM
+Optional
predicate: ((track: Track) => boolean)Filtering function
+Track[]
+Alpha
Get a list of Tracks contained on a SelectionSet
-SelectionSet object from HAM
-Optional
predicate: ((track) => boolean)Filtering function
-Track[]
-Alpha
Get a list of Tracks contained on a SelectionSet
+SelectionSet object from HAM
+Optional
predicate: ((track: Track) => boolean)Filtering function
+Track[]
+Alpha
Get a list of Tracks contained on a SwitchingSet
-SwitchingSet object from HAM
-Optional
predicate: ((track) => boolean)Filtering function
-Track[]
-Alpha
Get a list of Tracks contained on a SwitchingSet
+SwitchingSet object from HAM
+Optional
predicate: ((track: Track) => boolean)Filtering function
+Track[]
+Alpha
Convert HAM object into Dash Manifest.
-List of presentations from ham
+Alpha
Convert HAM object into Dash Manifest.
+List of presentations from ham
Manifest object containing the Dash manifest as string
-Example on how to import the cmaf module and convert the ham presentations
+
import cmaf from '@svta/common-media-library/cmaf-ham';
const manifest = cmaf.hamToDash(presentations);
+
+
+Alpha
Convert ham object into a hls manifest.
-List of presentations from ham
+Alpha
Convert ham object into a hls manifest.
+List of presentations from ham
Manifest object containing the Hls manifest as string and its playlists
-Example on how to import the cmaf module and convert the ham presentations
+
import cmaf from '@svta/common-media-library/cmaf-ham';
const manifest = cmaf.hamToHls(presentations);
+
+
+Alpha
Convert hls manifest into a ham object.
-String of the Main manifest
-Ancillary Manifests . Must be in order, first audio, subtitle and video
+Alpha
Convert hls manifest into a ham object.
+String of the Main manifest
+Ancillary Manifests . Must be in order, first audio, subtitle and video
List of presentations from ham
-Example on how to import the cmaf module and convert the hls manifest
and
+
import cmaf from '@svta/common-media-library/cmaf-ham';
const manifest = cmaf.hlsToHam(hlsManifest);
+
+
+Beta
This implements the rounding procedure described in step 2 of the "Serializing a Decimal" specification. -This rounding style is known as "even rounding", "banker's rounding", or "commercial rounding".
-The value to round
-The number of decimal places to round to
+Beta
This implements the rounding procedure described in step 2 of the "Serializing a Decimal" specification. +This rounding style is known as "even rounding", "banker's rounding", or "commercial rounding".
+The value to round
+The number of decimal places to round to
The rounded value
-Beta
Convert a CMCD data object to request headers
-The CMCD data object to convert.
-Options for encoding the CMCD object.
+Beta
Convert a CMCD data object to request headers
+The CMCD data object to convert.
+Options for encoding the CMCD object.
The CMCD header shards.
-Beta
Convert a CMCD data object to JSON.
-The CMCD object to convert.
-Optional
options: CmcdEncodeOptionsOptions for encoding the CMCD object.
+Beta
Convert a CMCD data object to JSON.
+The CMCD object to convert.
+Optional
options: CmcdEncodeOptionsOptions for encoding the CMCD object.
The CMCD JSON.
-Beta
Convert a CMCD data object to a query arg.
-The CMCD object to convert.
-Options for encoding the CMCD object.
+Beta
Convert a CMCD data object to a query arg.
+The CMCD object to convert.
+Options for encoding the CMCD object.
The CMCD query arg.
-Beta
Constructs a relative path from a URL.
-The destination URL
-Alpha
Validate a presentation. +
Alpha
Validate a presentation. It validates in cascade, calling each child validation method.
Validations:
Presentation from cmaf ham model
+Presentation from cmaf ham model
Validation
-import cmaf, { Presentation } from '@svta/common-media-library/cmaf-ham';
...
// const presentation: Presentation = ...;
const validation = cmaf.validatePresentation(presentation);
-
+Alpha
Validate a segment.
+Alpha
Validate a segment.
Validations:
Segment from cmaf ham model
-Optional
trackId: stringOptional: parent track id
-Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
+Segment from cmaf ham model
+Optional
trackId: stringOptional: parent track id
+Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
Validation
-Alpha
Validate a list of segments.
-List of Segment from cmaf ham model
-Optional
trackId: stringOptional: parent track id
-Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
+Alpha
Validate a list of segments.
+List of Segment from cmaf ham model
+Optional
trackId: stringOptional: parent track id
+Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
Validation
-import cmaf, { Segment } from '@svta/common-media-library/cmaf-ham';
...
// const segments: Segment[] = ...;
const validation = cmaf.validateSegments(segments);
-
+Alpha
Validate a selection set. +
Alpha
Validate a selection set. It validates in cascade, calling each child validation method.
Validations:
SelectionSet from cmaf ham model
-Optional
presentationId: stringOptional: parent presentation id
-Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
+SelectionSet from cmaf ham model
+Optional
presentationId: stringOptional: parent presentation id
+Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
Validation
-import cmaf, { SelectionSet } from '@svta/common-media-library/cmaf-ham';
...
// const selectionSet: SelectionSet = ...;
const validation = cmaf.validateSelectionSet(selectionSet);
-
+Alpha
Validate a list of selection set. +
Alpha
Validate a list of selection set. It validates in cascade, calling each child validation method.
-List of SelectionSet from cmaf ham model
-Optional
presentationId: stringOptional: parent presentation id
-Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
+List of SelectionSet from cmaf ham model
+Optional
presentationId: stringOptional: parent presentation id
+Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
Validation
-import cmaf, { SelectionSet } from '@svta/common-media-library/cmaf-ham';
...
// const selectionSets: SelectionSet[] = ...;
const validation = cmaf.validateSelectionSets(selectionSets);
-
+Alpha
Validate a switching set. +
Alpha
Validate a switching set. It validates in cascade, calling each child validation method.
Validations:
SwitchingSet from cmaf ham model
-Optional
selectionSetId: stringOptional: parent selection set id
-Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
+SwitchingSet from cmaf ham model
+Optional
selectionSetId: stringOptional: parent selection set id
+Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
Validation
-import cmaf, { SwitchingSet } from '@svta/common-media-library/cmaf-ham';
...
// const switchingSet: SwitchingSet = ...;
const validation = cmaf.validateSwitchingSet(switchingSet);
-
+Alpha
Validate a list of switching set. +
Alpha
Validate a list of switching set. It validates in cascade, calling each child validation method.
-List of SwitchingSets from cmaf ham model
-Optional
selectionSetId: stringOptional: parent selection set id
-Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
+List of SwitchingSets from cmaf ham model
+Optional
selectionSetId: stringOptional: parent selection set id
+Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
Validation
-import cmaf, { SwitchingSet } from '@svta/common-media-library/cmaf-ham';
...
// const switchingSets: SwitchingSet[] = ...;
const validation = cmaf.validateSwitchingSets(switchingSets);
-
+Alpha
Validate a track. +
Alpha
Validate a track. It validates in cascade, calling each child validation method.
Validations:
Track from cmaf ham model
-Optional
switchingSetId: stringOptional: parent switching set id
-Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
+Track from cmaf ham model
+Optional
switchingSetId: stringOptional: parent switching set id
+Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
Validation
-import cmaf, { Track } from '@svta/common-media-library/cmaf-ham';
...
// const track: Track = ...;
const validation = cmaf.validateTrack(track);
-
+Alpha
Validate a list of tracks. +
Alpha
Validate a list of tracks. It validates in cascade, calling each child validation method.
-List of Track from cmaf ham model
-Optional
switchingSetId: stringOptional: parent switching set id
-Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
+List of Track from cmaf ham model
+Optional
switchingSetId: stringOptional: parent switching set id
+Optional
prevValidation: ValidationOptional: validation object from parent previous validate method call
Validation
-import cmaf, { Track } from '@svta/common-media-library/cmaf-ham';
...
// const tracks: Track[] = ...;
const validation = cmaf.validateTracks(tracks);
-
+A common library for media playback in JavaScript
-Looking at open source players like hls.js, dash.js, and shaka-player there are common pieces of functionality that have been implemented independently across the libraries. This is particularly true when looking at standards based features, like ID3 parsing, 608 parsing and CMCD. Since the functionality is shared in spirit but not implementation, they can fall out of sync where certain bugs are fixed in one player but not the others. The goal of this library is to create a single place where these utilities can be maintained and distributed.
-This project is a mono-repo with the following workspaces: lib
, docs
. The lib
package contains the compiled code for the library which is published to npm. The docs
package contains the documentation for the library and is published to GitHub pages.
npm install @svta/common-media-library
-
-Too ensure the smallest bundle sizes possible, it is best practice to import all members and type definitions +
A common library for media playback in JavaScript
+Looking at open source players like hls.js, dash.js, and shaka-player there are common pieces of functionality that have been implemented independently across the libraries. This is particularly true when looking at standards based features, like ID3 parsing, 608 parsing and CMCD. Since the functionality is shared in spirit but not implementation, they can fall out of sync where certain bugs are fixed in one player but not the others. The goal of this library is to create a single place where these utilities can be maintained and distributed.
+This project is a mono-repo with the following workspaces: lib
, docs
. The lib
package contains the compiled code for the library which is published to npm. The docs
package contains the documentation for the library and is published to GitHub pages.
npm install @svta/common-media-library
+
+
+Too ensure the smallest bundle sizes possible, it is best practice to import all members and type definitions individually from the library.
-import { appendCmcdQuery } from '@svta/common-media-library/cmcd/appendCmcdQuery';
import { CmcdObjectType } from '@svta/common-media-library/cmcd/CmcdObjectType';
const cmcd = {
sid: '4f2867f2-b0fd-4db7-a3e0-cea7dff44cfb',
cid: 'cc002fc3-d9e1-418d-9a5f-3d0eac601882',
d: 324.69,
ot: CmcdObjectType.MANIFEST,
['com.example-hello']: 'world',
};
const cmcdUrl = appendCmcdQuery('https://example.com/playlist.m3u8', cmcd);
console.log(cmcdUrl);
// https://example.com/playlist.m3u8?CMCD=cid%3D%22cc002fc3-d9e1-418d-9a5f-3d0eac601882%22%2Ccom.example-hello%3D%22world%22%2Cd%3D325%2Cot%3Dm%2Csid%3D%224f2867f2-b0fd-4db7-a3e0-cea7dff44cfb%22
-
-If bundle size isn't a concern, all members and type definitions can also be imported from the root of the library, or from the feature namespace.
-import { appendCmcdQuery, CmcdObjectType } from '@svta/common-media-library';
-
-import { appendCmcdQuery, CmcdObjectType } from '@svta/common-media-library/cmcd';
-
-API docs can be found here.
-import { appendCmcdQuery } from '@svta/common-media-library/cmcd/appendCmcdQuery';
import { CmcdObjectType } from '@svta/common-media-library/cmcd/CmcdObjectType';
const cmcd = {
sid: '4f2867f2-b0fd-4db7-a3e0-cea7dff44cfb',
cid: 'cc002fc3-d9e1-418d-9a5f-3d0eac601882',
d: 324.69,
ot: CmcdObjectType.MANIFEST,
['com.example-hello']: 'world',
};
const cmcdUrl = appendCmcdQuery('https://example.com/playlist.m3u8', cmcd);
console.log(cmcdUrl);
// https://example.com/playlist.m3u8?CMCD=cid%3D%22cc002fc3-d9e1-418d-9a5f-3d0eac601882%22%2Ccom.example-hello%3D%22world%22%2Cd%3D325%2Cot%3Dm%2Csid%3D%224f2867f2-b0fd-4db7-a3e0-cea7dff44cfb%22
+
+
+If bundle size isn't a concern, all members and type definitions can also be imported from the root of the library, or from the feature namespace.
+import { appendCmcdQuery, CmcdObjectType } from '@svta/common-media-library';
+
+
+import { appendCmcdQuery, CmcdObjectType } from '@svta/common-media-library/cmcd';
+
+
+API docs can be found here.
+This project builds upon the work of the open source community. Special thanks to the maintainers of hls.js, dash.js, shaka-player, and structured-field-values as well as organizations like the Streaming Video Technology Alliance, DASH Industry Forum, and the CTA WAVE Project.
+Beta
Common Media Client Data (CMCD) is a standardized set of HTTP request header fields and query string parameters.
-Custom key names may be used, but they MUST carry a hyphenated prefix to ensure that there will not be a namespace collision -with future revisions to this specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
-Optional
blBuffer length
-The buffer length associated with the media object being requested. This value MUST be rounded to the nearest 100 ms. This key SHOULD only be -sent with an object type of ‘a’, ‘v’ or ‘av’.
-Integer milliseconds
-Optional
brEncoded bitrate
-The encoded bitrate of the audio or video object being requested. This may not be known precisely by the player; however, -it MAY be estimated based upon playlist/manifest declarations. If the playlist declares both peak and average bitrate values, -the peak value should be transmitted.
-Integer kbps
-Optional
bsBuffer starvation
-Key is included without a value if the buffer was starved at some point between the prior request and this object request, -resulting in the player being in a rebuffering state and the video or audio playback being stalled. This key MUST NOT be -sent if the buffer was not starved since the prior request.
-If the object type ot
key is sent along with this key, then the bs
key refers to the buffer associated with the particular
-object type. If no object type is communicated, then the buffer state applies to the current session.
Boolean
-Optional
cidContent ID
-A unique string identifying the current content. Maximum length is 64 characters. This value is consistent across multiple different -sessions and devices and is defined and updated at the discretion of the service provider.
-String
-Optional
dObject duration
-The playback duration in milliseconds of the object being requested. If a partial segment is being requested, then this value -MUST indicate the playback duration of that part and not that of its parent segment. This value can be an approximation of the -estimated duration if the explicit value is not known.
-Integer milliseconds
-Optional
dlDeadline
-Deadline from the request time until the first sample of this Segment/Object needs to be available in order to not create a buffer underrun or -any other playback problems. This value MUST be rounded to the nearest 100ms. For a playback rate of 1, this may be equivalent to the player’s -remaining buffer length.
-Integer milliseconds
-Optional
mtpMeasured mtp CMCD throughput
-The throughput between client and server, as measured by the client and MUST be rounded to the nearest 100 kbps. This value, however derived, -SHOULD be the value that the client is using to make its next Adaptive Bitrate switching decision. If the client is connected to multiple -servers concurrently, it must take care to report only the throughput measured against the receiving server. If the client has multiple concurrent -connections to the server, then the intent is that this value communicates the aggregate throughput the client sees across all those connections.
-Integer kbps
-Optional
norNext object request
-Relative path of the next object to be requested. This can be used to trigger pre-fetching by the CDN. This MUST be a path relative to the current -request. This string MUST be URLEncoded. The client SHOULD NOT depend upon any pre-fetch action being taken - it is merely a request for such a -pre-fetch to take place.
-String
-Optional
nrrNext range request
-If the next request will be a partial object request, then this string denotes the byte range to be requested. If the ‘nor’ field is not set, then the -object is assumed to match the object currently being requested. The client SHOULD NOT depend upon any pre-fetch action being taken – it is merely a -request for such a pre-fetch to take place. Formatting is similar to the HTTP Range header, except that the unit MUST be ‘byte’, the ‘Range:’ prefix is -NOT required and specifying multiple ranges is NOT allowed. Valid combinations are:
-"\<range-start\>-"
"\<range-start\>-\<range-end\>"
"-\<suffix-length\>"
String
-Optional
otObject type
-The media type of the current object being requested:
-m
= text file, such as a manifest or playlista
= audio onlyv
= video onlyav
= muxed audio and videoi
= init segmentc
= caption or subtitlett
= ISOBMFF timed text trackk
= cryptographic key, license or certificate.o
= otherIf the object type being requested is unknown, then this key MUST NOT be used.
-Optional
prPlayback rate
-1
if real-time, 2
if double speed, 0
if not playing. SHOULD only be sent if not equal to 1
.
Decimal
-Optional
rtpRequested maximum throughput
-The requested maximum throughput that the client considers sufficient for delivery of the asset. Values MUST be rounded to the -nearest 100kbps. For example, a client would indicate that the current segment, encoded at 2Mbps, is to be delivered at no more -than 10Mbps, by using rtp=10000.
-Note: This can benefit clients by preventing buffer saturation through over-delivery and can also deliver a community benefit -through fair-share delivery. The concept is that each client receives the throughput necessary for great performance, but no more. -The CDN may not support the rtp feature.
-Integer kbps
-Optional
sfStreaming format
-The streaming format that defines the current request.
-d
= MPEG DASHh
= HTTP Live Streaming (HLS)s
= Smooth Streamingo
= otherIf the streaming format being requested is unknown, then this key MUST NOT be used.
-Optional
sidSession ID
-A GUID identifying the current playback session. A playback session typically ties together segments belonging to a single media asset. -Maximum length is 64 characters. It is RECOMMENDED to conform to the UUID specification.
-String
-Optional
stStream type
-v
= all segments are available – e.g., VODl
= segments become available over time – e.g., LIVEOptional
suStartup
-Key is included without a value if the object is needed urgently due to startup, seeking or recovery after a buffer-empty event. The media SHOULD not be -rendering when this request is made. This key MUST not be sent if it is FALSE.
-Boolean
-Optional
tbTop bitrate
-The highest bitrate rendition in the manifest or playlist that the client is allowed to play, given current codec, licensing and -sizing constraints.
-Integer Kbps
-Optional
vCMCD version
-The version of this specification used for interpreting the defined key names and values. If this key is omitted, the client and server MUST -interpret the values as being defined by version 1. Client SHOULD omit this field if the version is 1.
-Integer
-Beta
Options for encoding CMCD values.
-Optional
baseThe base URL to use for relative URLs.
-Optional
customA map of CMCD header fields to custom CMCD keys.
-Optional
filterA filter function for CMCD keys.
-A filter function for CMCD keys.
-The CMCD key to filter.
-true
if the key should be included, false
otherwise.
The CMCD key to filter.
-true
if the key should be included, false
otherwise.
Optional
formattersA map of CMCD keys to custom formatters.
-Beta
Common Media Server Data (CMSD) dynamic response header field parameters.
-Custom key names may be used, but they MUST carry a hyphenated prefix to ensure that there will not be a namespace collision -with future revisions to this specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
-Optional
duDuress
-Key is included without a value if the server is under duress, due to cpu, memory, disk IO, network IO or other reasons. The -thresholds for signaling duress are left to the discretion of the server operator. The intent is that the client will use this -signal to move away to an alternate server if possible. This key MUST NOT be sent if it is false.
-Boolean
-Optional
etpEstimated Throughput
-The throughput between the server and the client over the currently negotiated transport as estimated by the server at the start -of the response. The value is expressed in units of kilobits per second and rounded to the nearest integer. The time window for -this estimate is expected to be the duration of the current response at most. The throughput may vary during the response and the -client SHOULD use this data as an adjunct to its own throughput estimates. As an informative example, this estimate could be -derived in this way:
-etp = 8 * send_window / (rtt)
-where send_window = min (cwnd * mss, rwnd) with Congestion Window (cwnd) measured in packets, Maximum Segment Size (mss) in bytes, -Receiver Window (rwnd) in bytes and rtt in milliseconds. Note that multiple client processes adjacent to the media player may pool -their requests into the same connection to the server. In this case the server estimate of throughput will be against the entirety -of the connection, not all of which will be accessible to the media player.
-Integer Kbps
-Optional
mbMax suggested bitrate
-The maximum bitrate value that the player SHOULD play in its Adaptive Bit Rate (ABR) ladder. If the player is playing a bitrate higher -than this value, it SHOULD immediately switch to a bitrate lower than or equal to this value.
-Integer Kbps
-Optional
rdResponse delay
-The time elapsed between the receipt of the request and when the first byte of the body becomes available to send to the client. The -intention is for receivers to use this value to more accurately calculate the throughput of the connection [MHV22].
-Integer milliseconds
-Optional
rttRound Trip Time
-Estimated round trip time between client and server. This estimate may be derived from the transport handshake. For subsequent requests -over the same connection, the value can be refined to be an exponentially weighted moving average of prior instantaneous values. An -informative example algorithm for this averaging is provided by [18].
-Integer Kbps
-Beta
Common Media Server Data (CMSD) static response header fields.
-Custom key names may be used, but they MUST carry a hyphenated prefix to ensure that there will not be a namespace collision -with future revisions to this specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
-Optional
atAvailability time
-The wallclock time at which the first byte of this object became available at the origin for successful request. The time is -expressed as integer milliseconds since the Unix Epoch, i.e., the number of milliseconds that have elapsed since January 1, -1970 (midnight UTC/GMT), not counting leap seconds (in ISO 8601: 1970- 01-01T00:00:000Z).
-Integer Milliseconds
-Optional
brEncoded bitrate
-The encoded bitrate of the audio or video object being requested. If the instantaneous bitrate varies over the duration of the -object, the average value over the duration of the object SHOULD be communicated. This key should only accompany objects that -have an implicit bitrate.
-Integer kbps
-Optional
dObject duration
-The playback duration in milliseconds of the object being requested. If a partial segment is being requested, then this value -MUST indicate the playback duration of that part and not that of its parent segment. This value can be an approximation of the -estimated duration if the explicit value is not known.
-Integer milliseconds
-Optional
htHeld time
-The number of milliseconds that this response was held back by an origin before returning. This is applicable to blocking responses -under LL-HLS [HLSbis].
-Integer Milliseconds
-Optional
nIntermediary identifier
-An identifier for the processing server. The value SHOULD identify both the organization and the intermediary that is writing the key. -Identifiers SHOULD be as concise as possible to reduce log file and transferred size, while still remaining unique.
-String
-Optional
norNext object request
-Relative path of the next object to be requested. This can be used to trigger pre-fetching by the CDN. This MUST be a path relative to the current -request. This string MUST be URLEncoded. The client SHOULD NOT depend upon any pre-fetch action being taken - it is merely a request for such a -pre-fetch to take place.
-String
-Optional
nrrNext range request
-If the next request will be a partial object request, then this string denotes the byte range to be requested. If the ‘nor’ field is not set, then the -object is assumed to match the object currently being requested. The client SHOULD NOT depend upon any pre-fetch action being taken – it is merely a -request for such a pre-fetch to take place. Formatting is similar to the HTTP Range header, except that the unit MUST be ‘byte’, the ‘Range:’ prefix is -NOT required and specifying multiple ranges is NOT allowed. Valid combinations are:
-"\<range-start\>-"
"\<range-start\>-\<range-end\>"
"-\<suffix-length\>"
String
-Optional
otObject type
-The media type of the current object being requested:
-m
= text file, such as a manifest or playlista
= audio onlyv
= video onlyav
= muxed audio and videoi
= init segmentc
= caption or subtitlett
= ISOBMFF timed text trackk
= cryptographic key, license or certificate.o
= otherIf the object type being requested is unknown, then this key MUST NOT be used.
-Token
-Optional
sfStreaming format
-The streaming format that defines the current request.
-d
= MPEG DASHh
= HTTP Live Streaming (HLS)s
= Smooth Streamingo
= otherIf the streaming format being requested is unknown, then this key MUST NOT be used.
-Token
-Optional
stStream type
-v
= all segments are available – e.g., VODl
= segments become available over time – e.g., LIVEToken
-Optional
suStartup
-Key is included without a value if the object is needed urgently due to startup, seeking or recovery after a buffer-empty event. The media SHOULD not be -rendering when this request is made. This key MUST not be sent if it is FALSE.
-Boolean
-Optional
vCMSD version
-The version of this specification used for interpreting the defined key names and values. If this key is omitted, the client and server MUST -interpret the values as being defined by version 1. Client SHOULD omit this field if the version is 1.
-Integer
-Beta
Common request API.
-Optional
cmcdThe Common Media Client Data (CMCD) that comprises media and request related information.
-Optional
credentialsIndicates whether the user agent should send or receive cookies from the other domain in the case of cross-origin requests.
-Optional
customAny custom data.
-Optional
headersThe headers object associated with the request.
-The request's method (GET, POST, etc).
-Optional
modeThe mode of the request (e.g., cors, no-cors, same-origin, etc).
-Optional
responseThe response type with which the response from the server shall be compatible.
-Optional
timeoutThe number of milliseconds the request can take before automatically being terminated. -If undefined or value is 0 then there is no timeout.
-The URL of the request.
-Beta
Common response API.
-Optional
dataThe response data.
-Optional
headersThe response headers.
-Optional
redirectedIndicates whether or not the request was redirected.
-The origin request.
-The network timing of the request/response.
-Optional
statusThe HTTP status code of the response.
-Optional
statusThe status message corresponding to the HTTP status code.
-Optional
typeThe type of the response.
-Optional
urlThe final URL obtained after any redirects.
-Beta
A handler for CTA-608 cues.
-Optional
dispatchOptional
resetBeta
Represents a single PAC (Preamble Address Code) data.
-Beta
Resource Timing.
-Optional
durationOptional
responseOptional
responseThe Common Media Libray
-The Common Media Libray
+Alpha
CMAF-HAM Aligned Switching Set type
-Alpha
CMAF-HAM Aligned Switching Set type
+Alpha
CMAF-HAM Audio Track type
+Alpha
CMAF-HAM Audio Track type
sampleRate - The sample rate of the audio track. It defines the number of samples per second in the audio. - For example, if the sample rate is 44100, it means there are 44100 samples in each second of the audio.
+For example, if the sample rate is 44100, it means there are 44100 samples in each second of the audio.channels - The number of channels in the audio track. It defines the number of separate audio signals that are encoded in the audio. - For example, if the channels is 2, it means the audio is stereo with a separate signal for left and right.
-Beta
The different caption modes that can be used.
-Beta
The different caption modes that can be used.
+Beta
Common Media Client Data (CMCD) is a standardized set of HTTP request header fields and query string parameters.
+Custom key names may be used, but they MUST carry a hyphenated prefix to ensure that there will not be a namespace collision +with future revisions to this specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
+Optional
Beta
bl?: numberBuffer length
+The buffer length associated with the media object being requested. This value MUST be rounded to the nearest 100 ms. This key SHOULD only be +sent with an object type of ‘a’, ‘v’ or ‘av’.
+Integer milliseconds
+Optional
Beta
br?: numberEncoded bitrate
+The encoded bitrate of the audio or video object being requested. This may not be known precisely by the player; however, +it MAY be estimated based upon playlist/manifest declarations. If the playlist declares both peak and average bitrate values, +the peak value should be transmitted.
+Integer kbps
+Optional
Beta
bs?: booleanBuffer starvation
+Key is included without a value if the buffer was starved at some point between the prior request and this object request, +resulting in the player being in a rebuffering state and the video or audio playback being stalled. This key MUST NOT be +sent if the buffer was not starved since the prior request.
+If the object type ot
key is sent along with this key, then the bs
key refers to the buffer associated with the particular
+object type. If no object type is communicated, then the buffer state applies to the current session.
Boolean
+Optional
Beta
cid?: stringContent ID
+A unique string identifying the current content. Maximum length is 64 characters. This value is consistent across multiple different +sessions and devices and is defined and updated at the discretion of the service provider.
+String
+Optional
Beta
d?: numberObject duration
+The playback duration in milliseconds of the object being requested. If a partial segment is being requested, then this value +MUST indicate the playback duration of that part and not that of its parent segment. This value can be an approximation of the +estimated duration if the explicit value is not known.
+Integer milliseconds
+Optional
Beta
dl?: numberDeadline
+Deadline from the request time until the first sample of this Segment/Object needs to be available in order to not create a buffer underrun or +any other playback problems. This value MUST be rounded to the nearest 100ms. For a playback rate of 1, this may be equivalent to the player’s +remaining buffer length.
+Integer milliseconds
+Optional
Beta
mtp?: numberMeasured mtp CMCD throughput
+The throughput between client and server, as measured by the client and MUST be rounded to the nearest 100 kbps. This value, however derived, +SHOULD be the value that the client is using to make its next Adaptive Bitrate switching decision. If the client is connected to multiple +servers concurrently, it must take care to report only the throughput measured against the receiving server. If the client has multiple concurrent +connections to the server, then the intent is that this value communicates the aggregate throughput the client sees across all those connections.
+Integer kbps
+Optional
Beta
nor?: stringNext object request
+Relative path of the next object to be requested. This can be used to trigger pre-fetching by the CDN. This MUST be a path relative to the current +request. This string MUST be URLEncoded. The client SHOULD NOT depend upon any pre-fetch action being taken - it is merely a request for such a +pre-fetch to take place.
+String
+Optional
Beta
nrr?: stringNext range request
+If the next request will be a partial object request, then this string denotes the byte range to be requested. If the ‘nor’ field is not set, then the +object is assumed to match the object currently being requested. The client SHOULD NOT depend upon any pre-fetch action being taken – it is merely a +request for such a pre-fetch to take place. Formatting is similar to the HTTP Range header, except that the unit MUST be ‘byte’, the ‘Range:’ prefix is +NOT required and specifying multiple ranges is NOT allowed. Valid combinations are:
+"\<range-start\>-"
"\<range-start\>-\<range-end\>"
"-\<suffix-length\>"
String
+Optional
Beta
ot?: CmcdObjectTypeObject type
+The media type of the current object being requested:
+m
= text file, such as a manifest or playlista
= audio onlyv
= video onlyav
= muxed audio and videoi
= init segmentc
= caption or subtitlett
= ISOBMFF timed text trackk
= cryptographic key, license or certificate.o
= otherIf the object type being requested is unknown, then this key MUST NOT be used.
+Optional
Beta
pr?: numberPlayback rate
+1
if real-time, 2
if double speed, 0
if not playing. SHOULD only be sent if not equal to 1
.
Decimal
+Optional
Beta
rtp?: numberRequested maximum throughput
+The requested maximum throughput that the client considers sufficient for delivery of the asset. Values MUST be rounded to the +nearest 100kbps. For example, a client would indicate that the current segment, encoded at 2Mbps, is to be delivered at no more +than 10Mbps, by using rtp=10000.
+Note: This can benefit clients by preventing buffer saturation through over-delivery and can also deliver a community benefit +through fair-share delivery. The concept is that each client receives the throughput necessary for great performance, but no more. +The CDN may not support the rtp feature.
+Integer kbps
+Optional
Beta
sf?: CmcdStreamingFormatStreaming format
+The streaming format that defines the current request.
+d
= MPEG DASHh
= HTTP Live Streaming (HLS)s
= Smooth Streamingo
= otherIf the streaming format being requested is unknown, then this key MUST NOT be used.
+Optional
Beta
sid?: stringSession ID
+A GUID identifying the current playback session. A playback session typically ties together segments belonging to a single media asset. +Maximum length is 64 characters. It is RECOMMENDED to conform to the UUID specification.
+String
+Optional
Beta
st?: CmcdStreamTypeStream type
+v
= all segments are available – e.g., VODl
= segments become available over time – e.g., LIVEOptional
Beta
su?: booleanStartup
+Key is included without a value if the object is needed urgently due to startup, seeking or recovery after a buffer-empty event. The media SHOULD not be +rendering when this request is made. This key MUST not be sent if it is FALSE.
+Boolean
+Optional
Beta
tb?: numberTop bitrate
+The highest bitrate rendition in the manifest or playlist that the client is allowed to play, given current codec, licensing and +sizing constraints.
+Integer Kbps
+Optional
Beta
v?: numberCMCD version
+The version of this specification used for interpreting the defined key names and values. If this key is omitted, the client and server MUST +interpret the values as being defined by version 1. Client SHOULD omit this field if the version is 1.
+Integer
+Beta
A custom key for CMCD. Custom keys MUST carry a hyphenated prefix +
Beta
A custom key for CMCD. Custom keys MUST carry a hyphenated prefix to ensure that there will not be a namespace collision with future revisions to this specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
-Beta
Options for encoding CMCD values.
+Optional
Beta
baseThe base URL to use for relative URLs.
+Optional
Beta
customA map of CMCD header fields to custom CMCD keys.
+Optional
filter?: ((key: CmcdKey) => boolean)A filter function for CMCD keys.
+The CMCD key to filter.
+true
if the key should be included, false
otherwise.
Optional
Beta
formatters?: Record<CmcdKey, CmcdFormatter>A map of CMCD keys to custom formatters.
+Beta
A formatter for CMCD values.
-The value to format.
-Optional
options: CmcdEncodeOptionsThe formatted value.
-A formatter for CMCD values.
+The value to format.
+Optional
options: CmcdEncodeOptionsThe formatted value.
+Beta
A map of CMCD header fields to CMCD keys.
-Beta
A map of CMCD header fields to CMCD keys.
+Beta
CMCD Value
-Beta
CMCD Value
+Beta
A custom key for CMSD. Custom keys MUST carry a hyphenated prefix +
Beta
A custom key for CMSD. Custom keys MUST carry a hyphenated prefix to ensure that there will not be a namespace collision with future revisions to this specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
-Beta
Common Media Server Data (CMSD) dynamic response header fields.
+Beta
params: CmsdDynamicParamsThe CMSD dynamic parameters.
+Beta
value: stringThe server name.
+Beta
Common Media Server Data (CMSD) dynamic response header field parameters.
+Custom key names may be used, but they MUST carry a hyphenated prefix to ensure that there will not be a namespace collision +with future revisions to this specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
+Optional
Beta
du?: booleanDuress
+Key is included without a value if the server is under duress, due to cpu, memory, disk IO, network IO or other reasons. The +thresholds for signaling duress are left to the discretion of the server operator. The intent is that the client will use this +signal to move away to an alternate server if possible. This key MUST NOT be sent if it is false.
+Boolean
+Optional
Beta
etp?: numberEstimated Throughput
+The throughput between the server and the client over the currently negotiated transport as estimated by the server at the start +of the response. The value is expressed in units of kilobits per second and rounded to the nearest integer. The time window for +this estimate is expected to be the duration of the current response at most. The throughput may vary during the response and the +client SHOULD use this data as an adjunct to its own throughput estimates. As an informative example, this estimate could be +derived in this way:
+etp = 8 * send_window / (rtt)
+where send_window = min (cwnd * mss, rwnd) with Congestion Window (cwnd) measured in packets, Maximum Segment Size (mss) in bytes, +Receiver Window (rwnd) in bytes and rtt in milliseconds. Note that multiple client processes adjacent to the media player may pool +their requests into the same connection to the server. In this case the server estimate of throughput will be against the entirety +of the connection, not all of which will be accessible to the media player.
+Integer Kbps
+Optional
Beta
mb?: numberMax suggested bitrate
+The maximum bitrate value that the player SHOULD play in its Adaptive Bit Rate (ABR) ladder. If the player is playing a bitrate higher +than this value, it SHOULD immediately switch to a bitrate lower than or equal to this value.
+Integer Kbps
+Optional
Beta
rd?: numberResponse delay
+The time elapsed between the receipt of the request and when the first byte of the body becomes available to send to the client. The +intention is for receivers to use this value to more accurately calculate the throughput of the connection [MHV22].
+Integer milliseconds
+Optional
Beta
rtt?: numberRound Trip Time
+Estimated round trip time between client and server. This estimate may be derived from the transport handshake. For subsequent requests +over the same connection, the value can be refined to be an exponentially weighted moving average of prior instantaneous values. An +informative example algorithm for this averaging is provided by [18].
+Integer Kbps
+Beta
Common Media Server Data (CMSD) static response header fields.
+Custom key names may be used, but they MUST carry a hyphenated prefix to ensure that there will not be a namespace collision +with future revisions to this specification. Clients SHOULD use a reverse-DNS syntax when defining their own prefix.
+Optional
Beta
at?: numberAvailability time
+The wallclock time at which the first byte of this object became available at the origin for successful request. The time is +expressed as integer milliseconds since the Unix Epoch, i.e., the number of milliseconds that have elapsed since January 1, +1970 (midnight UTC/GMT), not counting leap seconds (in ISO 8601: 1970- 01-01T00:00:000Z).
+Integer Milliseconds
+Optional
Beta
br?: numberEncoded bitrate
+The encoded bitrate of the audio or video object being requested. If the instantaneous bitrate varies over the duration of the +object, the average value over the duration of the object SHOULD be communicated. This key should only accompany objects that +have an implicit bitrate.
+Integer kbps
+Optional
Beta
d?: numberObject duration
+The playback duration in milliseconds of the object being requested. If a partial segment is being requested, then this value +MUST indicate the playback duration of that part and not that of its parent segment. This value can be an approximation of the +estimated duration if the explicit value is not known.
+Integer milliseconds
+Optional
Beta
ht?: numberHeld time
+The number of milliseconds that this response was held back by an origin before returning. This is applicable to blocking responses +under LL-HLS [HLSbis].
+Integer Milliseconds
+Optional
Beta
n?: stringIntermediary identifier
+An identifier for the processing server. The value SHOULD identify both the organization and the intermediary that is writing the key. +Identifiers SHOULD be as concise as possible to reduce log file and transferred size, while still remaining unique.
+String
+Optional
Beta
nor?: stringNext object request
+Relative path of the next object to be requested. This can be used to trigger pre-fetching by the CDN. This MUST be a path relative to the current +request. This string MUST be URLEncoded. The client SHOULD NOT depend upon any pre-fetch action being taken - it is merely a request for such a +pre-fetch to take place.
+String
+Optional
Beta
nrr?: stringNext range request
+If the next request will be a partial object request, then this string denotes the byte range to be requested. If the ‘nor’ field is not set, then the +object is assumed to match the object currently being requested. The client SHOULD NOT depend upon any pre-fetch action being taken – it is merely a +request for such a pre-fetch to take place. Formatting is similar to the HTTP Range header, except that the unit MUST be ‘byte’, the ‘Range:’ prefix is +NOT required and specifying multiple ranges is NOT allowed. Valid combinations are:
+"\<range-start\>-"
"\<range-start\>-\<range-end\>"
"-\<suffix-length\>"
String
+Optional
Beta
ot?: CmsdObjectTypeObject type
+The media type of the current object being requested:
+m
= text file, such as a manifest or playlista
= audio onlyv
= video onlyav
= muxed audio and videoi
= init segmentc
= caption or subtitlett
= ISOBMFF timed text trackk
= cryptographic key, license or certificate.o
= otherIf the object type being requested is unknown, then this key MUST NOT be used.
+Token
+Optional
Beta
sf?: CmsdStreamingFormatStreaming format
+The streaming format that defines the current request.
+d
= MPEG DASHh
= HTTP Live Streaming (HLS)s
= Smooth Streamingo
= otherIf the streaming format being requested is unknown, then this key MUST NOT be used.
+Token
+Optional
Beta
st?: CmsdStreamTypeStream type
+v
= all segments are available – e.g., VODl
= segments become available over time – e.g., LIVEToken
+Optional
Beta
su?: booleanStartup
+Key is included without a value if the object is needed urgently due to startup, seeking or recovery after a buffer-empty event. The media SHOULD not be +rendering when this request is made. This key MUST not be sent if it is FALSE.
+Boolean
+Optional
Beta
v?: numberCMSD version
+The version of this specification used for interpreting the defined key names and values. If this key is omitted, the client and server MUST +interpret the values as being defined by version 1. Client SHOULD omit this field if the version is 1.
+Integer
+Beta
CMSD Value
-Beta
CMSD Value
+Beta
Common request API.
+Optional
Beta
cmcd?: CmcdThe Common Media Client Data (CMCD) that comprises media and request related information.
+Optional
Beta
credentials?: RequestCredentialsIndicates whether the user agent should send or receive cookies from the other domain in the case of cross-origin requests.
+Optional
Beta
customAny custom data.
+Optional
Beta
headers?: Record<string, string>The headers object associated with the request.
+Beta
method: stringThe request's method (GET, POST, etc).
+Optional
Beta
mode?: RequestModeThe mode of the request (e.g., cors, no-cors, same-origin, etc).
+Optional
Beta
responseThe response type with which the response from the server shall be compatible.
+Optional
Beta
timeout?: numberThe number of milliseconds the request can take before automatically being terminated. +If undefined or value is 0 then there is no timeout.
+Beta
url: stringThe URL of the request.
+Beta
Common response API.
+Optional
Beta
data?: anyThe response data.
+Optional
Beta
headers?: Record<string, string>The response headers.
+Optional
Beta
redirected?: booleanIndicates whether or not the request was redirected.
+Beta
request: CommonMediaRequestThe origin request.
+Beta
resourceThe network timing of the request/response.
+Optional
Beta
status?: numberThe HTTP status code of the response.
+Optional
Beta
statusThe status message corresponding to the HTTP status code.
+Optional
Beta
type?: stringThe type of the response.
+Optional
Beta
url?: stringThe final URL obtained after any redirects.
+Beta
A handler for CTA-608 cues.
+Alpha
Json representation of the DASH Manifest
+Beta
Decoded ID3 frame.
+Beta
data: TThe data payload.
+Optional
Beta
info?: anyA text description of the frame if provided.
+Beta
key: stringThe four letter frame ID.
+Alpha
Video Frame Rate +
Alpha
Video Frame Rate Used to express the framerate as numerator and denominator.
frameRateNumerator - Numerator. frameRateDenominator - Denominator.
-Optional
frameAlpha
CMAF-HAM base HAM type
+Alpha
CMAF-HAM base HAM type
id - Identifier of the object
-Alpha
HLS manifest
+Alpha
Manifest object received as an input by the conversion to HAM object
-Optional
ancillaryOptional
fileOptional
metadata?: Map<string, string>Alpha
Manifest object received as an input by the conversion to HAM object
+Alpha
The format of the manifest.
-Alpha
The format of the manifest.
+Beta
Represents a single PAC (Preamble Address Code) data.
+Beta
PenStyles
-Beta
PenStyles
+Alpha
CMAF-HAM Presentation type
+Alpha
CMAF-HAM Presentation type
selectionSets - List of SelectionSets
-Beta
Request interceptor API.
-The request to be executed.
-A promise with updated request that is resolved when the interceptor has completed the process of the request.
-Request interceptor API.
+The request to be executed.
+A promise with updated request that is resolved when the interceptor has completed the process of the request.
+Beta
Resource Timing.
+Beta
Response interceptor API.
-The received response.
-A promise with updated response that is resolved when the interceptor has completed the process of the response.
-Response interceptor API.
+The received response.
+A promise with updated response that is resolved when the interceptor has completed the process of the response.
+Alpha
CMAF-HAM Segment type
-Optional
byteAlpha
CMAF-HAM Segment type
+Alpha
CMAF-HAM SelectionSet type
-Optional
alignedAlpha
CMAF-HAM SelectionSet type
+Beta
A type to represent structured field bare items.
-Beta
A type to represent structured field bare items.
+Beta
Options for decoding Structured Field values
-Optional
useUse JS Symbol to represent token values
-Beta
Options for decoding Structured Field values
+Optional
Beta
useUse JS Symbol to represent token values
+Beta
Options for encoding a structured field.
-Optional
whitespace?: booleanInclude whitespace in the output.
-Beta
Options for encoding a structured field.
+Optional
Beta
whitespace?: booleanInclude whitespace in the output.
+Beta
Structured Field Inner List
-Beta
Structured Field Inner List
+Beta
A member of a structured field.
-Beta
Structured Field Parameters
-Beta
Structured Field Parameters
+Beta
SupportedField
-Beta
SupportedField
+Alpha
CMAF-HAM Track type +
Alpha
CMAF-HAM Track type Used as a base for the audio, video and text tracks
type - The TrackType fileName - File name of the track. @@ -8,6 +8,6 @@ bandwidth - Bandwidth of the track. byteRange - Byte range of the track. segments - List of segments of the track.
-Alpha
CMAF-HAM TrackType type -This can be 'audio' or 'video' or 'text'
-Alpha
CMAF-HAM TrackType type +This can be 'audio' or 'video' or 'text'
+Alpha
CMAF-HAM Validation type
-Alpha
CMAF-HAM Validation type
+Alpha
CMAF-HAM Track type
+Alpha
CMAF-HAM Track type
width - Video width in pixels. height - Video height in pixels. frameRate - Video framerate in FrameRate type; par - Pixel Aspect Ratio of the video track as string. sar - Sample Aspect Ratio of the video track in string. scanType - The method used to display the video track.
-Const
Beta
CMCD headers
transmission mode.
Const
Beta
CMCD json
transmission mode.
Const
Beta
CMCD object header name.
+Const
Beta
CMCD parameter name.
-Const
Beta
CMCD parameter name.
+Const
Beta
CMCD query
transmission mode.
Const
Beta
CMCD request header name.
+Const
Beta
CMCD session header name.
+Const
Beta
CMCD status header name.
+Const
Beta
CMCD Version 1
-Const
Beta
CMCD Version 1
+Const
Beta
CMSD dynamic header name.
-Const
Beta
CMSD dynamic header name.
+Const
Beta
CMSD static header name.
-Const
Beta
CMSD static header name.
+Const
Beta
CMSD Version 1
-Const
Beta
CMSD Version 1
+Const
Beta
The default formatters for CMCD values.
-Const
Beta
The default formatters for CMCD values.
+
Keep a CTA-608 screen of 32x15 styled characters
-