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.