Kodi Community Forum
Playing m3u8 playlists.. - Printable Version

+- Kodi Community Forum (http://forum.kodi.tv)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Python Add-on Development (/forumdisplay.php?fid=26)
+--- Thread: Playing m3u8 playlists.. (/showthread.php?tid=94552)

Pages: 1 2


Playing m3u8 playlists.. - hippojay - 2011-02-18 03:04

I've been having some trouble getting XBMC to play m3u8 playlists, and I'm not sure if they are supported (or if I'm doing something wrong).

NOTICE: Creating InputStream
NOTICE: Creating Demuxer
ERROR: CDVDDemuxFFmpeg::Open - error probing input format, http://blahblahblah/something.m3u8
ERROR: CDVDPlayer::OpenDemuxStream - Error creating demuxer
NOTICE: CDVDPlayer::OnExit()
NOTICE: CDVDPlayer::OnExit() deleting input stream
ERROR: Playlist Player: skipping unplayable item: 0, path [plugin://blahblahblah]

Is the error becuase the m3u8 file doesn't have an "input format" or because it cannot read the format from the streams inside the playlist. The files are all .ts files..


- jmarshall - 2011-02-18 04:25

Not supported I should think. How do they differ from .m3u?


- hippojay - 2011-02-18 11:39

The m3u8 has extra TAGs to allow for streaming and rate adaption. It's basically the HTTP Live Streaming method.

The file to be streamed is broken down into several hundred smaller pieces of several seconds (for example a ninty minute file might be 680 parts of 8 seconds) - this allows for several streams of different quality to be switched between.

These files are mpeg encoded .ts file. As a quick test, I simply pulled out the parts and put them into a xbmc.playlist. This works and I get playback, although there is a stutter when a new file is loaded.

I'm not so bothered about switching rates, more the seemless playback of a playlist, but i'm not sure that this is possible right now.

I've seen that a ticket is open (http://trac.xbmc.org/ticket/11175) which looks to implment HTTP Live Streaming using either changes to ffmpeg or some code that boxee has to deal with playlists.


- spiff - 2011-02-18 13:58

this is being worked on yes. by refactoring the boxee code.


- hippojay - 2011-02-18 14:33

Thanks - I'll keep an eye on the ticket and see how it goes.


- nixterrimus - 2011-05-11 07:10

Any news on the backport from Boxee? I'm really excited about having the ability to stream from IOS and test some of my own http live streaming content.

-Nick


- spiff - 2011-05-11 12:02

See my pull request for basic support. Stream selection is just a hack yet since an ffmpeg update is needed


- hippojay - 2011-05-11 18:09

Just checking it out on my own build now and seems to play fine. These are just playlists with a single quality streams though (which is all I was after), so no switching between streams..

Guess i'll just wait now till it hits the GIT..

EDIT: Sorry, for got to say thanks...

EDIT2: just watched a 2 hour film (2000+ segments) and it didn't miss a beat. Seek forwards and backwards works fine too.


- frgr - 2011-05-12 07:09

hippojay Wrote:Just checking it out on my own build now and seems to play fine. These are just playlists with a single quality streams though (which is all I was after), so no switching between streams..

Guess i'll just wait now till it hits the GIT..

EDIT: Sorry, for got to say thanks...

EDIT2: just watched a 2 hour film (2000+ segments) and it didn't miss a beat. Seek forwards and backwards works fine too.
Forgive my ignorance but how exactly did you get the .m3u8 update? I have some understanding of Github but it sounds like you did not get it from there?


- hippojay - 2011-05-12 08:46

All the info is on github. Look at the Pull requests on the XBMC repository and there is one from around the 17th April by Spiff which covers this.

https://github.com/cptspiff/xbmc/commits/hls

I then cloned the main repo, and manually made those changes (as couldn't work out how to clone a branch of spiffs XBMC dev fork). Luckily the number of changes are pretty small.

Build and away. Only built for Windows though, as that's my primary XBMC platform at the mo.


- frgr - 2011-05-12 15:33

Thanks for the info, I'm going to give that a try tonight


- spiff - 2011-05-12 17:28

"git pull git://github.com/cptspiff/xbmc.git hls" would achieve what you couldn't figure out Smile


- hippojay - 2011-05-12 18:31

Ta and noted...

Also - I guess this won't get pulled into the master until the stream selection logic is worked out?


- spiff - 2011-05-12 18:43

correct.


- frgr - 2011-05-13 17:06

Thanks for the help. This was my first time using Git and compiling anything and it went flawlessly. Now I just need to hope for an updated AirPlayer that allows for proper resumption and timeline scrubbing.