GNOME Bugzilla – Bug 745171
HLS stream playback has gaps
Last modified: 2015-05-28 20:36:23 UTC
Created attachment 297904 [details] totem --gst-debug=totem:5 git master of totem and gst-* (jhbuild) When playing a HLS stream (I'm trying with http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/llnw/bbc_radio_fourfm.m3u8), there's a gap at the end of every segment. It seems that totem gets an EOS here (and maybe restarts the stream? - see attached log; search for "EOS message" to see where each segment ended) Playing with gst directly, using decodebin ! autoaudiosink since playbin didn't work for me under jhbuild shell, seems to be okay. Using gst-play-1.0 version 1.4 which is what we have in Ubuntu also skips a little bit, although it's not as bad as totem.
$ gst-play-1.0 http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/llnw/bbc_radio_fourfm.m3u8 Now playing http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/llnw/bbc_radio_fourfm.m3u8 ERROR Could not open resource for reading. for http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/llnw/bbc_radio_fourfm.m3u8 ERROR debug information: gsthlsdemux.c(1396): gst_hls_demux_updates_loop (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstHLSDemux:hlsdemux0: Could not fetch the child playlist: Bad Request: gstsouphttpsrc.c(1564): gst_soup_http_src_parse_status (): /GstSoupHTTPSrc:souphttpsrc0: Bad Request (400), URL: http://as-hls-uk-live.bbcfmt.vo.llnwd.net/pool_6/live/bbc_radio_fourfm/bbc_radio_fourfm.isml/bbc_radio_fourfm-audio%3d320000.m3u8?dvr_window_length=24, Redirect to: (NULL) Reached end of play list. If it doesn't work with gst-play-1.0, there's little chance it would with Totem. First, it seems not to be served with the application/vnd.apple.mpegurl mime-type (for which I added a hack to totem-pl-parser). Secondly, it seems that GStreamer's HLS source doesn't like it. Something to debug there.
Any player that can play this? The link in the playlist looks a little weird to me: http://as-hls-uk-live.bbcfmt.vo.llnwd.net/pool_6/live/bbc_radio_fourfm/bbc_radio_fourfm.isml/bbc_radio_fourfm-audio%3d320000.m3u8?dvr_window_length=24
VLC can, also gst-play-1.0 *does* work for me laney@iota> gst-play-1.0 http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/llnw/bbc_radio_fourfm.m3u8 Now playing http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/llnw/bbc_radio_fourfm.m3u8 Prerolling... ^Cerolled... 100% ...it just skips a bit using 1.4 but *seems* (couldn't check properly in jhbuild for some reason) better using master. Even this skipping is better than totem manages.
Can you get a GST_DEBUG log for us, please? GST_DEBUG=6 or GST_DEBUG=*hls*:6 should contain all we need.
Created attachment 298070 [details] GST_DEBUG=*hls*:6 gst-play-1.0 --gst-debug-no-color http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/llnw/bbc_radio_fourfm.m3u8 Yes indeed. Sorry for the delay. I don't know if you mean in totem or just with gst-play-1.0, so I'll give you both. These are both with gstreamer 1.4.5 as packaged for Ubuntu.
*hls*:6 didn't give any output here, so here's *:6 http://people.canonical.com/~laney/weird-things/totem.xz
I'm guessing you didn't mean to close this bug..
Weird that this totem log doesn't have any hlsdemux related entry. Could you generate a new one with gst-play-1.0 for GST_DEBUG=6 instead of only hls. With only HLS I can't seem to understand how it manages to download the correct fragments. Thanks.
Sure. http://people.canonical.com/~laney/weird-things/gst-play.xz I'm *pretty* sure that it skipped here, but it's sometimes hard to tell because this is speech radio and the skips happen in silences or erase words that don't completely destroy the sentence. :)
I'm starting to think that bbc might be using geolocation restrictions to access the stream. Can you confirm whether you can download the playlist from: http://as-hls-uk-live.bbcfmt.vo.llnwd.net/pool_6/live/bbc_radio_fourfm/bbc_radio_fourfm.isml/bbc_radio_fourfm-audio=320000.m3u8?dvr_window_length=24 or http://as-hls-uk-live.bbcfmt.vo.llnwd.net/pool_6/live/bbc_radio_fourfm/bbc_radio_fourfm.isml/bbc_radio_fourfm-audio%3d320000.m3u8?dvr_window_length=24 Here I can download the main playlist but I can't download the variant one, always returns 400 to me.
Ah right, it seems so. Try this "nonuk" one? http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/nonuk/sbr_low/llnw/bbc_radio_fourfm.m3u8 If you can stand the low quality, I find it easier to detect the problem on this music station http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/nonuk/sbr_low/llnw/bbc_6music.m3u8 Hope they work for you.
This issue might now be solved by this : https://bugzilla.gnome.org/show_bug.cgi?id=750028 Can you try again with current master and confirm ?
(In reply to Edward Hervey from comment #12) > This issue might now be solved by this : > https://bugzilla.gnome.org/show_bug.cgi?id=750028 > > Can you try again with current master and confirm ? It looks to be fixed to me - I just listened to 6 music for a few minutes and didn't notice any gaps. Thanks! Is there any chance this can be backported to 1.4? It doesn't cleanly apply, but I would like to deliver it to Ubuntu (+ Debian) users if possible.
FWIW, totem also seems to work fine with the fix too. So no bug there.
It's probably not trivial to backport this to 1.4, there were also lots of other changes in hlsdemux and also fixes for related/similar bugs that might be relevant. *** This bug has been marked as a duplicate of bug 750028 ***