Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


Trickplay Fields

FieldTypeDefaultUse
hashMarkBlendColor   
hashMarkPositions   
durationtimeDouble0Read-Only
The duration of the video being played, specified in seconds. This becomes valid when playback begins and may change if the video is dynamic content, such as a live event.
loopBooleanfalseIf set to true, the video or video playlist (if the contentIsPlaylist field is set to true to enable video playlists) will be restarted from the beginning after the end is reached.
Available since firmware version 7.2
position timeDouble0

Read-Only

Time of the current position in the stream. Either UTC time or elapsed since start of stream depending on content type

notificationIntervaltime0.5The interval between notifications to observers of the position field, specified as the number of seconds. If the value is 0, no notifications are delivered. This value may be read or modified at any time.
seektimeinvalid

Write-Only
Sets the current position in the video. The value is the number seconds from the beginning of the stream, specified as a double.

timedMetaDataassociative array{ }Read-Only
The most recent timed meta data that has been decoded from the video stream. Only meta data with a key that matches an entry in timedMetaDataSelectionKeys will be set into this field. The value of this field is an associative array which contains arbitrary keys and values, as found in the video stream.
timedMetaDataSelectionKeysarray of strings

[ ]

If the video stream contains timed meta data such as ID3 tags, any meta data with a key matching an entry in this array will be set into the timedMetaData field. If any entry in this array is "*", then all timed meta data will be selected.
streamInfoassociative array invalid

Read-Only
Information about the video stream that is currently playing or buffering.

Section
Column
width400px
KeyTypeValue
isUnderrunBooleanIf true, the stream was downloaded due to an underrun
isResumedBooleanIf true, playback was resumed after trickplay
measuredBItrateIntegerThe measured bitrate (bps) of the network when the stream was selected
streamBitrateIntegerThe bitrate of the stream
streamUrlURIThe URL of the stream


 Available since firmware version 7.2

completedStreamInfoassociative arrayinvalidRead-Only
Information about the video stream that most recently completed playing, due to an error, user action, or end of the stream. The associative array consists of the same keys as for the streaminfo field, with one additional key, isFullResult, a Boolean type that, if true indicates the stream played to completion, or if false, was interrupted by an error or user action. This field is set prior to the state field being changed, so state field observer callback functions can assume that the associative array values are valid when the state field changes.
Available since firmware version 7.2
timeToStartStreamingtimeDouble0

Read-Only
The time in milliseconds from playback being started until the video actually began playing. The minimum valid value is 1 millisecond, and this is only valid if the current value of the state field is playing. When the state field value is not playing, the value will be 0. This field is updated prior to the state field changing, so state field observer callback functions can assume this field is valid after the state field value changes to playing.
Available since firmware version 7.2

bufferingStatusassociative arrayinvalid

Read-Only
Contains information about stream buffering progress and status. This field is valid only while buffering is in progress, both at stream startup or when re-buffering is required. Observers will be notified when any element of the array changes, and also when buffering is complete and the field itself becomes invalid. The array contains the following name - value pairs.

Section
Column
width400px
ValueMeaning
percentagePercent buffering complete as an integer.
isUnderrunBoolean value indicating if a stream underrun occurred.
videoFormatstring""

Read-Only
Contains the format of the currently playing video stream.

Section
Column
ValueMeaning
""No stream playing
noneStream contains no playable video
unknownStream contains unknown video
hevcISO/IEC 23008-2, H.265, HEVC
hevc_bISO/IEC 23008-2 Annex-B, H.265, HEVC
mpeg1

ISO/IEC 11172-2, MPEG-1 part 2, H.261

mpeg2 

ISO/IEC 13818-2, MPEG-2 part 2, H.262

mpeg4_2 

ISO/IEC 14496-2, MPEG-4 part 2, H.263

mpeg4_10b 

ISO/IEC 14496-10, MPEG-4 part 10 Annex-B, H.264, vc-1

mpeg4_15 

ISO/IEC 14496-15, MPEG-4 part 15, H.264, vc-1

AVC
vc1 

vc-1

wmv 

Microsoft Windows Media Video

vp8 

VP8 codec

vp9 

VP9 codec
pauseBufferStart timeDouble0Read-Only
The beginning position of the video buffered when paused. This field is only valid for live video.
pauseBufferEnd timeDouble0Read-Only
The ending position of the video buffered when paused. This field is only valid for live video.
pauseBufferOverflow Boolean

false

Read-Only
Indicates that the video buffer was not able to save all video since being paused. This field is only valid for live video.
streamingSegment

associative array

{ }

Read-Only
Information about the video segment that is currently streaming. This is only meaningful for segmented video transports, such as DASH and HLS. The associative array has the following entries:

Section
Column
width400px
KeyTypeValue
segBitrateBpsintegerBitrate of the segment in bits per second
segSequenceintegerThe sequence number of the segment in the video
segStartTimetimeThe start time of the segment from the start of the video, specified in seconds
segUrlstringURL of the segment
downloadedSegmentassociative arrayinvalid
Read-Only
Information about the video segment that was just downloaded. This is only meaningful for segmented video transports, such as DASH and HLS. The associative array has the following entries:
Section
Column
width200px
KeyTypeValue
StatusintegerStatus of the download: 0 = success, nonzero = error
SequenceintegerStream segment sequence number
SegUrlstringStream segment URL (i.e., .ts file for HLS, stream fragment URL for smooth)
DownloadDurationintegerAmount of time spent downloading the segment, in milliseconds
SegSizeintegerSegment size, in bytes
SegTypeintegerType of data in the segment: 1=audio, 2=video, 3=captions, 0=mux
BitrateBPSintegerBitrate of the segment, in bits per second
manifestDataassociative array{ }

This function is available in firmware 7.7 or later.

"manifestData" detect the periods in a DASH manifest before they are played back. One major use case for this is to display ad markers in the trickplay progress bar.

The manifestData field has two elements:

  • "mpd" — roAssociativeArray of string values
  • "periods" — roArray of roAssociativeArrays of string values

The property minimumUpdatePeriod has also been added to control the .mpd element.

The “periods” element includes a Period key for each period in the manifest, with a value of attributes in the Period key. For example, a period might contain the following values: 
{ id="p24895847", start="PT1492010820S", duration="PT60S" }

Some examples of how to access the manifestData would include:

  1. Get a known attribute:
    video.manifestData.mpd.minimumUpdatePeriod

  2. Get a known attribute which has a semicolon in the name:
    video.manifestData.mpd["xmlns:ns1"]

  3. Get a known attribute from existing period:
    video.manifestData.period[0].id

  4. Get number of available periods:
    video.manifestData.periods.Count()

  5. Iterate through all available MPD attributes:
    for each item in video.manifestData.mpd.Items()
      print item.key, "=", item.value
    end for

...