HLS Playback Issues after bandwidth switch

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

HLS Playback Issues after bandwidth switch

DeepakRohan
Hi,

     I am currently working on HLS streaming.
Now the thing is I am streaming a http (m3u8) link, which internally has
multiple m3u8 links - each supporting streaming playlists for different
resolution.

Example (Just for understanding):
Master m3u8: http://myplaylist.m3u8

http://myplaylist.m3u8 - This contains:
http://first.m3u8
http://second.m3u8
http://third.m3u8
http://fourth.m3u8
Here first supports say 1Mbps bitrate,
second supports say 2Mbps bitrate,
third supports say 4Mbps bitrate and
fourth supports say 8Mbps bitrate.
Each of the above 4 links contain 15 playlist each from playlist0.ts to
playlist14.ts


Now in the beginning it plays from http://first.m3u8 links playlist0.ts as I
have set connection-speed of hlsdemux to be 0 (UNKNOWN).
hence when fetching next fragment it checks the available bitrate and
switches to say http://third.m3u8 playlist's playlist1.ts.
When it switches, I am removing all the elements after hlsdemux
(multiqueue0, tsdemux, audio-video multiqueue, input-selectors and
decodebin) apart from the audio-video sinks.

Then when I receive a new pad-added for hls after it switches, I re-create
the elements and I see that my pipeline has gone to play state.

The issue is it plays the playlist0.ts file properly, But whenever there is
a switch in playlist due to change in the bandwidth, I always get 20 second
delay and then my playback starts from 11th second (both audio-video).

After few analysis I found out that when it switches, my pipeline creation
and going to playing state is completed and audio-video multiqueues have
buffered from 11-25 seconds of data (15seconds is the max-size-time set on
the MultiQueue's).
After this I get the data to the next element (that is the decoders) after
20 seconds and playbacks starts.


Can someone suggest what to look into as the playback starts with 1-2 second
delay (which is OK), but whenever bandwidth switches, I always have the "20
second delay" and amazingly audio-video sinks play them without any drops
after 20 seconds.

Sorry if the issue was too elaborative.


Thank You in Advance



--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: HLS Playback Issues after bandwidth switch

Ciro Ferreira
Hi DeepakRohan, Im facing the same problem you describe in the post, my
pipeline stop working on playlist change, did you manage to overcome this
somehow? If you did please let me know.
Thank you in advance, Ciro Ferreira.




--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel