[asterisk-dev] RFC suggestion for video codec support

Luigi Rizzo rizzo at icir.org
Fri Sep 7 06:40:04 CDT 2007


Hi,
first of all, apologies for the crosspost to the -video list but this is
probably relevant there as well. Please keep the discussion on
-dev as i think it is of general interest.

As part of our work to extend chan_{oss|alsa|console} do deal with
incoming and outgoing video, we need to provide conversion between
some kind of raster format (YUV or RGB mostly, used by the SDL library
and webcams), and the compressed, ast_frame-based format used to
transport the video media within asterisk.

At the moment we have embedded the code in our modified channel drivers,
but of course this is something that should go externally.

The 'translator' architecture used for audio could be one way to go,
but there are differences between audio and video that make the task not
completely straightforward.

The first difficulty i see is that both the raster and the compressed
format have a zillion options (plane layout, sizes, etc. for the
raster; data rates, quality, compressor options for the encoded
format) which at least require a slightly different API for
ast_translator() and friends, to accommodate the extra options.

I am not very clear on how to go on this, one option could be to
adapt the ast translator architecture to support the
extra arguments when building a translator path (and also using
different tables for audio and video). I am not sure how
difficult or how useful is this - unless we plan to do video
transcoding, there is probably not much of a point.

Another, simpler approach, would be just to design a simplified api
that allows only one-pass translation between raster <-> compressed
format, the latter stored into a list of ast_frame.

opinions ?

	cheers
	luigi



More information about the asterisk-dev mailing list