m3u8

Python m3u8 parser
Download

m3u8 Ranking & Summary

Advertisement

  • Rating:
  • License:
  • MIT/X Consortium Lic...
  • Price:
  • FREE
  • Publisher Name:
  • globo.com
  • Publisher web site:
  • http://corp.globo.com

m3u8 Tags


m3u8 Description

The m3u8 module is a Python m3u8 parser.DocumentationThe basic usage is to create a playlist object from uri, file path or directly from a string:import m3u8m3u8_obj = m3u8.load('http://videoserver.com/playlist.m3u8') # this could also be an absolute filenameprint m3u8_obj.segmentsprint m3u8_obj.target_duration# if you already have the content as string, usem3u8_obj = m3u8.loads('#EXTM3U8 ... etc ... ')Encryption keyThe segments may be encrypted, in this case the key attribute will be an object with all the attributes from #EXT-X-KEY:- method: ex.: "AES-128"- uri: the key uri, ex.: "http://videoserver.com/key.bin"- iv: the initialization vector, if available. Otherwise None.If no #EXT-X-KEY is found, the key attribute will be None.Multiple keys is not supported yet (and has a low priority), follow issue 1 for updates.Variant playlists (variable bitrates)A playlist can have a list to other playlist files, this is used to represent multiple bitrates videos, and it's called variant streams. See an example here.variant_m3u8 = m3u8.loads('#EXTM3U8 ... contains a variant stream ...')variant_m3u8.is_variant # in this case will be Truefor playlist in variant_m3u8.playlists: playlist.uri playlist.stream_info.bandwidththe playlist object used in the for loop above has a few attributes:- uri: the url to the stream- stream_info: a StreamInfo object (actually a namedtuple) with all the attributes available to #EXT-X-STREAM-INFNOTE: the following attributes are not implemented yet, follow issue 4 for updates- iframe_stream_info: usually None, unless it's a playlist with I-Frames, in this case it's also a namedtuple IFrameStreamInfo with all the attribute available to #EXT-X-I-FRAME-STREAM-INF- alternative_audios: it's an empty list, unless it's a playlist with Alternative audio, in this case it's a list with Media objects with all the attributes available to #X-EXT-MEDIA alternative_videos: same as alternative_audiosRunning Tests ./runtestsContributingAll contribution is welcome! If, and only if, it- has tests- follows the code conventionsIf you plan to implement a new feature or something that will take more than a few minutes, please open an issue to make sure we don't work on the same thing.Product's homepage


m3u8 Related Software