[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