Unable to consume HLS stream from kinesis feed

I’m trying to consume HLS feed generated by AWS Kinesis as input to DeepStream pipeline but I’m getting following error:

Error: gst-stream-error-quark: GStreamer encountered a general stream error. (1): qtdemux.c(7067): gst_qtdemux_process_adapter (): /GstPipeline:pipeline0/GstBin:source-bin-00/GstURIDecodeBin:uri-decode-bin/GstDecodeBin:decodebin0/GstQTDemux:qtdemux1:
no ‘moov’ atom within the first 10 MB

I’ve built the pipeline using python bindings and I’m using uridecodebin to resolve input URI. Furthermore, I am also able to capture frames using a simple OpenCV python script. Following is my hardware configuration and software version:
•Hardware Platform (GPU) = T4
•DeepStream Version= 5.0
•TensorRT Version=7.0.0
•NVIDIA GPU Driver Version (valid for GPU only)=440.64.00

What should I do to get it working?

could you try below two commands and share the output? (replace the location accordingly)

gst-launch-1.0 souphttpsrc location=http://devimages.apple.com/iphone/samples/bipbop/gear4/prog_index.m3u8 ! hlsdemux ! decodebin ! videoconvert ! videoscale ! fakesink
gst-launch-1.0 souphttpsrc location=http://devimages.apple.com/iphone/samples/bipbop/gear4/prog_index.m3u8 ! decodebin ! videoconvert ! videoscale ! fakesink

Hi,
I checked using this commands, I’m still getting the same error.
This is the output from first command. I’ve used GST_DEBUG=3 for detailed information.

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.055122125  6800 0x558ee9b7caa0 WARN               structure gststructure.c:1832:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'SoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(SoupSession)NULL, force=(boolean)false;
0:00:42.456345916  6800 0x7ff0e460cad0 WARN                 qtdemux qtdemux.c:7067:gst_qtdemux_process_adapter:<qtdemux0> error: no 'moov' atom within the first 10 MB
0:00:42.456415803  6800 0x7ff0e460cad0 WARN           adaptivedemux gstadaptivedemux.c:2651:_src_chain:<hlsdemux0> error: Internal data stream error.
0:00:42.456428764  6800 0x7ff0e460cad0 WARN           adaptivedemux gstadaptivedemux.c:2651:_src_chain:<hlsdemux0> error: streaming stopped, reason error (-5)
0:00:42.456455092  6800 0x7ff0e460cad0 WARN                 qtdemux qtdemux.c:701:gst_qtdemux_post_no_playable_stream_error:<qtdemux0> error: This file contains no playable streams.
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: GStreamer encountered a general stream error.
Additional debug info:
qtdemux.c(7067): gst_qtdemux_process_adapter (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
no 'moov' atom within the first 10 MB
0:00:42.456469711  6800 0x7ff0e460cad0 WARN                 qtdemux qtdemux.c:701:gst_qtdemux_post_no_playable_stream_error:<qtdemux0> error: no known streams found
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

This is the output for second command.

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:00.029336008  6824 0x560e04653240 WARN  structure gststructure.c:1832:priv_gst_structure_append_to_gstring: No value transform to serialize field 'session' of type 'SoupSession'
Got context from element 'souphttpsrc0': gst.soup.session=context, session=(SoupSession)NULL, force=(boolean)false;
0:00:42.373267880  6824 0x560e0454c4f0 WARN                 qtdemux qtdemux.c:7067:gst_qtdemux_process_adapter:<qtdemux0> error: no 'moov' atom within the first 10 MB
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: GStreamer encountered a general stream error.
Additional debug info:
qtdemux.c(7067): gst_qtdemux_process_adapter (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
no 'moov' atom within the first 10 MB
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

It’s a secured HLS stream for which the URL is generated with session token using AWS credentials.

Thank you

Hi @tanmay.v,
Seems the HLS stream from AWS Kinesis is secure stream which is outside DS support scope.

Thanks!