Envía la captura de h264 de Android a través de un flujo rtp

Estoy escribiendo un transmisor de video rtp para android que lee datos codificados en h264 de un socket local de Android y los empaqueta. Lo que pasa es que lo hice pero sigo obteniendo marcos negros en el lado del cliente (VoIP).

La comunicación es la siguiente: Android -> Asterisk -> Jitsi (Osx) (y reverso)

Hay algunas cosas que no he entendido todavía:

1) El mediarecorder de Android me da un flujo de h264 en bruto. ¿Cómo puedo saber cuándo un NAL comienza / termina en función de ese flujo? No tiene ningún patrón 0x000001 pero sí tiene un 0x0000 (que supongo que es un separador)

EDITAR:

Añadiendo más información. Estos son 2 (primero, segundo) diferentes lecturas del buffer de entrada (en orden). Si lo entendí bien, los primeros 4 bytes deberían usarse para obtener la longitud de NALU y el quinto (índice 4) es el encabezado de NALU.

Copiaré aquí los valores del byte para uso futuro:

<code>1) 0 0 12 114 101 -72 4 25 -15 -1 -121 -53 .....

   length = (114&0xFF) + (12&0xFF)*256 + (0&0xFF)
   length -> 3186

   forbidden = 101 & 0x80
   forbidden -> 0

   nri = 101 & 0x60
   nri -> 96

   nal_unit_type = 101 & 0x1F
   nal_unit_type -> 5


2) 0 0 1 -93 97 -32 32 103 -14 93 -1 .... 

   length = (-93&0xFF) + (1&0xFF)*256 + (0&0xFF)
   length -> 419

   forbidden = 97 & 0x80
   forbidden -> 0

   nri = 97 & 0x60
   nri -> 96

   nal_unit_type = 97 & 0x1F
   nal_unit_type -> 1
</code>

¿es esto correcto?

2) ¿Cómo puedo obtener la marca de tiempo NALu y su longitud de ese flujo?

3) Por alguna razón, los paquetes se están marcando (incluso cuando desarmo el marcador). (En caso de que compruebe el archivo pcap) [FIJO: No estaba usando el mismo SSCR para cada paquete]

Aquí está unpcap captura de la secuencia que viene de asterisco (que viene de Android). El dispositivo Android es un Asus Transform Prime con Android ICS.

Estoy enviando el modo de paquetización (1) y la identificación de nivel de perfil (42801e) en el sdp, también he intentado enviar los sprops (sps:Z0KAHpWgUHxA, psp:aM48gA==) parámetro pero nada cambió.

Aclamaciones.

Respuestas a la pregunta(1)

Su respuesta a la pregunta