issue when streaming m3u8 source (multivariant playlist playlist)

Nirbheek Chauhan nirbheek.chauhan at gmail.com
Tue Mar 29 15:53:32 UTC 2022


> 0:00:13.271775878  3026 0x7fce5800b060 WARN           adaptivedemux gstadaptivedemux.c:888:gst_adaptive_demux_handle_message:<hlsdemux0:src_1> Source posted error: 4364:1 Internal data stream error. (../plugins/elements/gstqueue.c(1570): gst_queue_loop (): /GstPipeline:media-pipeline/GstBin:bin0/GstDecodeBin:decodebin0/GstHLSDemux:hlsdemux0/GstBin:srcbin-src_1/GstQueue:queue2:
streaming stopped, reason not-linked (-1))

Ah, it's actually an HLS playlist, which means the audio is in
fragments. adaptive demuxer elements (like hlsdemux) will expose a new
srcpad for each fragment, and you're supposed to use input-selector to
switch from one pad to the other to have continuous playback. You can
reproduce the same issue with:

gst-launch-1.0 uridecodebin
uri=https://radiodeejay-lh.akamaihd.net/i/RadioDeejay_Live_1@189857/master.m3u8
! audioconvert ! audioresample ! queue ! autoaudiosink

You should just use playbin instead of decodebin here, since it will
handle all this for you:

gst-launch-1.0 playbin
uri=https://radiodeejay-lh.akamaihd.net/i/RadioDeejay_Live_1@189857/master.m3u8

You can set the "audio-sink" property to a GstBin that does
`audioconvert ! audioresample ! vorbisenc max-bitrate=64000 !
rtpvorbispay name=pay0 pt=97` and expost ghost pads for the sink and
source.

Basically you need to write C code to make this work with
gst-rtsp-server, you can't do it from the command-line.

Cheers,
Nirbheek


On Tue, Mar 29, 2022 at 4:12 PM Alessio Carello
<alessio.carello at powersoft.com> wrote:
>
> Hi Nirbheek,
> Thank you for your reply, i appreciate you.
> I've the same issue with 1.20.1, the following pipeline is the right one (i missed audioreample plugin in the first message)
>
> ./gst-rtsp-launch "( souphttpsrc location=https://radiodeejay-lh.akamaihd.net/i/RadioDeejay_Live_1@189857/master.m3u8 ! decodebin ! audioconvert ! audioresample ! audio/x-raw,format=F32LE,rate=48000,channels=1 ! queue ! vorbisenc max-bitrate=64000 ! rtpvorbispay name=pay0 pt=97 )"
>
> I'm attaching the logs (level 2)
>
> Thank you,
>
>
> Alessio Carello
> SOFTWARE ENGINEERING SPECIALIST
>
> Powersoft S.p.A.
> Via E. Conti, 5 - Scandicci (Fi) 50018 - Italy
> OFFICE:    +39 055 7350230
>
>
>
>
>
>
> ________________________________
> Da: Nirbheek Chauhan <nirbheek.chauhan at gmail.com>
> Inviato: lunedì 28 marzo 2022 17:50
> A: Discussion of the development of and with GStreamer <gstreamer-devel at lists.freedesktop.org>
> Cc: Alessio Carello <alessio.carello at powersoft.com>
> Oggetto: Re: issue when streaming m3u8 source (multivariant playlist playlist)
>
> On Mon, Mar 28, 2022 at 2:45 PM Alessio Carello via gstreamer-devel
> <gstreamer-devel at lists.freedesktop.org> wrote:
> > tested with gstreamer 1.14.5 and 1.16.2.
> >
>
> The first thing you should do is to try gstreamer 1.20.1. The versions
> you are testing are very old.
>
> Cheers,
> Nirbheek


More information about the gstreamer-devel mailing list