VideoFile#

class nominal.core.VideoFile(rid, name, description, created_at)#

Bases: HasRid, RefreshableConjureMixin[VideoFile]

rid: str#
name: str#
description: str | None#
created_at: IntegralNanosecondsUTC#
archive()#

Archive the video file, disallowing it to appear when playing back the video

poll_until_ingestion_completed(interval=timedelta(seconds=1), *, timeout=None)#

Block until video ingestion has completed. This method polls Nominal for ingest status after uploading a video file on an interval.

Parameters:
  • interval (timedelta)

    How long to wait between status checks.

  • timeout (timedelta | None)

    Give up after this long and raise NominalIngestTimeout; None waits indefinitely.

Raises:
refresh()#
Return type:

Self

unarchive()#

Unarchive the video file, allowing it to appear when playing back the video

update(*, name=None, description=None, starting_timestamp=None, ending_timestamp=None, true_frame_rate=None, scale_factor=None)#

Update video file metadata.

Parameters:
  • name (str | None)

    Name of the video file

  • description (str | None)

    Description of the video file

  • starting_timestamp (datetime | int | None)

    Starting timestamp for the video file

  • ending_timestamp (datetime | int | None)

    Ending timestamp for the video file

  • true_frame_rate (float | None)

    Frame rate that the video file was recorded at, irregardless of the frame rate that the media plays at.

  • scale_factor (float | None)

    Ratio of absolute time to media time for the video file. For example, a value of 2 would indicate that for every second of media, two seconds have elapsed in absolute time.

Returns:

Updated video file metadata.

Return type:

Self

Note

Only one of {ending_timestamp, true_frame_rate, scale_factor} may be present at one time.