2011-10-17 17 views
8

Estoy creando una aplicación que admite videollamadas y estoy buscando un tutorial/documento que explique la estructura del códec h.264. Quiero poder empaquetar la secuencia, envolverla en datagramas, enviar y desempaquetar en el lado de recepción.Códec H.264 explicado

¿Alguna sugerencia/material de lectura?

Respuesta

9

¿Qué quiere decir con estructura? Si está hablando de la sintaxis del flujo de bits, puede descargar el H.264 standard de forma gratuita. También hay muchos libros/documentos sobre H.264, como el de Iain Richardson.

Si está más interesado en el transporte de red de H.264 sobre IP, ¿por qué no utiliza el estándar RTP y el payload format asociado?

+0

Estoy más interesado en el proceso de empaque RTP. Estoy haciendo una aplicación de transmisión de video en blackberry y tengo acceso a la transmisión de video y necesito poder empaquetarlo en paquetes RTP de manera correcta para que pueda ser utilizado correctamente en el extremo receptor independientemente de la pérdida de datagramas. Así que gracias a estos enlaces parece exactamente lo que necesito. Una última cosa: ¿un archivo de video con video codificado h.264 tiene un encabezado? Quiero decir, cuando grabo en un archivo con codificación h.264 guarda el video en un formato de archivo .3gp y parece que hay un encabezado al principio del archivo. ¿Dónde puedo leer sobre esto? –

+0

Puede encontrarlo en la especificación 3GPP: AFAICT parece que podría ser el siguiente, pero compruebe que: http://www.3gpp.org/ftp/Specs/html-info/26244.htm De lo contrario, busque en http : //www.3gpp.org/specifications. Tenga en cuenta que el archivo .3gp es solo un formato contenedor (en su caso, uno utilizado en teléfonos móviles) y no tiene nada que ver con la paquetización de la red. Además, es posible que necesite/pueda leer H.264 SPS y PPS en algún lugar del encabezado. Podría ser importante que extraigas esa información. – Ralf

1

Eche un vistazo a x264 que es una implementación existente del códec. Es posible que desee considerar usar ese códec en lugar de implementar AVC desde cero.

5

Aquí es muy principios básicos de H.264

Si está escribiendo una aplicación para cámaras de red, RTP es lo que busca. Y si lo está implementando en C++, hay ffmpeg biblioteca que elegiría.

Cuestiones relacionadas