Feed de Vídeo

Feed de Vídeo

Nesta página:

O componente Feed de Vídeo atua como um nó de entrada de vídeo para câmeras. Ele conecta-se a uma câmera de vídeo IP, DVR (Digital Video Recorder) ou outro dispositivo capaz de transmitir vídeo usando os protocolos RTSP (Real-Time Streaming Protocol), RTMP (Real-Time Messsaging Protocol) ou HTTP/HTTPS, captura imagens com uma taxa de quadros (Frames Per Second, ou Quadros por Segundo) definida e prepara estas imagens para que sejam processadas pelos próximos componentes.

Créditos utilizados

Cada Feed de Vídeo ocupa 5 créditos, considerando uma taxa de quadros de 5 FPS e resolução de 640 x 480 pixels por quadro. Veja a seção Entendendo o conceito de créditos para mais informações.

Parâmetros do componente

Parâmetro

Descrição

Exemplo

É obrigatório?

Component Name

Nome interno do componente. Usado em nossa API para selecionar o componente para obtenção de métricas.

RTSPStreamReceiver

Sim. Preenchido automaticamente.

Component ID

Identificador numérico do componente. Usado em nossa API para selecionar o componente para obtenção de métricas.

9

Sim. Preenchido automaticamente.

Nome

Um nome descritivo para identificar o componente ou fonte de vídeo.

Camera_Armazem

Não

URL

Endereço do stream de vídeo.

rtsp://admin:paradura@192.168.15.100:554

Sim

FPS

Número de quadros por segundo (Frames per Second) que serão extraídos do stream. 

5

Sim

Resolução

Seleciona a resolução dos quadros extraídos do stream. Default usa a resolução original do stream, outros valores permitem selecionar uma resolução específica.

640x480

Sim

Formato RTSP

Formato do stream de vídeo, pode ser h264 ou h265

h264

Sim

Notas

  • O parâmetro URL pode conter informações como usuário e senha para acesso ao stream (no caso de streams protegidos), além da porta de conexão. Por exemplo, na URL rtsp://admin:rapadura@192.168.15.100:554 o usuário (admin), e a senha (rapadura) são especificados antes da @. A porta de conexão (554) é o último parâmetro, especificada após os dois pontos.

  • Um FPS mais alto irá aumentar o consumo de banda (na transferência de imagens para a AIBox) e de capacidade de processamento (na AIBox). Da mesma forma, uma Resolução mais alta acarreta um maior consumo de capacidade de processamento. Recomendamos começar com um FPS baixo (ex: 5 FPS) e resolução de 640x480 pixels, e ajustar estes parâmetros conforme as necessidades do modelo. O uso de CPU de uma AIBox pode ser consultado na seção Fleet Management na interface do AIOS, veja mais detalhes na seção 2.2 Fleet Management dessa documentação.

  • Em caso de erros ou lentidão em um um stream RTSP, experimente alternar entre os formatos h264 e h265.

  • O parâmetro Formato RTSP é irrelevante para streams nos RTMP, HTTP ou HTTPS.

Mensagens suportadas pelo componente

Estas são as mensagens que Feed de Vídeo recebe de um componente anterior em uma câmera (Entradas), ou envia ao próximo componente (Saídas).

Entradas:

  • EmptyMessage: opcional. Se o componente estiver configurado com um input_topic e receber uma EmptyMessage, ele atuará como um "portão fechado": ele repassará a EmptyMessage na saída e não tentará capturar um frame do stream naquele ciclo.

  • Nenhuma (Modo Padrão): se nenhum input_topic for configurado, o componente atua como uma fonte pura, tentando capturar um frame em todo ciclo execute.

Saídas:

  • ImageMessage

    • Em caso de Sucesso:

      • data: o frame de vídeo capturado do stream.

      • isConnected: true (implícito).

      • firstUpload: true apenas no primeiro frame capturado com sucesso após o início. false para todos os subsequentes.

    • Em caso de falha (ex: stream offline):

      • image: uma imagem gerada (um frame preto com resolução de 640x480) com a mensagem de erro.

      • isConnected: false.

  • EmptyMessage: emitido apenas se a entrada for uma EmptyMessage.

Exemplos de código

Entrada EmptyMessage → Saída EmptyMessage (modo "Gated")

// IN { "timestamp": 1780000000000, "message_type": "EmptyMessage" } // OUT { "timestamp": 1780000000005, "message_type": "EmptyMessage", "componentType": "RTSPStreamReceiver" }

Execução Normal (Modo Fonte) → Saída ImageMessage (Sucesso)

// IN (Nenhuma - componente é a fonte) // OUT (Primeiro frame capturado) { "timestamp": 1780000001000, "message_type": "ImageMessage", "componentType": "RTSPStreamReceiver", "message_specs": { "cols": 1920, "rows": 1080, "type": 16, "timestamp": 1780000001000 }, "isConnected": true, "firstUpload": true, "data": "/9j/4AAQSkZJRgA..." // JPEG Base64 (Frame 1920x1080) }

Execução Normal (Modo Fonte) → Saída ImageMessage (Falha de Conexão)

// IN (Nenhuma - componente é a fonte) // OUT (Componente emite o frame de falha gerado) { "timestamp": 1780000002000, "message_type": "ImageMessage", "componentType": "RTSPStreamReceiver", "message_specs": { "cols": 640, "rows": 480, "type": 16, "timestamp": 1780000002000 }, "isConnected": false, "firstUpload": false, "data": "/9j/..." // JPEG Base64 (Frame preto 640x480 com texto de erro) }

Métricas e visualizações disponíveis

Este componente não gera métricas e visualizações que possam ser exibidas em widgets em um aplicativo. Veja as seções Trabalhando com Aplicativos, Trabalhando com Widgets e Métricas e Visualizações desta documentação para mais informações.

Vídeo demonstrativo