¿Existe un formato de video existente que grabe metadatos por cuadro?

7

Deseo transmitir un video con metadatos dinámicos. Sé que podría transmitir el video y los metadatos por separado, pero idealmente me gustaría que estuvieran vinculados permanentemente.

¿Existe un protocolo / codificación / formato existente que haga esto? Podría almacenar los datos en cada cuadro usando esteganografía, pero esta no es una solución ideal y es bastante hacky.

enigma
fuente

Respuestas:

4

Si la velocidad de fotogramas no es demasiado alta y puede asociar un fotograma con una marca de tiempo precisa, lo más fácil sería agregar los metadatos como subtítulos de texto.

La otra opción es modificar los metadatos como encabezados estándar en .mp4un formato de contenedor similar. .mp4se puede dividir en múltiples fragmentos, cada uno con su propio encabezado, y en teoría esto se puede hacer por cuadro. Sin embargo, hacerlo durante más de unos pocos fotogramas es extremadamente ineficiente en términos de tamaño de archivo y rendimiento. Una variación de este método sería extraer cada cuadro como una imagen (por ejemplo, JEPG) y establecer sus metadatos.

Otra opción es usar la estenografía sin ningún tipo de piratería, simplemente codifica los metadatos en una transmisión separada que se sincroniza con la marca de tiempo con la transmisión de video principal. La mayoría de los formatos de contenedores modernos, incluidos .mp4, pueden acomodar múltiples transmisiones de video en el mismo contenedor (por ejemplo, puede etiquetar la transmisión de metadatos codificados como el mismo contenido pero en otro idioma).

avnr
fuente
También estaba pensando en las transmisiones de subtítulos. Asegúrese de marcarlo como no predeterminado, o agregue una secuencia de subtítulos vacía como la primera secuencia secundaria, para que los reproductores que no conocen su subformato personalizado no lo muestren como texto.
Peter Cordes
ffmpeg distingue entre subtítulos y otros flujos de datos. por ejemplo, hay cosas como metadatos RTP en algunos archivos de video, y es una secuencia de metadatos separada en el contenedor mp4. Entonces, dependiendo de lo que necesite, es posible que pueda usar un flujo de datos personalizado mezclado en mp4 o mkv.
Peter Cordes
2

No estoy seguro de cómo encaja esto en una estrategia de transmisión, pero el formato de archivo DPX incluye metadatos por fotograma (potencialmente una gran cantidad de él). Este artículo de Wikipedia tiene la información básica.

Tampoco tengo claro a qué te refieres con 'obligado permanentemente'. En el contenedor de archivos AVI, la "I" significa "Intercalado", donde los paquetes de video y audio (aproximadamente) se alternan en el archivo. Esto es cierto para casi todos los formatos de contenedor. Las secuencias se pueden separar, pero coexisten de forma nativa en una metacorriente.

Jim Mack
fuente