VideoStream

VideoStream[video]

creates a new VideoStream object from video.

VideoStream[id]

is an object that represents a unique video stream.

Details and Options

  • VideoStream is a handle to a Video object to programmatically control playback.
  • VideoStream[video] returns a VideoStream object, without starting the playback. Use VideoPlay to start the playback.
  • The following options can be specified:
  • AudioOutputDeviceAutomaticaudio output device to use for playback
    ImageSizeAutomaticdisplay size of the video frames
    LoopingFalsewhether to loop the playback
    RasterSizeAutomaticdimensions of video frames
    SoundVolumeAutomaticsound volume
  • A list of available properties can be obtained using astream["Properties"].
  • It is possible to set values of properties with astream["prop"]=val.
  • Global properties:
  • "Duration"overall duration
    "ID"the stream ID
    "ImageSize"the size at which to display the video
    "Location"location of the linked video file
    "Looping"whether to loop the playback
    "Position"position of the playback given as a time Quantity
    "Status"status of the stream
    "AudioTrackCount"number of audio tracks
    "VideoTrackCount"number of video tracks
    "SubtitleTrackCount"number of subtitle tracks
  • Possible settings for "Status" include "Playing", "Paused" or "Stopped".
  • Current track properties:
  • "CurrentAudioTrack"index of the current audio track
    "CurrentAudio"index of the current video track
    "CurrentVideoTrack"index of the current subtitle track
    "CurrentFrame"a frame of the current video
    "CurrentSubtitleTrack"snippet of the current subtitle
    "CurrentSubtitle"snippet of the current audio
  • Properties for the current audio track:
  • "AudioOutputDevice"audio output device to use for playback
    "AudioChannels"number of audio channels
    "SampleRate"audio sample rate
    "SoundVolume"sound volume
    "AudioEncoding"audio codec
  • Properties for the current video track:
  • "FrameChannels"number of color channels
    "FrameRate"video frame rate
    "RasterSize"dimensions of the frame
    "VideoEncoding"video codec
  • Properties for the current subtitle track:
  • "SubtitleEncoding"subtitle codec

Examples

open allclose all

Basic Examples  (1)

Create a VideoStream object linking to a local video file:

Change the stream position:

Pause the stream:

Scope  (3)

Check for available stream properties:

Get the property values of a video stream:

Set the "Position" property:

Extract frame at current position:

Modify properties while playing a stream:

Options  (3)

ImageSize  (1)

By default, automatic image size is used, which scales depending on image dimensions and window size:

Specify a different image size:

Notice that image dimensions are not affected:

Change the "ImageSize" property:

Looping  (1)

By default, the video stream is not looping:

Create a looping stream:

Create a stream that loops twice:

RasterSize  (1)

By default, the original raster size is used:

Specify a different raster size:

Specify both width and height:

Applications  (4)

Build a simple video GUI:

Apply a neural networkbased function to the current frame in real time:

Highlight the results of ImageCases dynamically:

Apply an image processing function dynamically to the current frame:

Compute the result of ImageSaliencyFilter:

Make a dynamic visualization of a video stream:

Display the Spectrogram of the current audio using a color function based on the dominant colors of the current frame:

Introduced in 2020
 (12.1)