Anotação de Vídeo
Anote vídeos no Potato — classifique segmentos temporais, marque keyframes e rastreie objetos com navegação quadro a quadro e rotulagem de eventos ao longo da linha do tempo.
O Potato oferece recursos abrangentes de anotação de vídeo, incluindo segmentação temporal, classificação de quadros, marcação de keyframes e rastreamento de objetos.
Modos de Anotação
| Modo | Descrição | Caso de Uso |
|---|---|---|
segment | Marca intervalos temporais | Detecção de cenas, turnos de fala |
frame | Classifica quadros individuais | Rotulagem em nível de quadro |
keyframe | Marca momentos importantes | Detecção de destaques |
tracking | Rastreia objetos ao longo dos quadros | Rastreamento de objetos |
combined | Todos os modos em uma só interface | Tarefas de anotação complexas |
Configuração Básica
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"Opções de Configuração
| Campo | Tipo | Padrão | Descrição |
|---|---|---|---|
name | string | Obrigatório | Identificador único para a anotação |
description | string | Obrigatório | Instruções exibidas aos anotadores |
annotation_type | string | Obrigatório | Deve ser "video_annotation" |
labels | list | Obrigatório | Rótulos de anotação disponíveis |
mode | string | "segment" | Modo de anotação |
min_segments | integer | 0 | Número mínimo de anotações exigidas |
max_segments | integer | null | Número máximo de anotações permitidas |
timeline_height | integer | 70 | Altura da linha do tempo em pixels |
overview_height | integer | 40 | Altura da barra de visão geral em pixels |
zoom_enabled | boolean | true | Ativa o zoom da linha do tempo |
playback_rate_control | boolean | true | Exibe o seletor de velocidade de reprodução |
frame_stepping | boolean | true | Ativa a navegação quadro a quadro |
show_timecode | boolean | true | Exibe o número do quadro e o tempo |
video_fps | integer | 30 | Taxa de quadros do vídeo para cálculos |
Configuração de Rótulos
Os rótulos podem ser strings simples ou objetos detalhados com cores e atalhos de teclado:
labels:
- name: "intro"
color: "#4ECDC4"
key_value: "1"
- name: "content"
color: "#3B82F6"
key_value: "2"
- name: "outro"
color: "#8B5CF6"
key_value: "3"Exemplos por Modo
Modo de Segmento (Padrão)
Marque intervalos temporais com horários de início e fim:
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: trueModo de Quadro
Classifique quadros individuais:
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: trueModo de Keyframe
Marque momentos importantes:
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: trueModo de Rastreamento
Rastreie objetos ao longo dos quadros com caixas delimitadoras:
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: 30Modo Combinado
Use vários tipos de anotação em uma só interface:
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: trueExibição de Vídeo
Para reprodução simples de vídeo sem anotação (por exemplo, para acompanhar outros tipos de anotação), use o tipo video:
annotation_schemes:
- name: "video_player"
description: "Watch the video clip"
annotation_type: "video"
video_path: "{{video_url}}"
controls: true
autoplay: false
loop: false
muted: falseAtalhos de Teclado
| Tecla | Ação |
|---|---|
Space | Reproduzir/pausar |
, / . | Quadro anterior/seguinte |
[ | Marcar início do segmento |
] | Marcar fim do segmento |
Enter | Criar segmento |
K | Marcar keyframe |
C | Classificar o quadro atual |
Delete | Remover anotação selecionada |
1-9 | Selecionar rótulo |
+ / - | Aumentar/diminuir zoom |
Formato dos Dados
Dados de Entrada
Seu arquivo de dados deve incluir caminhos ou URLs de vídeo:
[
{
"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"
}
]Formato de Saída
A saída varia conforme o modo:
Modo de Segmento:
{
"id": "video_1",
"annotations": {
"scene_detection": [
{
"start": 0.0,
"end": 5.2,
"start_frame": 0,
"end_frame": 156,
"label": "indoor"
}
]
}
}Modo de Quadro:
{
"id": "video_1",
"annotations": {
"frame_quality": [
{
"frame": 120,
"time": 4.0,
"label": "good"
}
]
}
}Modo de Keyframe:
{
"id": "video_1",
"annotations": {
"highlights": [
{
"frame": 450,
"time": 15.0,
"label": "goal",
"note": "First goal of the match"
}
]
}
}Modo de Rastreamento:
{
"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}}
]
}
]
}
}Formatos de Vídeo Suportados
- MP4 (recomendado)
- WebM
- MOV
- OGG
Rastreamento de Objetos em Vídeo com Interpolação de Keyframes
Novo na v2.2.0
O modo de rastreamento agora oferece suporte à interpolação de keyframes, permitindo que os anotadores marquem as posições dos objetos em quadros-chave e tenham os quadros intermediários interpolados automaticamente. Isso acelera significativamente as tarefas de rastreamento de objetos.
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: 30Fluxo de Trabalho
- Navegue até um keyframe e desenhe uma caixa delimitadora ao redor do objeto
- Avance vários quadros e reposicione a caixa delimitadora
- O sistema interpola automaticamente as posições para os quadros intermediários
- Revise e ajuste as posições interpoladas conforme necessário
O conjunto completo de modos de anotação válidos é: segment, frame, keyframe, tracking e combined.
Notas Técnicas
- Usa o Peaks.js para visualização da linha do tempo
- Elementos de vídeo HTML5 padrão (sem dependências adicionais de servidor)
- A linha do tempo permite arrastar para selecionar e criar segmentos
Boas Práticas
- Use vídeos comprimidos - Arquivos grandes deixam o carregamento mais lento
- Defina o FPS apropriado - Faça o
video_fpscorresponder à taxa de quadros real do seu vídeo - Ative o avanço por quadro - Essencial para anotação precisa em nível de quadro
- Use o controle de velocidade de reprodução - A câmera lenta ajuda no trabalho detalhado
- Forneça definições claras de segmentos - Defina o que constitui os limites de um segmento
- Use cores distintas - Torne os rótulos visualmente distinguíveis
- Considere a altura da linha do tempo - Aumente-a para tarefas de segmentação complexas