RTSP IP camera feeding with GStreamer (video+audio) issue

Hello, Im trying to capture iMX8 webcam and microphone then using GStreamer stream it to RTSP (using rtsp-simple-server).
My goal is to subscribe to it as OpenVidu IP camera.
When I stream only video data everything is fine, but video+audio (using GStreamer’s mpegtsmux) looks laggy and noisy.
When I stream audio only (OPUS codec) IP camera stream is empty (no audio, no video).
Can You tell me whats wrong with this approach ?
I think it could be wrong audio parameters (channels/bitrate/frequency) or wrong container (using mpeg-ts).

GStreamer code for streaming both audio+video to RTSP

gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480 ! queue ! vpuenc_h264 ! queue ! mux. autoaudiosrc ! audioamplify amplification=128 ! queue ! audio/x-raw,channels=2,rate=48000 ! queue ! audioconvert ! audioresample ! queue ! opusenc ! queue ! mpegtsmux name=mux ! queue ! rtspclientsink location=rtsp://localhost:8554/mystream

GStreamer code for streaming video only to RTSP

gst-launch-1.0 v4l2src device=/dev/video2 ! video/x-raw,width=640,height=480 ! queue ! vpuenc_h264 ! queue ! rtspclientsink location=rtsp://localhost:8554/mystream

GStreamer code for streaming audio only to RTSP

gst-launch-1.0 autoaudiosrc ! audioamplify amplification=128 ! queue ! audio/x-raw,channels=2,rate=48000 ! queue ! audioconvert ! audioresample ! queue ! opusenc ! queue ! rtspclientsink location=rtsp://localhost:8554/mystream

Edit: I dont need IP Camera at all, I’m just looking for solution to stream video+audio from iMX8 (device’s webcam isn’t recognized by browser’s Navigator API which was my first option) to OpenVidu session.