I'm facing Audio distortion while capturing the Audio input while sending audio/video streams over network.
It seems that the networking is causing interferences into audio input.
Is somebody else facing the same issue ?
Is there a way to fix that ? (otherwise, the A20 builtin Audio becomes quite useless, I will have to add USB audio device to workaround that issue)
I've finally found the source of the problem !
I've used the following GStreamer pipelines to narrow the problem :
Transmitter side :
gst-launch v4l2src device=/dev/video1 ! videorate ! video/x-raw-yuv,width=640,height=480,framerate=6/1 ! jpegenc quality=30 ! multipartmux ! tcpserversink port=5000 alsasrc ! queue ! audioconvert ! speexenc ! rtpspeexpay ! udpsink port=5002 host=10.111.111.11
Client side :
gst-launch tcpclientsrc host=10.111.111.150 port=5000 ! queue ! jpegdec ! autovideosink udpsrc port=5002 caps="application/x-rtp, media=(string)audio,clock-rate=(int)44100,encoding-name=(string)SPEEX, encoding-params=(string)1,payload=(int)110" ! rtpspeexdepay ! decodebin ! audioconvert ! audioresample ! alsasink
There was the "tick" issue. If I remove the video stream, the "tick" disappear. Then, I tried to isolate if it was network or not by replacing the "tcpserversink" by a "fakesink". The "tick" was still there ... I decide to verify the UVCWebCam source, I've replace it with a "videotestsrc", the "tick" disappeared ! So, what's wrong with this USB WebCam ?
I've suddenly realized : This is a WebCam with integrated Microphone !
Probably it is the cable shielding ! I've decided to plug a Microphone from another WebCam of the same model. Bingo ! Yes, it is the cable ! Poor Chinese WebCam !
So, the real solution is to have separate wires for Microphone and the USB !