Se a taxa de quadros não for muito alta e você puder associar um quadro a um carimbo de data / hora preciso, o mais fácil seria adicionar os metadados como legendas em texto.
A outra opção é agrupar os metadados como cabeçalhos padrão .mp4
ou em um formato de contêiner semelhante. .mp4
pode ser dividido em vários fragmentos, cada um com seu próprio cabeçalho, e teoricamente isso pode ser feito por quadro. No entanto, fazer isso por mais de alguns quadros é extremamente ineficiente em termos de tamanho e desempenho do arquivo. Uma variação desse método seria extrair cada quadro como uma imagem (por exemplo, JEPG) e definir seus metadados.
Ainda outra opção é usar a estenografia sem hackers; basta codificar os metadados em um fluxo separado, sincronizado com o carimbo de data e hora com o fluxo de vídeo principal. A maioria dos formatos modernos de contêiner, inclusive .mp4
, pode acomodar vários fluxos de vídeo no mesmo contêiner (por exemplo, você pode rotular o fluxo de metadados codificados como o mesmo conteúdo, mas em outro idioma).
Não tenho certeza de como isso se encaixa em uma estratégia de streaming, mas o formato de arquivo DPX inclui metadados por quadro (potencialmente uma grande quantidade). Este artigo da Wikipedia tem as informações básicas.
Também não estou claro sobre o que você quer dizer com "vinculado permanentemente". No contêiner do arquivo AVI, o "I" significa "Interleaved", onde pacotes de vídeo e áudio (aproximadamente) se alternam no arquivo. Isso é verdade para quase todos os formatos de contêiner. Os fluxos podem ser separados, mas eles coexistem nativamente em um meta-fluxo.
fonte