Gstreamer latency MpegTsMux Xavier + jetson Nano

Hello,

I am testing some Gstreamer cmd line to send video (from v4l2device) and audio (Microphone) over udp with MPEGTSMUX. I am using two embedded boards one is the jetson nano and the other one the jetson xavier.
I am using h265enc + MP3 or AAC with mpegtsmux. When i send video and audio separately it works pretty well -> no lag 200ms…

But when i mux audio+video i have some frames that has been dropped.

Please find my following pipeline:

Xavier:

Video:
gst-launch-1.0 v4l2src device=/dev/video0 io-mode=2 ! “image/jpeg,framerate=30/1,width=1920,height=1080” ! nvjpegdec ! timeoverlay ! video/x-raw ! nvvidconv ! “video/x-raw(memory:NVMM),format=(string)I420” ! nvv4l2h265enc bitrate=2000000 insert-sps-pps=true maxperf-enable=1 ! ‘video/x-h265, stream-format=(string)byte-stream’ ! h265parse ! mpegtsmux alignment=7 ! udpsink host=192.168.1.145 port=5001 sync=false async=false

Audio:
gst-launch-1.0 -v alsasrc device=“sysdefault:CARD=ArrayUAC10” ! ‘audio/x-raw,rate=16000, channels=(int)1,format=(string)S16LE’ ! lamemp3enc bitrate=128 target=bitrate encoding-engine-quality=0 ! audio/mpeg, mpegversion=1 ! mpegaudioparse ! mpegtsmux ! udpsink host=192.168.1.145 port=5002 sync=false async=false

Nano side:

Video:
gst-launch-1.0 udpsrc port=5001 ! tsparse ! tsdemux ! h265parse ! nvv4l2decoder enable-max-performance=1 ! videorate ! ‘video/x-raw(memory:NVMM),framerate=30/1’ ! nvoverlaysink sync=false async=false -e

Audio:
gst-launch-1.0 udpsrc port=5002 ! tsparse ! tsdemux ! mpegaudioparse ! queue ! avdec_mp3 ! audioconvert ! autoaudiosink sync=false

With Video/audio mpegtsmux:

Xavier:
gst-launch-1.0 v4l2src device=/dev/video0 io-mode=2 num-buffers=300 ! “image/jpeg,framerate=30/1,width=1920,height=1080” ! nvjpegdec ! timeoverlay ! video/x-raw ! nvvidconv ! “video/x-raw(memory:NVMM),format=(string)I420” ! nvv4l2h265enc bitrate=2000000 insert-sps-pps=true maxperf-enable=1 ! ‘video/x-h265, stream-format=(string)byte-stream’ ! h265parse ! mpegtsmux alignment=7 name=mux alsasrc device=“sysdefault:CARD=ArrayUAC10” ! ‘audio/x-raw,rate=16000, channels=(int)1,format=(string)S16LE’ ! lamemp3enc bitrate=128 target=bitrate encoding-engine-quality=0 ! audio/mpeg, mpegversion=1 ! mpegaudioparse ! mux. mux. ! udpsink host=192.168.1.145 port=5001 sync=false async=false

Nano:
gst-launch-1.0 udpsrc port=5001 ! video/mpegts ! tsparse ! tsdemux name=demux demux. ! mpegaudioparse ! avdec_mp3 ! audioconvert ! autoaudiosink sync=false demux. ! h265parse ! nvv4l2decoder enable-max-performance=1 ! videorate ! ‘video/x-raw(memory:NVMM),framerate=30/1’ ! nvoverlaysink sync=false async=false -e

Could you help to resolve this error?

Best regards

Hey - did you ever figure this out? I’m having a similar issue sending H.265 w/ audio over UDP.