Skip to content
यह पृष्ठ अभी आपकी भाषा में उपलब्ध नहीं है। अंग्रेज़ी संस्करण दिखाया जा रहा है।

Video Annotation

Video में temporal segment एनोटेट करें, frame वर्गीकृत करें, keyframe चिह्नित करें, और object ट्रैक करें।

Video Annotation

Potato व्यापक video annotation क्षमताएँ प्रदान करता है जिसमें temporal segmentation, frame classification, keyframe marking, और object tracking शामिल हैं।

Annotation मोड

मोडविवरणउपयोग का मामला
segmentTemporal रेंज चिह्नित करेंScene detection, स्पीकर मोड़
frameव्यक्तिगत frame वर्गीकृत करेंFrame-स्तरीय लेबलिंग
keyframeमहत्वपूर्ण क्षण चिह्नित करेंHighlight detection
trackingFrame में object ट्रैक करेंObject tracking
combinedएक interface में सभी मोडजटिल annotation कार्य

बुनियादी कॉन्फ़िगरेशन

yaml
annotation_schemes:
  - name: "video_segments"
    description: "Mark segments where the speaker changes"
    annotation_type: "video_annotation"
    labels:
      - name: "Speaker A"
        color: "#FF6B6B"
      - name: "Speaker B"
        color: "#4ECDC4"

कॉन्फ़िगरेशन विकल्प

फ़ील्डप्रकारडिफ़ॉल्टविवरण
namestringआवश्यकएनोटेशन के लिए अद्वितीय पहचानकर्ता
descriptionstringआवश्यकएनोटेटर्स को दिखाए जाने वाले निर्देश
annotation_typestringआवश्यक"video_annotation" होना चाहिए
labelslistआवश्यकउपलब्ध annotation लेबल
modestring"segment"Annotation मोड
min_segmentsinteger0न्यूनतम आवश्यक annotation
max_segmentsintegernullअधिकतम अनुमत annotation
timeline_heightinteger70Pixel में timeline ऊँचाई
overview_heightinteger40Pixel में overview bar ऊँचाई
zoom_enabledbooleantrueTimeline zoom सक्षम करें
playback_rate_controlbooleantruePlayback speed चयनकर्ता दिखाएँ
frame_steppingbooleantrueFrame-by-frame नेविगेशन सक्षम करें
show_timecodebooleantrueFrame number और time प्रदर्शित करें
video_fpsinteger30गणना के लिए video frame rate

लेबल कॉन्फ़िगरेशन

लेबल सरल स्ट्रिंग या रंग और कीबोर्ड शॉर्टकट के साथ विस्तृत ऑब्जेक्ट हो सकते हैं:

yaml
labels:
  - name: "intro"
    color: "#4ECDC4"
    key_value: "1"
  - name: "content"
    color: "#3B82F6"
    key_value: "2"
  - name: "outro"
    color: "#8B5CF6"
    key_value: "3"

मोड के अनुसार उदाहरण

Segment मोड (डिफ़ॉल्ट)

प्रारंभ और अंत समय के साथ temporal रेंज चिह्नित करें:

yaml
annotation_schemes:
  - name: "scene_detection"
    description: "Mark each scene in the video"
    annotation_type: "video_annotation"
    mode: "segment"
    labels:
      - name: "indoor"
        color: "#3B82F6"
        key_value: "1"
      - name: "outdoor"
        color: "#22C55E"
        key_value: "2"
      - name: "transition"
        color: "#F59E0B"
        key_value: "3"
    zoom_enabled: true
    playback_rate_control: true

Frame मोड

व्यक्तिगत frame वर्गीकृत करें:

yaml
annotation_schemes:
  - name: "frame_quality"
    description: "Classify each frame's quality"
    annotation_type: "video_annotation"
    mode: "frame"
    labels:
      - name: "good"
        color: "#22C55E"
      - name: "blurry"
        color: "#F59E0B"
      - name: "occluded"
        color: "#EF4444"
    frame_stepping: true
    show_timecode: true

Keyframe मोड

महत्वपूर्ण क्षण चिह्नित करें:

yaml
annotation_schemes:
  - name: "highlights"
    description: "Mark key moments in the video"
    annotation_type: "video_annotation"
    mode: "keyframe"
    labels:
      - name: "goal"
        color: "#22C55E"
      - name: "foul"
        color: "#EF4444"
      - name: "highlight"
        color: "#F59E0B"
    frame_stepping: true

Tracking मोड

Bounding box के साथ frame में object ट्रैक करें:

yaml
annotation_schemes:
  - name: "object_tracking"
    description: "Track the ball throughout the video"
    annotation_type: "video_annotation"
    mode: "tracking"
    labels:
      - name: "ball"
        color: "#3B82F6"
      - name: "player"
        color: "#22C55E"
    frame_stepping: true
    video_fps: 30

Combined मोड

एक interface में कई annotation प्रकारों का उपयोग करें:

yaml
annotation_schemes:
  - name: "comprehensive"
    description: "Full video annotation"
    annotation_type: "video_annotation"
    mode: "combined"
    labels:
      - name: "action"
        color: "#3B82F6"
      - name: "dialogue"
        color: "#22C55E"
      - name: "transition"
        color: "#F59E0B"
    zoom_enabled: true
    playback_rate_control: true
    frame_stepping: true
    show_timecode: true

