[streaming] RTP streaming - codecs question
Diego Susa
dsusa at cestel.es
Thu Nov 23 22:19:43 CET 2006
Hi
I'm new to VideoLAN and streaming, but I'm trying to see if it fits in
my project.
What I'm trying to do is using the rtsp_VoD module to feed some video
and audio clips into some SIP softphones via RTP. I have an RTSP client
application which tells the VoD server what stream to play, and I've
managed to also tell it "where" to play it to. I just use the
"destination" parameter of the SETUP request, to tell the softphone's
RTP endpoint IP and port. But the question is not about these, that was
just to give you an idea of the "environment".
What I can't find is a solution to an apparent audio codecs total mismatch.
As I see, the video streams are not a problem because there's not so
much to choose. As far as I know H263 seems to be the most widespread
codec, and H264 the "next to be"...
But the situation is not that clear with the audio codecs.
The most common Audio codecs (and their payload types) in softphones
are: PCMU/8000 (pt:0), GSM/8000 (pt:3) and G723/8000 (pt:4). There also
some others very popular like G729, DVI4, and Speex.
The problem is that "none" of them seem to be supported at the RTP
output_stream module
... or am I missing something ?
I've searched through /modules/stream_out/rtp.c, and I've just found
these functions:
rtp_packetize_l16;
rtp_packetize_l8;
rtp_packetize_l8;
rtp_packetize_mpa;
rtp_packetize_mpv;
rtp_packetize_ac3;
rtp_packetize_h263;
rtp_packetize_split;
rtp_packetize_mp4a;
rtp_packetize_mp4a_latm;
rtp_packetize_amr;
rtp_packetize_amr;
And NONE of them account for any of the audio codecs I've mentioned
above ... :-(
Does it mean I should give up and asume that there's no way to send
those audio streams using RTP ?
In the case of the "sad" answer. Please give me a hint on this:
What I've seen at that "rtp.c", and also at "rtsp.c", is that the
streams are evaluated by their FOUR-CC codes, in order to choose the
right "packetizer". When I load some simple audio files that have
FOURCC="ulaw", the switch/case fails to find a match and tells me
"unssuported codec". Does this suggest that I could "add" support
for other codecs, by adding a new "case" and a new "packetizer"
function, for example for a PCMU/8000 payload ? ... in the case I could
find out how to build that function, of course :-)
thanks in advance for any help,
kind regards, and keep on with such a great app your doing !
Diego Susa
--
This is the streaming mailing-list, see http://www.videolan.org/streaming/
To unsubscribe, please read http://www.videolan.org/support/lists.html
More information about the streaming
mailing list