13.1.10. Gravação e ferramentas de vídeo#

13.1.10.1. Gravando a pré-visualização#

O botão Gravar na barra de título do painel do frame buffer captura a prévia em um vídeo. Durante a gravação, uma leitura abaixo da imagem acompanha o tempo decorrido, o tamanho do arquivo até o momento e a taxa de quadros da gravação; Parar encerra a captura e abre uma caixa de diálogo de salvar. O formato segue a extensão de arquivo que você digita na caixa de diálogo de salvar – .mp4 é a escolha usual, todo formato que o codificador FFmpeg incluído suporta funciona, e o formato .bin do ImageReader da OpenMV produz uma gravação que scripts da câmera podem reproduzir. A saída de vídeo é codificada em H.264, com um quadro-chave a cada segundo para que o resultado busque posições corretamente em qualquer reprodutor, e uma taxa de gravação que saiu próxima de um número inteiro é arredondada para ele (30 FPS em vez de 29,97). Ao salvar, a IDE oferece redimensionar o vídeo e – para saída .bin – manter apenas cada N-ésimo quadro.

O que é gravado é a pré-visualização: o gravador amostra o quadro exibido a 30 FPS fixos, duplicando quadros quando o fluxo é mais lento e descartando-os quando é mais rápido, anotações e tudo. Para uma gravação limpa na taxa real da câmera, grave na própria câmera com image.ImageIO ou mjpeg – o gravador da IDE é para demonstrações e documentação, não para coleta de dados.

13.1.10.2. Ferramentas de vídeo#

Tools → Video Tools envolve o FFmpeg integrado para as tarefas de manipulação de arquivos que cercam o trabalho com a câmera:

  • Convert Video File – transcodifica entre formatos. Ambas as direções importam aqui: converte os arquivos .bin do ImageWriter / ImageReader da OpenMV que scripts da câmera gravam em MP4s comuns, e converte vídeos comuns em arquivos .bin que um script da câmera pode reproduzir através de image.ImageIO – que é como você testa um algoritmo de visão contra filmagens gravadas em vez de uma cena ao vivo. Toda conversão oferece reescalonamento (além de pular quadros ao converter para .bin), e você pode selecionar vários arquivos de origem para convertê-los em lote para uma pasta de sua escolha. Os nomes dos arquivos passam diretamente para o FFmpeg, então seus padrões de sequência no estilo printf funcionam: nomeie a saída como %07d.jpg e um vídeo se divide em imagens estáticas numeradas; nomeie a entrada da mesma forma e imagens estáticas numeradas se juntam em um vídeo.

  • Play Video File – reproduz qualquer arquivo de vídeo, incluindo as gravações .bin da câmera, sem sair da IDE. Copie as gravações para fora da unidade da câmera primeiro – ler arquivos grandes pelo enlace USB da câmera é lento.

  • Play RTSP Stream – abre um fluxo de vídeo de rede e o exibe. Uma câmera na mesma rede executando a biblioteca rtsp transmite vídeo ao vivo dessa forma – o lado de visualização do suporte a vídeo em rede da câmera.