2012-05-17 21 views
5

Estoy recibiendo una transmisión MJPEG desde mi cámara. Cuando miro los datos de video con un editor hexadecimal, parece que no contiene ninguna información de transmisión. Solo veo un JPEG sin formato después de otro, pero no hay información sobre la velocidad de fotogramas, etc.MJPEG Información de la corriente

¿La falta de metainformación es normal para MJPEG o solo está relacionada con la cámara que estoy usando? Si no hay información sobre la transmisión, ¿cómo puede saber un jugador qué tan rápido puede reproducir el video?

Respuesta

6

La falta de metadatos es normal. Las cámaras IP normalmente envían MJPEG como solo eso, una imagen JPEG tras otra como una secuencia. Este es el archivo MJPEG válido más básico. Si tuviera que tomar un montón de jpegs, juntarlos en un archivo grande y gigante, y alimentarlo para ffmpeg, lo vería como un archivo de formato mjpeg válido. Algunas cámaras agregarán un encabezado adicional para contener datos de audio, pero no es necesario que se lo considere un movimiento válido jpeg.

Muchas cámaras incluirán un encabezado como X-Framerate, en el encabezado HTTP cuando se envía inicialmente la transmisión, o puede configurarlo como parte de la configuración de la cámara. Sin embargo, cuando una cámara solo envía jpegs, no hay forma de saber a partir de la transmisión qué tasa de cuadros es.

0

Normalmente, los datos de MJPEG se envían dentro de un contenedor de medios de transmisión como AVI o MOV (quicktime). El formato del contenedor contendrá la velocidad de fotogramas y la información sobre los datos de audio opcionales.

+0

¿Pero los datos brutos de MJPEG no contienen tal información? – Toby

+0

¿Ha comprobado los metadatos dentro de la transmisión JPEG (por ejemplo, el marcador APPxx) para la información? Publica un marco de muestra y lo analizaré. – BitBank

3

¿La falta de metainformación es normal para MJPEG o solo está relacionada con la cámara que estoy usando? Si no hay información sobre la transmisión, ¿cómo puede saber un jugador qué tan rápido puede reproducir el video?

Para agregar a las ya respondidas, la cámara IP es una fuente de video en vivo y los marcos generalmente se presentan tan pronto como llegan de la cámara. La cámara IP rara adjunta información adicional por fotograma además del tamaño de la fama (¡algunos ni siquiera lo hacen!) Envían datos y separadores solamente). Todavía algunos atan sellos de tiempo y datos adicionales como el estado de detección de movimiento.

La mayoría de las cámaras IP no tienen velocidad de cuadros constante. Es decir, la velocidad de cuadros puede variar, esp. más bajo en condiciones de poca luz. Es responsabilidad del lado receptor adjuntar marcas de tiempo por fotograma al multiplexar los datos en formato de contenedor. La marca de tiempo puede recuperarse de los metadatos (que rara vez existe) o, con mayor frecuencia, el receptor marca un marco con el tiempo de recepción local.

Esta es la forma en que el reproductor puede reproducir secuencias de video con la velocidad adecuada. El feed en vivo generalmente se presenta en base a "mostrar el fotograma recibido lo antes posible".

Cuestiones relacionadas