Envie a captura do Android h264 por um fluxo de rtp

Estou escrevendo um streamer de vídeo RTF para Android que lê dados codificados h264 de um soquete local Android e empacotá-lo. A coisa é que eu fiz isso, mas eu continuo recebendo quadros negros no lado do cliente (Voip).

A comunicação é assim: Android -> Asterisk -> Jitsi (Osx) (e reverso)

Há algumas coisas que ainda não entendi:

1) Mediarecorder do Android me dá um fluxo h264 brutos, como posso saber quando um NAL começa / termina com base nesse fluxo? Ele não tem nenhum padrão 0x000001, mas ele tem um 0x0000 (que eu estou supondo que seja um separador)

EDITAR:

Adicionando mais informações. Estes são 2 (primeiro, segundo) leituras diferentes do buffer de entrada (em ordem). Se eu acertar, os primeiros 4 bytes devem ser usados ​​para obter o comprimento NALU e o 5º (índice 4) é o cabeçalho NALU.

Vou copiar aqui os valores do byte para uso futuro:

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

isso está correto?

2) Como posso obter o registro de data e hora NALu e seu comprimento desse fluxo?

3) Por algum motivo, os pacotes estão sendo marcados (mesmo quando eu desarmar o marcador). (Caso você verifique o arquivo pcap)FIXO: Eu não estava usando o mesmo SSCR para cada pacote]

Aqui está umpcap captura do fluxo vindo do asterisco (que vem do Android). O dispositivo Android é um Asus Transform Prime com o Android ICS.

Estou enviando o modo de empacotamento (1) e id de nível de perfil (42801e) no sdp, também tentei enviar os sprops (sps:Z0KAHpWgUHxApsp:aM48gA==) parâmetro mas nada mudou.

Felicidades.