[Asterisk-Dev] video in iax2 spec

Steve Kann stevek at stevek.com
Thu Apr 28 16:43:50 MST 2005


Ben Lear wrote:

>Steve wrote:
>  
>
>>Derek Smithies wrote:
>>
>>    
>>
>>>Steve,
>>>my reading the paragraph (you wrote)
>>>
>>>
>>>      
>>>
>>>>The packetization for everything except theora seems pretty trivial
>>>>to do; just take the output of the encoder, and drop it into frames.
>>>>        
>>>>
>
>Garbage. Read the relevent RFC's and become enlightened.
>
>  
>
>>>>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).
>>>>        
>>>>
> 
>  
>
>>>suggests that you are intending different call handling for each
>>>different codec. So that Theora needs no additional packetization
>>>information added to the mini video frame. Other codecs need
>>>additional packetization information added to the mini video frames.
>>>
>>>What happens when you are going from h323 to iax2 (with video?). My
>>>view is that the video packetization format chosen should make voip
>>>protocol conversion easy. If the iax2 video packetization is codec
>>>dependendant, well, voip protocol conversion becomes hard.
>>>
>>>
>>>      
>>>
>>every codec already defines different formats for how they
>>must be packetized.
>>    
>>
>
>So you agree with Derek that IAX video formats should use packetization
>schemes(payload formats) as described in the relevent RTP RFC's.
>
>  
>
>>For theora, I've already written the
>>packetization such that it matches the (present) i-d
>>describing the RTP packetization. The problem is that that
>>specification depends on using SDP as well, as a reliable
>>channel to pass along the codebooks, and IAX2 doesn't use SDP.
>>    
>>
>
>Theora, that's excellent(if you just want to talk to your own
>implimentation)
>  
>
For now, that's really all I'm interested in. I am trying to make this 
useful for others, like I have already with the iaxclient project, and 
the jitterbuffer stuff, but all _I_ am really interested in doing is:

a) capture/display, encode/decode in iaxclient
b) transport via IAX2
c) videoconference in app_conference.
d) record to some format.

I only need to choose a single codec/format, and make that work.

So, yes, I am interested in making the payload formats the same as RTP, 
such that you can have iaxclient go through asterisk, and interoperate 
with RTP clients, but it's not something _I_ need to have done; it's a 
service to the community. I don't plan on doing any of the work in 
rtp.c, chan_sip, or any of that stuff.

I haven't settled on a codec that I'd like to use yet (although I've 
written basic drivers for ffmpeg[with it's subformats] and theora), but, 
theora, being unencumbered, is a huge plus. The quality from theora is 
similar to H.263/MPEG4, although the present library needs a lot of 
optimization, as it's seems an order of magnitude slower than ffmpeg at 
the moment.

If anyone wants to contribute to the cause, we can certainly broaden the 
goals.

-SteveK










More information about the asterisk-dev mailing list