Ethereal-users: Re: [Ethereal-users] Question regarding voice playback and G.726-32k
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "Martin Regner" <martin.regner@xxxxxxxxx>
Date: Sat, 31 Jan 2004 17:19:56 +0100
Dave Smith: > Are there any tentative plans to support exporting RTP sessions into .au > files using other codecs such as G.726? If not, can anyone point me to a > way to convert these RTP sessions to an external program which will do this > task for me? I don't know if someone has any plans to introduce support for G.726 codec. The problem with many codecs is that there are patent/license issues that I think can make it difficult/impossible to introduce support for several normal codecs (e.g. G.723.1 and G.729) in a GTK licensed program such as Ethereal. I don't know so much about G.726 codec, but it seems that openh323 software is supporting G.726 codec and it actually seems that the source code files g726_16.c, g726_24.c, g726_32.c and g726_40.c are available for unrestricted use. According to http://www.iana.org/assignments/rtp-parameters G.726-32 codec is using dynamic payload types (or can it also be static payload type 2, G.721?) which makes it impossible to determine what codec is used just based on the RTP packet content which makes it a bit more complicated to add support for G.726 in RTP Analysis. Another alternative could be to save the RTP stream in rtpdump format (Analyze/Statistics/RTP Streams/Show all.../Save as..) and use e.g. rtpplay to send the RTP stream towards some program that supports G.726-32 codec and can listen for RTP packets on a certain port. QuickTime Player can listen on a specific port (or specific ports) by using an sdp-file (but this only works for the codecs that are suported in QuickTime). I don't know if QuickTime Player supports G.726-32k (and exactly what you would need to write in the sdp-file if G726 is supported) This document says Quicktime supports ADPCM at least, but I don't know that that could mean that G.721/G.726-32 is supported. http://www.isholf.is/klipklap/quicktime/ Below is a short summary how you can use QuickTime Player together with rtpplayer to replay audio and video. I have used this method for H.263-2000 video, H.261 video, PCMU audio, PCMA audio, AMR audio and some other codes. You can experiment with the Avican sample files if you want (H.261 video and PCMU audio RTP packets in libpcap compatible files): http://netgroup-serv.polito.it/avican/examples/index.htm 1) Install QuickTime player 2) Download rtptools http://www.cs.columbia.edu/IRT/software/rtptools/ 3) Prepare an *.sdp file for the codecs/payloadtypes/ports you want to use (the other information in the SDP-file seems not to be important). I have put in a sample below of the SDP-file I used when testing with the Avican sample files. 4) Prepare rtpdump files with Ethereal (Analyze/Statistics/RTP Streams/Show all.../Save as..) for the two streams. You'll have to use Decode As.. to decode port 5000 and 6000 as RTP in this specific case. 5) Start up Quicktime Player and use File/Open Movie in New Player... and select the sdp-file you prepared (or it might be enough to double click on the SDP-file if sdp files are asociated with QuickTime Player) 6) use rtpplay to send the RTP packets (audio and/or video) towards your own ip-address on the port numbers used in the SDP-file: <rtpplay -T -f audioPCMU_0.rtp 127.0.0.1/5000 you will need two shells in order to send both audio and video <rtpplay -T -f videoH261_31.rtp 127.0.0.1/5002 7) You'll have to close the QuickTime player window between each time you start again with sending media towards Quick Time Player (I guess this is because it expects the packets to come in sequence order). PS! It should also be possible to use JMF JMStudio as an alternative to QuickTime Player in this case since JMStudio also supports both H.261 and PCMU. You will not use a sdp file then (and thus it is not possible to use this method for dynamic payload types). You use the menu alternative File/Open RTP Session... and specify the port to listen on (the easiest is to use the same port for both audio and video) and send the RTP packets to that port with rtpplay. -------------- testfile.sdp --------------------------------- v=0 o=mhandley 2890844526 2890842807 IN IP4 10.10.10.10 s=SDPTest i=SDP file for G711 audio on port 5000 and H261 video on port 5002 c=IN IP4 10.10.10.10 t=0 m=audio 5000 RTP/AVP 0 8 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000 m=video 5002 RTP/AVP 31 a=rtpmap:31 H261/90000 ------------------------------------------------
- References:
- [Ethereal-users] Question regarding voice playback and G.726-32k
- From: Dave Smith
- [Ethereal-users] Question regarding voice playback and G.726-32k
- Prev by Date: [Ethereal-users] hostname substitued in trace for ip without using DNS
- Next by Date: Re: [Ethereal-dev] Re: [Ethereal-users] Product performs differently than documentation.
- Previous by thread: [Ethereal-users] Question regarding voice playback and G.726-32k
- Next by thread: [Ethereal-users] Sample captures? (GPRS/GSM/SS7/UMTS/ALCAP/RANAP)
- Index(es):