Problem using audiofx in a live/webrtc context

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Problem using audiofx in a live/webrtc context

GStreamer-devel mailing list
Hello,

I've successfully used audiofx elements to process files, for instance
with audioecho:

gst-launch-1.0 filesrc location=in.wav ! decodebin ! audioconvert !
audio/x-raw, channels=1 ! audioecho delay=500000000 intensity=0.6
feedback=0.4 ! wavenc ! filesink location=out.wav

But within a webrtc initiated stream, the processed sound is polluted
with small noises or silences. If I use a tee to record the result:

appsrc format=time is-live=true do-timestamp=true name=src !
application/x-rtp,payload=111,encoding-name=OPUS !
rtpopusdepay !
decodebin !
audioconvert !
audioecho delay=500000000 intensity=0.6 feedback=0.4 !
audioconvert !
opusenc !
tee name=teeout !
queue max-size-buffers=0 max-size-bytes=0 max-size-time=5000000000 !
oggmux ! filesink location=logs/audio-out.ogg
teeout. !
queue max-size-buffers=0 max-size-bytes=0 !
rtpopuspay !
appsink name=sink qos=true

-> Interestingly the recorded file is free from defects, while the live
heard output is polluted (same result without the tee and queues).

I have tried several audiofx elements with the same result, but when I
use the pitch plugin, the problem does not occur.

Is there anything to consider in this pipeline to have audiofx work?

Ultimately, my goal is to reuse a simple working GstAudioFilter source
code and modify it to create a different effect.

Thanks,
Guillaume

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Problem using audiofx in a live/webrtc context

GStreamer-devel mailing list
More broadly I am trying to create a simple audio effect plugin. I've
adapted/cut the source code from audioinvert (in audiofx) to have this
minimal plugin (passthrough/identity):

https://gist.github.com/silently/c3821dcf7b65767538378b445d0346e5

(and later my goal is to process the signal in its  transform function
<https://gist.github.com/silently/c3821dcf7b65767538378b445d0346e5#file-passthrough-c-L161>
)

This plugin works in offline/file-to-file mode, but on a live stream all
kind of time related issues appear: silences, time warping... (and when I
use audiofx plugins similar issues happen in the pipeline described in the
previous message).

Would anyone have hints on what is missing in this plugin or in the pipeline
using it?

Many thanks, Guillaume





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel