hlssink and openh264

Rand Graham rand.graham at lge.com
Thu May 18 13:57:07 UTC 2017


I have seen the "delayed delayed linking failed no more pads error" before. I do not have a general solution for it. It is extremely frustrating.

In your specific case I would recommend a more explicit pipeline where you demux the audio stream and video stream into separate queues and process the audio and video separately. That is come up with a pipeline that does not use decodebin. Also, keep in mind for HLS you are going to need AAC audio.

Here is an example HLS pipeline that works for me.

// HLS Sink example
gst-launch-1.0 -v -e mpegtsmux name=m m. ! queue ! hlssink filesrc location=/home/rdg/data/the_canoe_h265.ts ! tsdemux name=d d. ! queue max-size-buffers=1200 max-size-buffers=0 max-size-time=0 ! h265parse ! mfxhevcdec ! videoconvert ! mfxvpp width=1280 height=720  ! mfxh264enc rate-control=cbr bitrate=1500 insert-aud=true ! "video/x-h264, stream-format=byte-stream, profile=high" ! m. d. ! queue max-size-buffers=1200 max-size-buffers=0 max-size-time=0 ! aacparse ! avdec_aac ! audioconvert ! voaacenc bitrate=128000 ! m.

I want to draw your attention to this part of the pipeline:

! aacparse ! avdec_aac ! audioconvert ! voaacenc bitrate=128000 ! m.

What this does is parse aac audio and then re encode it as aac audio. IIRC, I had to do this to avoid the no more pads error. I was unable to compose a pipeline that did not do the apparently extra work of transcoding AAC audio into AAC audio.

From: gstreamer-devel [gstreamer-devel-bounces at lists.freedesktop.org] On Behalf Of Jerry Geis [jerry.geis at gmail.com]
Sent: Thursday, May 18, 2017 7:08 AM
To: gstreamer-devel at lists.freedesktop.org
Subject: Re: hlssink and openh264

I am trying to run this command:

gst-launch-1.0 filesrc location=pirates_trailer.mov '!' decodebin '!' videoconvert '!' openh264enc '!' h264parse '!' mpegtsmux '!' hlssink playlist-root= location=/var/www/html/hlssink/hlssink.%05d.ts playlist-location=/var/www/html/hlssink/playlist.m3u8
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

Missing element: video/x-fluendo-va decoder

WARNING: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0: Delayed linking failed.
Additional debug info:
./grammar.y(510): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0:
failed delayed linking some pad of GstDecodeBin named decodebin0 to some pad of GstVideoConvert named videoconvert0

and I get the above error.

I do have fluendo codecs installed.

What can I do about it ?


More information about the gstreamer-devel mailing list