Video JSON

When you export a Video Project, the download folder contains JSON files of your annotations. Each video has its own JSON file.

Annotation JSON in Video with attached URLs projects contains 3 main fields:

{
    "metadata": {},
    "instances": [],
    "tags": [],
}

Metadata

{
    "metadata": {
        "name": "video_file_example_1",
        "width": 1920,
        "height": 1080,
        "status": "Completed",
        "url": "https://sa-public-files.s3.us-west-2.amazonaws.com/Video+project/video_file_example_1.mp4",
        "duration": 30526667,
        "projectId": 101067,
        "error": null,
        "annotatorEmail": "[email protected]",
        "qaEmail": "[email protected]",
        "lastAction": {
            "timestamp": 1628861289127,
            "email": "[email protected]"
        }
}
  • "name": string - Video name as stated in the CSV file or generated by SDK.
  • "width": integer - The video’s width. The field is null if the video was not opened in the editor.
  • "height": integer - The video’s height. The field is null if the video was not opened in the editor.
  • "status": string - The video’s status. It can be: Not Started, In Progress, Quality Check, Returned, Skipped, or Completed.
  • “url”: string -The URL from the attached CSV file.
  • “duration”: integer - The video duration in microseconds.
  • “projectId”: integer - The project ID.
  • "error": boolean - If it is true, the video is disapproved in the tool. If it is false, then the video is approved in the tool. The field is null if the video is neither approved nor disapproved.
  • "annotatorEmail": string - The annotator’s email address.
  • "qaEmail": string - The QA’s email address.
  • "lastAction": Information about the user who last edited the video. Edits include changing the class of an instance, adding or deleting attribute, pointlabels, or tags, and adding, deleting, moving, or scaling instances.
    • "email": string - The email address of the last user who added or edited an instance. Format example: "timestamp": “1626152220563”
    • "timestamp": integer - The date and time when the instance was last edited.

Instances

Bounding Box

[{
            "meta": {
                "type": "bbox",
                "classId": 759338,
                "className": "Class 1",
                "pointLabels": {
                    "0": "Pointlabel_1"
                },
                "createdBy": {
                    "email": "[email protected]",
                    "role": "Annotator"
                },
                "createdAt": "2021-08-13T13:26:32.409Z",
                "updatedBy": {
                    "email": "[email protected]",
                    "role": "Admin"
                },
                "updatedAt": "2021-08-13T13:27:13.667Z",
                "start": 0,
                "end": 23332991
            },
            "parameters": [
                {
                    "start": 0,
                    "end": 23332991,
                    "timestamps": [
                        {
                            "points": {
                                "x1": 515.51,
                                "y1": 216.7,
                                "x2": 866.79,
                                "y2": 678.58
                            },
                            "timestamp": 0,
                            "attributes": []
                        },
                        {
                            "points": {
                                "x1": 515.51,
                                "y1": 216.7,
                                "x2": 866.79,
                                "y2": 678.58
                            },
                            "timestamp": 10617971,
                            "attributes": [
                                {
                                    "id": 1065772,
                                    "groupId": 291577,
                                    "name": "Attribute1",
                                    "groupName": "Group 1"
                                }
                            ]
                        },
                        {
                            "points": {
                                "x1": 1208.82,
                                "y1": 112.01,
                                "x2": 1560.1,
                                "y2": 573.89
                            },
                            "timestamp": 23332991,
                            "attributes": [
                                {
                                    "id": 1065772,
                                    "groupId": 291577,
                                    "name": "Attribute1",
                                    "groupName": "Group 1"
                                }]
                        }]
                }]
        }
]
  • “meta”: objects
    • “type”: string - The dictionary is a bounding box.
    • “classId”: integer - Class ID (one of the class IDs in “classes.json”). If the instance has an undefined class, the value should be -1 (classId": -1)
    • “className”: string - Class name. If the instance has an undefined class, the key should not be in the JSON.
    • “pointLabels” : The keys are from “0” to “7” for the 8 vertices of the bounding box.
    • "createdBy": Information about the user who created the bounding box.
      • "email": string - The email address of the user who created the instance.
      • "role": string - The role of the user who created the instance.
    • "createdAt": string - The date and time when the instance was created.
    • "updatedBy": Information about the user who updated the instance.
      • "email": string - The email address of the user who updated the instance.
      • "role": string - The role of the user who updated the instance.
    • "updatedAt": string - The date and time when the instance was updated.
    • “start”: integer - The time that marks the beginning of an instance. The timestamp is in microseconds.
    • “end”: integer - The time that marks the end of an instance. The timestamp is in microseconds.
  • “parameters”: array
    • “start”: integer - The time that marks the beginning of an instance. The timestamp is in microseconds.
    • “end”: integer - The time that marks the end of an instance. The timestamp is in microseconds.
    • “timestamps”: array - Shows information about an instance at specific timestamps (start, end, edit).
      • “timestamp”: integer - Timestamp that marks the change of the instance. The timestamp in microseconds.
      • “points”: objects - Points of the instance (bbox) in this location on the timeline. The list of floats is:
      • "x1, y1" for the left upper corner, and "x2, y2" for the right lower corner.
      • “attributes”: array - List of attributes for the instance (bbox), in this location on a timeline.
        • “id”: integer - Attribute ID (must be in “classes.json”)
        • “groupId”: integer - Group ID (must be in “classes.json”)
        • "name" : string - Attribute name
        • "groupName" : string- Attributes group name

Event

[
         {
            "meta": {
                "type": "event",
                "classId": 813377,
                "className": "Car",
                "createdBy": {
                    "email": "[email protected]",
                    "role": "Annotator"
                },
                "createdAt": "2021-10-06T14:51:19.503Z",
                "updatedBy": {
                    "email": "[email protected]",
                    "role": "Admin"
                },
                "updatedAt": "2021-10-06T14:51:37.151Z",
                "start": 0,
                "end": 11546512},
            "parameters": [
                {
                    "start": 0,
                    "end": 11546512,
                    "timestamps": [
                        {
                            "timestamp": 0,
                            "attributes": [
                                {
                                    "id": 1176348,
                                    "groupId": 338632,
                                    "name": "Yellow",
                                    "groupName": "Color"
                                }
                            ]
                        },
                        {
                            "timestamp": 11546512,
                            "attributes": [
                                {
                                    "id": 1176348,
                                    "groupId": 338632,
                                    "name": "Yellow",
                                    "groupName": "Color"
                                }
                            ]
                        }]
                  }]
         }
]
  • “meta”: objects
    • “type”: The dictionary is an event.
    • “classId”: integer - Class ID (one of the class IDs in “classes.json”). If the event has an undefined class, the value is -1 (classId": -1).
    • “className”: string - Class name. If the event has an undefined class, the key should not be in the JSON.
    • "createdBy": Information about the user who created the event.
      • "email": string - The email address of the user who created the event.
      • "role": string - The role of the user who created the event.
    • "createdAt": string - The date and time when the event was created.
    • "updatedBy": objects
      • "email": string - The email address of the user who updated the event.
      • "role": string - The role of the user who updated the event.
    • "updatedAt": string - The date and time when the event was updated.
    • “start”: integer - The time that marks the beginning of the event. The timestamp is in microseconds.
    • “end”: integer - The time that marks the end of the event. The timestamp is in microseconds.
  • “parameters”: array
    • “start”: integer - The time that marks the beginning of the event. The timestamp is in microseconds.
    • “end”: integer - The time that marks the end of the event. The timestamp is in microseconds.
    • “timestamps”: array - Shows information about the event at specific timestamps (start, end, edit).
      • “timestamp”: integer - Timestamp that marks the change of the event. The timestamp in microseconds.
      • “attributes”: array of objects - List of attributes for the event in this location on a timeline.
        • “id”: integer - Attribute ID (must be in “classes.json”)
        • “groupId”: integer - Group ID (must be in “classes.json”)
        • "name": string - Attribute name (must be in “classes.json”)
        • "groupName" : string - Attributes group name (must be in “classes.json”)

Tags

[
        "Tag3",
        "Tag2",
        "Tag1"
]
  • "Tag" - string: List of tag names added to the video.

Did this page help you?