VideoFile#

class nominal.core.VideoFile(rid: str, name: str, description: str | None, created_at: IntegralNanosecondsUTC)#

Bases: HasRid, RefreshableConjureMixin[VideoFile]

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

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

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

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

Parameters:
  • interval – How long to wait between status checks.

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

Raises:
refresh() → Self#
unarchive() → None#

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

update(*, name: str | None = None, description: str | None = None, starting_timestamp: datetime | int | None = None, ending_timestamp: datetime | int | None = None, true_frame_rate: float | None = None, scale_factor: float | None = None) → Self#

Update video file metadata.

Parameters:
  • name – Name of the video file

  • description – Description of the video file

  • starting_timestamp – Starting timestamp for the video file

  • ending_timestamp – Ending timestamp for the video file

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

  • scale_factor – 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.

Note

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