How to multiplex audio and video into mpegtsmux

jmz jmzheng at gmail.com
Thu Oct 12 03:12:17 UTC 2017


Hi Vinod,


Vinod Kesti wrote
> You can try this.
> Set pipeline to Paused in the start and set to playing state in
> "no-more-pads" call back of rtspsrc. 

Thank you for your reply. I modified my program as you suggested, but it
does not work. My program flow is as follows: 

a) Create rtspsrc & mpegtsmux & sink and add them to pipeline
b) Set pipeline to PAUSED
c) Set rtspsrc to PLAYING
d) In pad-added callback of rtspsrc, add video and audio stream to pipeline,
link elements, and sync state with pipeline
e) In no-more-pads callback of rtspsrc, set pipeline to PLAYING

Step c is necessary because rtspsrc needs to prcoess stream. In such flow, I
still get the same error:
ERROR: from element /GstPipeline:pipeline/MpegTsMux:mpegtsmux0: Could not
multiplex stream.
Stream on pad <mpegtsmux0:sink_66> is not associated with any program

If step b is skipped (that is, except for rtspsrc, the other elements start
to change state from NULL to PLAYING in the step), the pipeline is not
playing and a warning message is shown continuously:
WARN               rtpsource rtpsource.c:920:calculate_jitter: cannot get
current running_time

If I use the same flow but handle ONLY ONE steam in step d, the pipeline is
playing.

Did I miss anything?




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/


More information about the gstreamer-devel mailing list