Skip to content

Capturas de tela

O Sapsan pode capturar periodicamente quadros JPEG de um stream: mostrar uma prévia atual nas interfaces e guardar os quadros no arquivo junto com o vídeo.

Configuração

Um stream pode ter vários geradores de capturas. Cada um toma os quadros de uma de duas fontes:

  • http — baixar um JPEG pronto por HTTP (por exemplo, o snapshot-URL de uma câmera);
  • keyframe — renderizar um quadro da própria trilha de vídeo do stream nos quadros-chave.
streams:
  - name: cam1
    inputs:
    - rtsp:
        url: rtsp://admin:password@10.0.0.5/stream0
    thumbnails:
    - http:
        url: http://10.0.0.5/snapshot.jpg
        fetch_interval: 10  # período de captura, s (padrão 10)
        timeout: 5          # tempo limite da requisição, s (padrão 5)
      dvr: true             # guardar os quadros no arquivo (padrão false)
    - keyframe:
        track: v1           # trilha de vídeo de origem
        width: 320          # padrão 320 se nenhum tamanho for definido; mínimo 32
        height: 180
        every: 3gop         # capturar a cada terceiro GOP (padrão: cada GOP)

Regras de validação: fetch_interval, timeout e every precisam ser maiores que 0; as dimensões do quadro devem ser de pelo menos 32; timeout é permitido apenas em http, e width/height/every apenas em keyframe.

Proteção contra lixo: uma resposta que não é um JPEG ou que excede o limite de tamanho é descartada — a prévia não é atualizada.

Obtenção de capturas

O que URL
Quadro atual do stream http://server/streaming/live-preview-jpeg/<stream>
Quadro de uma trilha específica http://server/streaming/track-preview-jpeg/<stream>/<track>
Quadro do arquivo http://server/streaming/dvr-preview-jpeg/<stream>/<track>/image/<ref>

Capturas no arquivo

Com dvr: true os quadros são gravados no arquivo como uma trilha JPEG separada com as dimensões reais do quadro. No manifesto DASH do arquivo ela é exposta como um AdaptationSet padrão de thumbnail tile (http://dashif.org/guidelines/thumbnail_tile) — reprodutores com suporte a miniaturas na linha do tempo o pegam automaticamente.

Próximos passos