<div dir="ltr"><div>Hi,<br><br></div><div>I'm trying to transcode RTMP h264/speex stream to h264/aac HLS segments.<br>gstreamer 1.2.4 on Ubuntu 14.04<br></div><div>I can play the RTMP stream with playbin.<br></div><div>I think I'm missing some queues and caps but not sure where.<br></div><div>I'm getting gst_caps_can_intersect error.<br></div><div><br></div><div>This is the command and output:<br></div><div><pre>gst-launch-1.0 -v rtmpsrc name=rtmpsrc location="rtmp:/localhsot/app/stream" ! \
<a name="line-2"></a> flvdemux name=demux \
<a name="line-3"></a> demux.video ! mux. \
<a name="line-4"></a> demux.audio ! speexdec ! audioconvert ! voaacenc ! aacparse mux. \
<a name="line-5"></a> mpegtsmux name=mux ! hlssink
<a name="line-6"></a>
<a name="line-7"></a>Setting pipeline to PAUSED ...
<a name="line-8"></a>Pipeline is PREROLLING ...
<a name="line-9"></a>/GstPipeline:pipeline0/GstSpeexDec:speexdec0.GstPad:sink: caps = audio/x-speex, streamheader=(buffer)< 5260616552202020312e312e321200000000000000000000000000000100000050000000803f0000010000000300000001000000ffffffff500000000000000001000000000000000000000000000000, 4e5f20536f6d6d656e746300 >, rate=(int)5512, channels=(int)1
<a name="line-10"></a>/GstPipeline:pipeline0/GstSpeexDec:speexdec0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)16000, channels=(int)1
<a name="line-11"></a>/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)16000, channels=(int)1
<a name="line-12"></a>/GstPipeline:pipeline0/GstVoAacEnc:voaacenc0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)16000, channels=(int)1
<a name="line-13"></a>/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = audio/x-raw, format=(string)S16LE, layout=(string)interleaved, rate=(int)16000, channels=(int)1
<a name="line-14"></a>/GstPipeline:pipeline0/GstVoAacEnc:voaacenc0.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, channels=(int)1, rate=(int)16000, stream-format=(string)raw, level=(string)1, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1408
<a name="line-15"></a>
<a name="line-16"></a>(gst-launch-1.0:10878): GStreamer-CRITICAL **: gst_caps_can_intersect: assertion 'GST_IS_CAPS (caps2)' failed
<a name="line-17"></a>
<a name="line-18"></a>(gst-launch-1.0:10878): GStreamer-CRITICAL **: gst_caps_can_intersect: assertion 'GST_IS_CAPS (caps2)' failed
<a name="line-19"></a>
<a name="line-20"></a>(gst-launch-1.0:10878): GStreamer-CRITICAL **: gst_mini_object_unref: assertion 'mini_object != NULL' failed
<a name="line-21"></a>/GstPipeline:pipeline0/GstAacParse:aacparse0.GstPad:src: caps = audio/mpeg, mpegversion=(int)4, channels=(int)1, rate=(int)16000, stream-format=(string)adts, level=(string)1, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1408, framed=(boolean)true
<a name="line-22"></a>/GstPipeline:pipeline0/GstAacParse:aacparse0.GstPad:sink: caps = audio/mpeg, mpegversion=(int)4, channels=(int)1, rate=(int)16000, stream-format=(string)raw, level=(string)1, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1408
<a name="line-23"></a>ERROR: from element /GstPipeline:pipeline0/GstRTMPSrc:rtmpsrc: Internal data flow error.
<a name="line-24"></a>Additional debug info:
<a name="line-25"></a>gstbasesrc.c(2865): gst_base_src_loop (): /GstPipeline:pipeline0/GstRTMPSrc:rtmpsrc:
<a name="line-26"></a>streaming task paused, reason not-linked (-1)
<a name="line-27"></a>ERROR: pipeline doesn't want to preroll.
<a name="line-28"></a>Setting pipeline to NULL ...
<a name="line-29"></a>/GstPipeline:pipeline0/GstAacParse:aacparse0.GstPad:src: caps = NULL
<a name="line-30"></a>/GstPipeline:pipeline0/GstAacParse:aacparse0.GstPad:sink: caps = NULL
<a name="line-31"></a>/GstPipeline:pipeline0/GstVoAacEnc:voaacenc0.GstPad:src: caps = NULL
<a name="line-32"></a>/GstPipeline:pipeline0/GstVoAacEnc:voaacenc0.GstPad:sink: caps = NULL
<a name="line-33"></a>/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:src: caps = NULL
<a name="line-34"></a>/GstPipeline:pipeline0/GstAudioConvert:audioconvert0.GstPad:sink: caps = NULL
<a name="line-35"></a>/GstPipeline:pipeline0/GstSpeexDec:speexdec0.GstPad:src: caps = NULL
<a name="line-36"></a>/GstPipeline:pipeline0/GstSpeexDec:speexdec0.GstPad:sink: caps = NULL
<a name="line-37"></a>/GstPipeline:pipeline0/GstFlvDemux:demux.GstPad:video: caps = NULL
<a name="line-38"></a>/GstPipeline:pipeline0/GstFlvDemux:demux.GstPad:audio: caps = NULL
<a name="line-39"></a>Freeing pipeline ...<br><br></pre><pre>Thanks<br></pre></div></div>