コード例 #1
0
ファイル: test_variant_m3u8.py プロジェクト: tvshow5727/m3u8
def test_create_a_variant_m3u8_with_iframe_with_average_bandwidth_playlists():
    variant_m3u8 = m3u8.M3U8()

    subtitles = m3u8.Media('english_sub.m3u8', 'SUBTITLES', 'subs', 'en',
                           'English', 'YES', 'YES', 'NO', None)
    variant_m3u8.add_media(subtitles)

    low_playlist = m3u8.Playlist(uri='video-800k.m3u8',
                                 stream_info={
                                     'bandwidth': 800000,
                                     'average_bandwidth': 555000,
                                     'resolution': '624x352',
                                     'codecs': 'avc1.4d001f, mp4a.40.5',
                                     'subtitles': 'subs'
                                 },
                                 media=[subtitles],
                                 base_uri='http://example.com/')
    low_iframe_playlist = m3u8.IFramePlaylist(uri='video-800k-iframes.m3u8',
                                              iframe_stream_info={
                                                  'bandwidth': 151288,
                                                  'average_bandwidth': 111000,
                                                  'resolution': '624x352',
                                                  'codecs': 'avc1.4d001f'
                                              },
                                              base_uri='http://example.com/')

    variant_m3u8.add_playlist(low_playlist)
    variant_m3u8.add_iframe_playlist(low_iframe_playlist)

    expected_content = """\
#EXTM3U
#EXT-X-MEDIA:URI="english_sub.m3u8",TYPE=SUBTITLES,GROUP-ID="subs",\
LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO
#EXT-X-STREAM-INF:BANDWIDTH=800000,AVERAGE-BANDWIDTH=555000,\
RESOLUTION=624x352,CODECS="avc1.4d001f, mp4a.40.5",SUBTITLES="subs"
video-800k.m3u8
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=151288,\
AVERAGE-BANDWIDTH=111000,RESOLUTION=624x352,CODECS="avc1.4d001f",\
URI="video-800k-iframes.m3u8"
"""
    assert expected_content == variant_m3u8.dumps()
コード例 #2
0
def test_create_a_variant_m3u8_with_two_playlists():
    variant_m3u8 = m3u8.M3U8()

    subtitles = m3u8.Media('english_sub.m3u8', 'SUBTITLES', 'subs', 'en',
                           'English', 'YES', 'YES', 'NO', None)
    variant_m3u8.add_media(subtitles)

    low_playlist = m3u8.Playlist('http://example.com/low.m3u8', stream_info={'bandwidth': '1280000', 'program_id': '1', 'subtitles': 'subs'}, media=[subtitles], base_uri=None)
    high_playlist = m3u8.Playlist('http://example.com/high.m3u8', stream_info={'bandwidth': '3000000', 'program_id': '1', 'subtitles': 'subs'}, media=[subtitles], base_uri=None)

    variant_m3u8.add_playlist(low_playlist)
    variant_m3u8.add_playlist(high_playlist)

    expected_content = """\
#EXTM3U
#EXT-X-MEDIA:URI="english_sub.m3u8",TYPE=SUBTITLES,GROUP-ID="subs",LANGUAGE="en",NAME="English",DEFAULT=YES,AUTOSELECT=YES,FORCED=NO
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1280000,SUBTITLES="subs"
http://example.com/low.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3000000,SUBTITLES="subs"
http://example.com/high.m3u8
"""
    assert expected_content == variant_m3u8.dumps()