예제 #1
0
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
예제 #2
0
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
예제 #3
0
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
예제 #4
0
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