def MetadataObjectForURL(name, channel_id, thumb, files): video = MovieObject( rating_key='rating_key', title=unicode(name), thumb=thumb, art=thumb ) video.key = Callback(GetLiveChannel, name=name, channel_id=channel_id, thumb=thumb, files=files, container=True) offset = service.get_offset(util.get_time_shift()) format ='mp4' quality_level = util.get_quality_level() # Log(Client.Platform in util.RAW_HLS_CLIENTS) # Log(Client.Product) # Plex Web # Log(Client.Platform) # Safari # if Client.Platform == 'Chrome': # quality_level = util.get_quality_level() # else: # quality_level = None files = json.loads(urllib.unquote_plus(files)) bitrates = service.bitrates(files, accepted_format=format, quality_level=quality_level) video.items.extend(MediaObjectsForURL(bitrates, channel_id, offset, format)) return video
def MediaObjectsForURL(files, media_id): items = [] # Log(Client.Platform in util.RAW_HLS_CLIENTS) # Log(Client.Product) # Plex Web # Log(Client.Platform) # Safari format = util.get_format() quality_level = util.get_quality_level() # if Client.Platform == 'Chrome': # quality_level = util.get_quality_level() # else: # quality_level = None for format, bitrates in service.bitrates(files, format, quality_level).iteritems(): media_objects = [] for bitrate in sorted(bitrates, reverse=True): #video_resolution = service.bitrate_to_resolution(bitrate)[0] play_callback = Callback(PlayVideo, media_id=media_id, bitrate=bitrate, format=str(format)) config = { "video_codec": VideoCodec.H264, "protocol": Protocol.HLS, "container": Container.MPEGTS, "video_resolution": bitrate } media_object = builder.build_media_object(play_callback, config) media_objects.append(media_object) items.extend(media_objects) return items
def MediaObjectsForURL(files, media_id): items = [] # Log(Client.Platform in util.RAW_HLS_CLIENTS) # Log(Client.Product) # Plex Web # Log(Client.Platform) # Safari format = util.get_format() quality_level = util.get_quality_level() # if Client.Platform == 'Chrome': # quality_level = util.get_quality_level() # else: # quality_level = None for format, bitrates in service.bitrates(files, format, quality_level).iteritems(): media_objects = [] for bitrate in sorted(bitrates, reverse=True): #video_resolution = service.bitrate_to_resolution(bitrate)[0] play_callback = Callback(PlayVideo, media_id=media_id, bitrate=bitrate, format=str(format)) config = { "video_codec" : VideoCodec.H264, "protocol": Protocol.HLS, "container": Container.MPEGTS, "video_resolution": bitrate } media_object = builder.build_media_object(play_callback, config) media_objects.append(media_object) items.extend(media_objects) return items
def MetadataObjectForURL(name, channel_id, thumb, files): video = MovieObject(rating_key='rating_key', title=unicode(name), thumb=thumb, art=thumb) video.key = Callback(GetLiveChannel, name=name, channel_id=channel_id, thumb=thumb, files=files, container=True) offset = service.get_offset(util.get_time_shift()) format = 'mp4' quality_level = util.get_quality_level() # Log(Client.Platform in util.RAW_HLS_CLIENTS) # Log(Client.Product) # Plex Web # Log(Client.Platform) # Safari # if Client.Platform == 'Chrome': # quality_level = util.get_quality_level() # else: # quality_level = None files = json.loads(urllib.unquote_plus(files)) bitrates = service.bitrates(files, accepted_format=format, quality_level=quality_level) video.items.extend(MediaObjectsForURL(bitrates, channel_id, offset, format)) return video