Forum

Playlist chunks question

Paul 2017-06-14 17:17:04 UTC in WMSPanel functionality

My HLS app is 6 chunks of 6 seconds.

When viewer starts to watch live HLS stream, m3u8 only has 1 file in it, and it always ends with 0.ts,

Why then, doesn't it have 36 seconds worth of playlist?

nginx-rtmp with HLS, m3u8 is in nginx directory and is the same for all users, I guess it updates every ..second / few seconds?

is nimble playlist dynamic for each user?

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:1.96,
l_545953_105388123_0.ts?nimblesessionid=35707&wmsAuthSign=c2VydmVyX3RpbWU9Ni8xNC8yMDE3IDU6MDk6MzEgUE0maGFzaF92YWx1ZT01RmZlRVNnWjJWOE5jMzNzVUpLb0V3PT0mdmFsaWRtaW51dGVzPTE4MDA=

i ask because it seems the next chunk doesn't start to download for a few second. I want it to download immediately, so users can buffer more stream, in case of their network being slow.

Any way to do this?

Alex Pokotilo 2017-06-15 02:02:55 UTC 

Hi,
you probably setup "delayed" stream pull settings idle time for the stream. This way stream not loaded all the time but rather start loading just after user request playlist. is source stream for pull is Nimble it will provide enough data to start playback immediately and add enough chunks. If source is rtsp camera thats not always possible to get enough data and this is why you have only one chunk at the beginning. If you want you stream loaded all the time remove idle time from you pull settings. If this answer not enough please contact https://wmspanel.con/help as sensitive details will be required

Paul 2017-06-15 12:27:08 UTC 

Yes I use pull by request, I have 40 streams across many edge servers.

I also had to set rtmp_buffer_items = 4096 because sometimes the stream would not start playing until the user refresh the page.

Any idea how I can find a way to delay playback start for a few seconds and get more than 1 chunk in playlist?

will using a different values for rtmp_buffer_items help? what does 4096 value mean?

Thank you

Paul 2017-06-20 13:00:25 UTC 

any info on my previous reply please?

HLS pull by request always starts quick now, with rtmp_buffer_items, but it starts too quick! lots of small freezes now happen. Would like to get more than 1 chunk in playlist before starting playback....

thanks

Alex Pokotilo 2017-06-21 02:29:50 UTC 

Hi,
you started several similar threads about the same problem.
If you pull from another Nimble origin please follow http://blog.wmspanel.com/2016/10/rtmp-delayed-pull-buffer-improvements.html
If you pull from rtsp camera please add Nimble near to it and setup non-delayed pull and then setup edge->origin delayed pull as stated in the article. If not help start new support thread via https://wmspaenl.com/contact as sensitive info will be requested during problem analysis

Paul 2017-06-21 12:40:55 UTC 

I've asked your what does 4096 represent, and you haven't answered.

My threads are different, related - yes, but different - yes.

Paul 2017-06-21 12:46:53 UTC 

This question is about how to delay pull-by-request HLS startup until at least 2 chunks in playlist - something which maybe you guys can change in the way Nimble creates playlist when using pull-by-request.

other topic is about Dash very slow startup.

other topic is about best chunk sizes for people on very slow internet.

3 very different questions.

Now is anybody please going to tell me what 4096 represents and if changing this value would have any effect on startup delay?

Alex Pokotilo 2017-06-22 04:20:23 UTC 

-4096 is item count in frame ring buffer for your stream. if you poll rtsp from camera this parameter will not help you as rtsp doesn't support stream buffering. Please check article title http://blog.wmspanel.com/2016/10/rtmp-delayed-pull-buffer-improvements.html it's about rtmp delayed pull improvements.

"This question is about how to delay pull-by-request HLS startup until at least 2 chunks in playlist - something which maybe you guys can change in the way Nimble creates playlist when using pull-by-request"
There is nothing to change from our team POV. You need to setup your delayed pull as I pointed in previous answer. rtmp has ability to specify requested buffer offset. rtsp doesn't have this ability. This is why if you you setup relayed pull for rtsp you may have a problems till Nimble get necessary buffer to split stream into chunks. This is the same problem that you have for DASH. Just setup two servers. One to pull rtsp streams without delay and one to pull streams using rtmp. This way you get what you want for HLS and DASH.

Or you can use rtmp/sldp for playback.
You will get stream immediately without delay and without chunking issues you refer.

Please read this and previous replies and provided links to articles. In something still not clear check rtmp/rtsp protocol details as you will not get all points if you don't know protocols internals.

Paul 2017-06-27 13:00:23 UTC 

OK thanks for the info.

By the way, I made a big mistake. Apologies for posting about this when I did not have rtmp_buffer_items enabled after I moved to a new origin server :(

Maybe this explains slow dash startup and HLS freezing and stuttering after start.

Hopefully this help someone - check your config, lol.

Post a reply


Post a new question

Categories:

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the Privacy Policy. If you want to know more or withdraw your consent to all or some of the cookies, please refer to the Privacy Policy.
By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to the use of cookies.