mpegtsmux with ximagesrc

Cahill, Ben M ben.m.cahill at intel.com
Mon Jul 25 10:19:08 PDT 2011


Hi all,

I'm trying to capture desktop display (via H264) and system audio (via AAC) to send via TS->RTP->udp to another computer.

The pipeline below works as long as something is moving within the desktop display.  But, if display doesn't change, ximagesrc stops delivering frames (which saves needless thrash), and mpegtsmux output stops dead; mpegtsmux's collectpads won't do anything until *all* input pads (i.e. both audio *and* video) have data queued.

Is this "sporadic", non-periodic video a valid usage case for TS?

If so, any suggestions for an alternative/workaround?  I've tried videorate in front of the H264 encoder, but that swamps the system with needless thrash.  I'm also trying to hack mpegtsmux to allow it to package/forward audio frames even when video stops, but having problems getting things started (non-negotiated caps?? for the stream that starts second).

Pipeline:

video:
ximagesrc ! ffmpegcolorspace ! x264enc ! queue ! mpegtsmux

audio:
autoaudiosrc ! ffenc_aac ! mpegtsmux

transport:
mpegtsmux ! rtpmp2tpay ! udpsink

Thanks.

-- Ben --


More information about the gstreamer-devel mailing list