MLVideoType

class NatML.Types.MLVideoType : MLImageType

The video type describes video features.

Creating the Type

The video type can be created with video information, or by inspecting a video file:

From Video Info

/// <summary>
/// Create an video feature type.
/// </summary>
/// <param name="width">Video width.</param>
/// <param name="height">Video height.</param>
/// <param name="frames">Video frame count.</param>
MLVideoType (int width, int height, int frames);

INCOMPLETE.

/// <summary>
/// Create an video feature type.
/// </summary>
/// <param name="width">Video width.</param>
/// <param name="height">Video height.</param>
/// <param name="frames">Video frame count.</param>
/// <param name="type">Video frame data type.</param>
MLVideoType (int width, int height, int frames, Type type);

INCOMPLETE.

/// <summary>
/// Create an video feature type.
/// </summary>
/// <param name="shape">Video feature shape.</param>
/// <param name="type">Video frame data type.</param>
/// <param name="name">Feature name.</param>
MLVideoType (int[] shape, Type type, string name = default);

From a Video File

/// <summary>
/// Get the video type for a video file at a given path.
/// </summary>
/// <param name="path">Video path.</param>
/// <returns>Corresponding video type or `null` if file is not a valid video file.</returns>
static MLVideoType FromFile (string path);

INCOMPLETE.

From a VideoClip

/// <summary>
/// Get the video type for a video clip.
/// Note that the frame count is merely an estimate based on the duration of the video.
/// </summary>
/// <param name-"clip">Video clip.</param>
/// <returns>Corresponding video type.</returns>
static MLVideoType FromVideoClip (VideoClip clip);

INCOMPLETE.

From Streaming Assets

/// <summary>
/// Get the video type for a video file in the `StreamingAssets` folder.
/// </summary>
/// <param name="relativePath">Relative path to video file in `StreamingAssets` folder.</param>
/// <returns>Corresponding video type or `null` if the file is not a valid video file.</returns>
static Task<MLVideoType> FromStreamingAssets (string relativePath);

INCOMPLETE.

Inspecting the Type

/// <summary>
/// Feature name.
/// </summary>
string name { get; }

/// <summary>
/// Feature data type.
/// This will typically be a numeric type.
/// </summary>
Type dataType { get; }

Refer to the MLFeatureType class for more information.

Inspecting the Video

The feature type reports information about the video it refers to:

Video Width

/// <summary>
/// Video width.
/// </summary>
int width { get; }

Refer to the Image Width section of the MLImageType class for more information.

Video Height

/// <summary>
/// Video height.
/// </summary>
int height { get; }

Refer to the Image Height section of the MLImageType class for more information.

Video Channels

/// <summary>
/// Video channels.
/// </summary>
int channels { get; }

Refer to the Image Channels section of the MLImageType class for more information.

Video Frames

/// <summary>
/// Video frame count.
/// Note that this is almost always an approximate count.
/// </summary>
int frames { get; }

The video type reports the number of frames contained in the video.

Pixel Layout

/// <summary>
/// Whether the image is interleaved or planar.
/// </summary>
bool interleaved { get; }

Refer to the Pixel Layout section of the MLImageType class for more information.

Last updated

Was this helpful?