@@ -985,60 +985,66 @@ class AnnotationTrack(google.protobuf.message.Message):
985985 DESCRIPTOR: google.protobuf.descriptor.Descriptor
986986
987987 ID_FIELD_NUMBER: builtins.int
988- APP_ID_FIELD_NUMBER: builtins.int
989988 INPUT_ID_FIELD_NUMBER: builtins.int
990989 CONCEPT_FIELD_NUMBER: builtins.int
991- USER_ID_FIELD_NUMBER: builtins.int
992990 STATUS_FIELD_NUMBER: builtins.int
993- START_FRAME_FIELD_NUMBER: builtins.int
994- END_FRAME_FIELD_NUMBER: builtins.int
991+ START_FRAME_NR_FIELD_NUMBER: builtins.int
992+ END_FRAME_NR_FIELD_NUMBER: builtins.int
993+ START_FRAME_MS_FIELD_NUMBER: builtins.int
994+ END_FRAME_MS_FIELD_NUMBER: builtins.int
995995 CREATED_AT_FIELD_NUMBER: builtins.int
996996 MODIFIED_AT_FIELD_NUMBER: builtins.int
997- FRAME_RATE_FIELD_NUMBER: builtins.int
997+ SAMPLE_RATE_MS_FIELD_NUMBER: builtins.int
998+ SAMPLE_RATE_FRAME_FIELD_NUMBER: builtins.int
998999 id: builtins.str
9991000 """The ID for the annotation track"""
1000- app_id: builtins.str
1001- """ID of the application this annotation track is tied to"""
10021001 input_id: builtins.str
10031002 """ID of the asset this annotation track is tied to"""
10041003 @property
10051004 def concept(self) -> global___Concept:
10061005 """Concept this annotation track"""
1007- user_id: builtins.str
1008- """The user the track belongs to (app owner)"""
10091006 @property
10101007 def status(self) -> proto.clarifai.api.status.status_pb2.Status:
10111008 """AnnotationTrack Status"""
1012- start_frame: builtins.int
1013- """Start frame of the annotation track"""
1014- end_frame: builtins.int
1015- """End frame of the annotation track"""
1009+ start_frame_nr: builtins.int
1010+ """Start frame number (in original video) of the annotation track, inclusive."""
1011+ end_frame_nr: builtins.int
1012+ """End frame number (in original video) of the annotation track, inclusive."""
1013+ start_frame_ms: builtins.int
1014+ """Start time (in milliseconds of original video) of the annotation track, inclusive."""
1015+ end_frame_ms: builtins.int
1016+ """End time (in milliseconds of original video) of the annotation track, inclusive."""
10161017 @property
10171018 def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
10181019 """When the annotation track was created."""
10191020 @property
10201021 def modified_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
10211022 """When the annotation track was modified."""
1022- frame_rate: builtins.int
1023- """Frame rate of the video track.
1024- 1 means it matches the original video FPS.
1025- 2 means every second frame, etc.
1023+ sample_rate_ms: builtins.int
1024+ """Sampling rate of the annotation track in milliseconds."""
1025+ sample_rate_frame: builtins.int
1026+ """Sampling frame rate of the video track in frame number increments
1027+ increment of 1 means it matches the original video FPS
1028+ increment of 2 means every second frame is sampled, etc.
10261029 So if you have 30fps original video and frame_rate=3, your annotations in a track are stored at 30fps/3frame_rate=10 frames per second
1030+ Useful if client relies on simple frame access.
1031+ Useful if video has variable frame rate (VFR), then annotations are also sampled with VFR in mind
10271032 """
10281033 def __init__(
10291034 self,
10301035 *,
10311036 id: builtins.str = ...,
1032- app_id: builtins.str = ...,
10331037 input_id: builtins.str = ...,
10341038 concept: global___Concept | None = ...,
1035- user_id: builtins.str = ...,
10361039 status: proto.clarifai.api.status.status_pb2.Status | None = ...,
1037- start_frame: builtins.int = ...,
1038- end_frame: builtins.int = ...,
1040+ start_frame_nr: builtins.int = ...,
1041+ end_frame_nr: builtins.int = ...,
1042+ start_frame_ms: builtins.int = ...,
1043+ end_frame_ms: builtins.int = ...,
10391044 created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
10401045 modified_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
1041- frame_rate: builtins.int = ...,
1046+ sample_rate_ms: builtins.int = ...,
1047+ sample_rate_frame: builtins.int = ...,
10421048 ) -> None: ...
10431049 def HasField(
10441050 self,
@@ -1056,28 +1062,30 @@ class AnnotationTrack(google.protobuf.message.Message):
10561062 def ClearField(
10571063 self,
10581064 field_name: typing_extensions.Literal[
1059- "app_id",
1060- b"app_id",
10611065 "concept",
10621066 b"concept",
10631067 "created_at",
10641068 b"created_at",
1065- "end_frame ",
1066- b"end_frame ",
1067- "frame_rate ",
1068- b"frame_rate ",
1069+ "end_frame_ms ",
1070+ b"end_frame_ms ",
1071+ "end_frame_nr ",
1072+ b"end_frame_nr ",
10691073 "id",
10701074 b"id",
10711075 "input_id",
10721076 b"input_id",
10731077 "modified_at",
10741078 b"modified_at",
1075- "start_frame",
1076- b"start_frame",
1079+ "sample_rate_frame",
1080+ b"sample_rate_frame",
1081+ "sample_rate_ms",
1082+ b"sample_rate_ms",
1083+ "start_frame_ms",
1084+ b"start_frame_ms",
1085+ "start_frame_nr",
1086+ b"start_frame_nr",
10771087 "status",
10781088 b"status",
1079- "user_id",
1080- b"user_id",
10811089 ],
10821090 ) -> None: ...
10831091
0 commit comments