Video प्रदर्शन

annotation के बिना साधारण video playback के लिए (जैसे, अन्य annotation प्रकारों के साथ), video प्रकार का उपयोग करें:

yaml
annotation_schemes:
  - name: "video_player"
    description: "Watch the video clip"
    annotation_type: "video"
    video_path: "{{video_url}}"
    controls: true
    autoplay: false
    loop: false
    muted: false

कीबोर्ड शॉर्टकट

कुंजीक्रिया
Spaceचलाएँ/रोकें
, / .पिछला/अगला frame
[Segment प्रारंभ चिह्नित करें
]Segment अंत चिह्नित करें
EnterSegment बनाएँ
KKeyframe चिह्नित करें
Cवर्तमान frame वर्गीकृत करें
Deleteचयनित annotation हटाएँ
1-9लेबल चुनें
+ / -ज़ूम इन/आउट

डेटा फॉर्मेट

इनपुट डेटा

आपकी डेटा फ़ाइल में video पाथ या URL शामिल होने चाहिए:

json
[
  {
    "id": "video_1",
    "video_url": "https://example.com/videos/sample1.mp4",
    "description": "Meeting recording - identify speakers"
  },
  {
    "id": "video_2",
    "video_url": "/data/videos/sample2.mp4",
    "description": "Activity video - label actions"
  }
]

आउटपुट फॉर्मेट

आउटपुट मोड के अनुसार भिन्न होता है:

Segment मोड:

json
{
  "id": "video_1",
  "annotations": {
    "scene_detection": [
      {
        "start": 0.0,
        "end": 5.2,
        "start_frame": 0,
        "end_frame": 156,
        "label": "indoor"
      }
    ]
  }
}

Frame मोड:

json
{
  "id": "video_1",
  "annotations": {
    "frame_quality": [
      {
        "frame": 120,
        "time": 4.0,
        "label": "good"
      }
    ]
  }
}

Keyframe मोड:

json
{
  "id": "video_1",
  "annotations": {
    "highlights": [
      {
        "frame": 450,
        "time": 15.0,
        "label": "goal",
        "note": "First goal of the match"
      }
    ]
  }
}

Tracking मोड:

json
{
  "id": "video_1",
  "annotations": {
    "object_tracking": [
      {
        "id": "track_1",
        "label": "ball",
        "frames": [
          {"frame": 0, "bbox": {"x": 100, "y": 200, "w": 30, "h": 30}},
          {"frame": 1, "bbox": {"x": 105, "y": 198, "w": 30, "h": 30}}
        ]
      }
    ]
  }
}

समर्थित Video फॉर्मेट

  • MP4 (अनुशंसित)
  • WebM
  • MOV
  • OGG

Keyframe Interpolation के साथ Video Object Tracking

v2.2.0 में नया

Tracking मोड अब keyframe interpolation का समर्थन करता है, जो एनोटेटर्स को key frame पर object स्थितियाँ चिह्नित करने और मध्यवर्ती frame को स्वचालित रूप से interpolate करने की अनुमति देता है। यह object tracking कार्यों को काफी तेज़ करता है।

yaml
annotation_schemes:
  - name: "tracking"
    description: "Track objects with keyframe interpolation"
    annotation_type: "video_annotation"
    mode: "tracking"
    labels:
      - name: "person"
        color: "#3B82F6"
      - name: "vehicle"
        color: "#22C55E"
    frame_stepping: true
    video_fps: 30

कार्यप्रवाह

  1. एक keyframe पर नेविगेट करें और object के चारों ओर bounding box खींचें
  2. कई frame आगे जाएँ और bounding box को पुनः स्थित करें
  3. सिस्टम स्वचालित रूप से मध्यवर्ती frame के लिए स्थितियाँ interpolate करता है
  4. आवश्यकतानुसार interpolated स्थितियों की समीक्षा करें और समायोजित करें

वैध annotation मोड का पूरा सेट है: segment, frame, keyframe, tracking, और combined

तकनीकी नोट

  • Timeline विज़ुअलाइज़ेशन के लिए Peaks.js का उपयोग करता है
  • मानक HTML5 video element (कोई अतिरिक्त सर्वर dependencies नहीं)
  • Timeline segment निर्माण के लिए drag-to-select का समर्थन करता है

सर्वोत्तम प्रथाएँ

  1. Compressed video का उपयोग करें - बड़ी फ़ाइलें लोडिंग धीमी करती हैं
  2. उचित FPS निर्धारित करें - video_fps को अपनी वास्तविक video frame rate से मिलाएँ
  3. Frame stepping सक्षम करें - सटीक frame-स्तरीय annotation के लिए आवश्यक
  4. Playback rate नियंत्रण का उपयोग करें - Slow motion विस्तृत कार्य में मदद करता है
  5. स्पष्ट segment परिभाषाएँ प्रदान करें - परिभाषित करें कि segment सीमाएँ क्या हैं
  6. विशिष्ट रंगों का उपयोग करें - लेबल को दृश्य रूप से अलग बनाएँ
  7. Timeline ऊँचाई पर विचार करें - जटिल segmentation कार्यों के लिए बढ़ाएँ