Postby TheVirgile » 20 Apr 2010 12:14
For those interested in VLC, he is able to read the H263 codec in RTP H.263.
Payload Type 32
To do this we must create an AVI file with the RTP packet stream.
Basically you take your RTP packet and you put it in a file or you will add. Avi extension. His march, but it was not terrible images.
To get a better picture quality, you simply add the avi header once and removing the RTP header of every packet received.
AVI header
PHEAD [0] = 0x52, / / R
PHEAD [1] = 0x49, / / I
PHEAD [2] = 0x46, / / F
PHEAD [3] = 0x46, / / F
PHEAD [4] = 0x00, / /
PHEAD [5] = 0x00, / /
PHEAD [6] = 0x00, / /
PHEAD [7] = 0x00, / /
PHEAD [8] = 0x41, / / A
PHEAD [9] = 0x56, / / V
PHEAD [10] = 0x49, / / I
PHEAD [11] = 0x20, / /
That is already a solution.
Caution has its area of work only in VLC 1.0.5.
---------------------------------------------------------------------------------------------------------------------------------------------
Pour ceux que sa intéresse VLC est capable de lire le codec H263, issue d'un flux RTP H.263.
Payload Type 32
Pour cela il faut créer un fichier avi avec les packet du flux RTP.
En gros vous prenez votre packet RTP et vous le mettez dans un fichier ou vous rajouterez .avi en extension. Sa marche, mais on a des images pas terrible.
Pour avoir une meilleur qualité d'image, il vous suffira de rajouter l'entête de l'avi une fois et de retirer l'entête RTP de tous les packet reçus.
Entête AVI en C
pHeader[0] = 0x52; //R
pHeader[1] = 0x49; //I
pHeader[2] = 0x46; //F
pHeader[3] = 0x46; //F
pHeader[4] = 0x00; //
pHeader[5] = 0x00; //
pHeader[6] = 0x00; //
pHeader[7] = 0x00; //
pHeader[8] = 0x41; //A
pHeader[9] = 0x56; //V
pHeader[10] = 0x49; //I
pHeader[11] = 0x20; //
Voila déjà une solution.
Attention sa n'a l'aire de marcher que sur VLC 1.0.5.