interleave/deinterleave in Gst.Bin for gstwebrtc (Python)

Jack jack at rybn.org
Fri Jan 25 14:19:47 UTC 2019


Hello,

I have this pipeline encapsulated in a Gst.Bin object in Python working
gracefully with gstwebrtc :

filesrc location=17seconds48000D.wav !
wavparse !
volume name="vol0" volume=0.5 !
opusenc frame-size=2 max-payload-size=400 !
rtpopuspay pt=96 !
application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
!
queue


But this second pipeline doesn't work :

filesrc location=17seconds48000D.wav !
wavparse !
deinterleave name=d
d.src_0 !
queue !
volume name="vol0" volume=0.5 ! i.
interleave name=i !
opusenc frame-size=2 max-payload-size=400 !
rtpopuspay pt=96 !
application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
!
queue


Webrtc seems to work properly but I don't get sound.

I tested the second pipeline with gst-launch-1.0 and it works fine (no
error) :
$ gst-launch-1.0 filesrc location=17seconds48000D.wav ! wavparse !
deinterleave name=d d.src_0 ! queue ! volume name="vol0" volume=0.5 ! i.
interleave name=i ! opusenc frame-size=2 max-payload-size=400 !
rtpopuspay pt=96 !
application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
! fakesink

and if I replace "rtpopuspay pt=96 !
application/x-rtp,media=audio,encoding-name=OPUS,payload=96,clock-rate=48000
! fakesink" with "oggmux ! filesink location=output.ogg" in this command
line, the soundfile is good !


So, my question is : is there an issue between interleave/deinterleave
and gstwebrtc (or something else) or I missed something ? (bacause I
couldn't be able to use interleave/deinterleave in a Gst.Bin object ?).
++

Jack



More information about the gstreamer-devel mailing list