I am receiving an RTSP source with both audio (AAC) and video (H264). I receive the 2 rtp streams properly. My goal is to mux them into a single MP2T stream. The video works fine and can be displayed on the ultimate destination. The audio doesn't render on the destination. There are a couple of pops at first, then silence. I have turned up logging on decodebin2 (on the destination) and faad/faac on the intermediate system (log level 5) and there aren't any errors. When I use a script to receive the RTSP and render both the audio and video it works fine, so I know that this can be done. I need this in C++ but am trying to get scripts with gst-launch working first. Here is my intermediate script that receives RTSP/RTP and transmits MP2T.<br>
<br>gst-launch -v rtspsrc location=rtsp://server:/filename.sdp name=src \<br> src. ! queue ! rtph264depay ! mux. \<br> src. ! queue ! decodebin2 ! faac ! mux. \<br> mpegtsmux name=mux ! udpsink host=$1 port=$2<br>
<br>Here is my script for receiving/rendering.<br><br>gst-launch udpsrc port=$1 ! mpegtsdemux name=demux \<br> demux. ! queue ! video/x-h264 ! ffdec_h264 ! xvimagesink sync=false \<br> demux. ! queue ! decodebin2 ! autoaudiosink<br>
<br>I have also tried putting in a 'T' in the intermediate system to write the audio stream to a file. When I tried to play that audio only file on VLC I got these continuous error messages: Multiple blocks per frame in ADTS is not supported. The audio stream does seem to be stereo.<br>
<br>Any suggestions?<br><br>Thank you in advance,<br>Chuck Crisler<br><br><br>