[Asterisk-Dev] video in iax2 spec

Steve Kann stevek at stevek.com
Wed Apr 27 16:36:48 MST 2005


Derek Smithies wrote:

>Hi,
>  I would like to put some more detail in the video sections of the iax2 
>spec. One place for detail is looking at example applications/packet 
>dumps.
>
>Question: does anyone know of iax2 applications that do video.
>
>A google search found gnophone, but gnophone does not do h261 or h263..
>
>  
>
I'm working on adding video support to iaxclient, at the moment.

I haven't quite gotten to packetization yet (I am up to that point, but 
I only have it running on one platform at the moment (linux), and keep 
getting sidetracked trying to get all the pieces working on Win32 and 
MacOSX).

My idea for packetization will probably be really simple; one encoded 
frame per IAX2 video frame; keyframes should probably ALWAYS be send as 
full frames, and inter frames as mini-video frames.

I also plan to add a few codecs; here's what I have for testing:

#define IAXC_FORMAT_JPEG (1 << 16) /* JPEG Images */
#define IAXC_FORMAT_PNG (1 << 17) /* PNG Images */
#define IAXC_FORMAT_H261 (1 << 18) /* H.261 Video */
#define IAXC_FORMAT_H263 (1 << 19) /* H.263 Video */
#define IAXC_FORMAT_H263_PLUS (1 << 20) /* H.263+ Video */
#define IAXC_FORMAT_MPEG4 (1 << 21) /* MPEG4 Video */
#define IAXC_FORMAT_H264 (1 << 23) /* H264 Video */
#define IAXC_FORMAT_THEORA (1 << 24) /* Theora Video */


I have all these working (well, I don't actually have JPEG and PNG yet).

The packetization for everything except theora seems pretty trivial to 
do; just take the output of the encoder, and drop it into frames. 
Theora, however, is like vorbis, in that it has codebooks and stuff that 
need to be sent reliably between endpoints. I might need to use an IE 
for this kind of thing, although they could be sent in reliably 
transmitted frames. I plan to follow the i-d for RTP packetization for 
this, but they're changing that around a bit. (you can see my comments 
about this in the xiph-rtp mailing list).

-SteveK





More information about the asterisk-dev mailing list