How to use rtpvorbisdepay with vorbisparse/matroskamux?
Peter Randeu
peter.randeu at spintower.eu
Wed Jun 5 03:58:04 PDT 2013
On 2013-06-05 11:59, Tim-Philipp Müller wrote:
> On Wed, 2013-06-05 at 09:30 +0200, Peter Randeu wrote:
>
>> gst-launch-1.0 audiotestsrc is-live=true ! vorbisenc ! rtpvorbispay !
>> rtpvorbisdepay ! matroskamux ! fakesink silent=false -v
>>
>> The problem is that the fakesink produces no output.
>
> Maybe because sine waves tend to compress rather well and the packets
> are only a few bytes each ?
The bytes are magically compressed into nothing? Well... I don't think
so. The following pipe, using white noise as input data, does not
produce any output on the fakesink element also:
gst-launch-1.0 audiotestsrc is-live=true wave=white-noise ! vorbisenc !
rtpvorbispay ! rtpvorbisdepay ! vorbisparse ! fakesink silent=false -v
If I replace vorbisparse with vorbisdec it works. But I do not want to
decode the stream, I just want to pass it to a matroskamux and store it
in a file.
>> gst-launch-1.0 audiotestsrc is-live=true ! vorbisenc ! rtpvorbispay !
>> $RTPCAPS ! rtpvorbisdepay ! $VORBISCAPS ! vorbisparse ! matroskamux !
>> fakesink silent=false -v
>>
>> where $VORBISCAPS are the caps of the vorbisenc src-pad and $RTPCAPS are
>> the caps of the rtpvorbispay src-pad.
>>
>> Do I miss something to get the above pipeline working?
>
> You need to pass the full RTP caps including the header bits to udpsrc
> on the receiver side. It can't pick up things 'in the middle' without
> those headers for vorbis. (If you use an RTSP server that setup info is
> passed in the SDP).
Yes I know and of course I have set the caps (see my example above), but
that did not help.
So the problem must be somewhere else.
Peter
More information about the gstreamer-devel
mailing list