Hi, Searched far and wide for a solution to this problem but couldn't find anything. I'm debugging a VoIP application that uses Speex and need to playback the raw speex frames to verify the quality. Wireshark helped me save the RTP payloads into a file but unfortunately, the speexdec utility seems to be wanting a valid header at the start of the file without which it reports an error. Is there any app that will let me play the speex frames? Have even tried Cain & Abel but that's not working either. Regards, Vinod.
what you need to do is this: take the wireshark raw dump, read each udp packet and write it back to another file. While writing back to the new file skip the sizeof udp header + rtp header. I can't recall how many bytes you need to skip, however, I suppose it would be in the range of 36 and 32 bytes. A five line perl script will do it. - farhan On 7/7/11, Vinod Panicker <vinod.p at gmail.com> wrote:> Hi, > > Searched far and wide for a solution to this problem but couldn't find > anything. > > I'm debugging a VoIP application that uses Speex and need to playback > the raw speex frames to verify the quality. Wireshark helped me save > the RTP payloads into a file but unfortunately, the speexdec utility > seems to be wanting a valid header at the start of the file without > which it reports an error. > > Is there any app that will let me play the speex frames? Have even > tried Cain & Abel but that's not working either. > > Regards, > Vinod. > _______________________________________________ > Speex-dev mailing list > Speex-dev at xiph.org > http://lists.xiph.org/mailman/listinfo/speex-dev >-- Sent from my mobile device
On Fri, Jul 8, 2011 at 6:39 AM, Ashhar Farhan <farhan at phonestack.com> wrote:> what you need to do is this: take the wireshark raw dump, read each > udp packet and write it back to another file. While writing back to > the new file skip the sizeof udp header + rtp header. I can't recall > how many bytes you need to skip, however, I suppose it would be in the > range of 36 and 32 bytes. A five line perl script will do it.Thanks for the suggestion, but Wireshark already does what you've suggested. There's an option to save the raw payload to a file. This file only has the speex frames (no udp+rtp headers). speexdec still complains about it not being a valid speex file presumably because the file is missing the header. Apart from manually constructing a header and prefixing it to the file, any other ideas? Regards, Vinod.