We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
simple-scte35.m3u8
#EXTM3U #EXT-X-TARGETDURATION:10 #EXT-X-VERSION:3 #EXT-X-MEDIA-SEQUENCE:0 #EXT-OATCLS-SCTE35:/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA== #EXT-X-CUE-OUT:15.000 #EXTINF:8.844, media0.ts #EXT-X-CUE-OUT-CONT:ElapsedTime=8.844,Duration=15,SCTE35=/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA== #EXTINF:6.156, media1.ts #EXT-X-CUE-IN #EXTINF:2.00, media2.ts #EXTINF:2.000, media3.ts
import m3u8 pl = m3u8.load('simple-scte35.m3u8') for seg in pl.segments: print(vars(seg)) {'uri': 'media0.ts', 'duration': 8.844, 'title': '', '_base_uri': '', 'byterange': None, 'program_date_time': None, 'current_program_date_time': None, 'discontinuity': False, 'cue_out_start': True, 'cue_out': True, 'cue_in': False, 'scte35': '/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA==', 'scte35_duration': '15.000', 'key': None, 'parts': [], 'init_section': None, 'dateranges': [], 'gap_tag': None} {'uri': 'media1.ts', 'duration': 6.156, 'title': '', '_base_uri': '', 'byterange': None, 'program_date_time': None, 'current_program_date_time': None, 'discontinuity': False, 'cue_out_start': False, 'cue_out': True, 'cue_in': False, 'scte35': '/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA==', 'scte35_duration': '15', 'key': None, 'parts': [], 'init_section': None, 'dateranges': [], 'gap_tag': None} {'uri': 'media2.ts', 'duration': 2.0, 'title': '', '_base_uri': '', 'byterange': None, 'program_date_time': None, 'current_program_date_time': None, 'discontinuity': False, 'cue_out_start': False, 'cue_out': False, 'cue_in': True, 'scte35': '/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA==', 'scte35_duration': '15', 'key': None, 'parts': [], 'init_section': None, 'dateranges': [], 'gap_tag': None} {'uri': 'media3.ts', 'duration': 2.0, 'title': '', '_base_uri': '', 'byterange': None, 'program_date_time': None, 'current_program_date_time': None, 'discontinuity': False, 'cue_out_start': False, 'cue_out': False, 'cue_in': False, 'scte35': '/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA==', 'scte35_duration': '15', 'key': None, 'parts': [], 'init_section': None, 'dateranges': [], 'gap_tag': None}
cat parser_patch.txt 259a260,263 > if segment['cue_in']: > #on cue_in, pop current_cue_out_duration & current_cue_out_scte35 > state.pop('current_cue_out_duration') > state.pop('current_cue_out_scte35') patch m3u8/parser.py parser_patch.txt
parser_patch.txt
import m3u8 pl = m3u8.load('simple-scte35.m3u8') for seg in pl.segments: print(vars(seg)) {'uri': 'media0.ts', 'duration': 8.844, 'title': '', '_base_uri': '', 'byterange': None, 'program_date_time': None, 'current_program_date_time': None, 'discontinuity': False, 'cue_out_start': True, 'cue_out': True, 'cue_in': False, 'scte35': '/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA==', 'scte35_duration': '15.000', 'key': None, 'parts': [], 'init_section': None, 'dateranges': [], 'gap_tag': None} {'uri': 'media1.ts', 'duration': 6.156, 'title': '', '_base_uri': '', 'byterange': None, 'program_date_time': None, 'current_program_date_time': None, 'discontinuity': False, 'cue_out_start': False, 'cue_out': True, 'cue_in': False, 'scte35': '/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA==', 'scte35_duration': '15', 'key': None, 'parts': [], 'init_section': None, 'dateranges': [], 'gap_tag': None} {'uri': 'media2.ts', 'duration': 2.0, 'title': '', '_base_uri': '', 'byterange': None, 'program_date_time': None, 'current_program_date_time': None, 'discontinuity': False, 'cue_out_start': False, 'cue_out': False, 'cue_in': True, 'scte35': '/DAlAAAAAAAAAP/wFAUAAAABf+/+ANgNkv4AFJlwAAEBAQAA5xULLA==', 'scte35_duration': '15', 'key': None, 'parts': [], 'init_section': None, 'dateranges': [], 'gap_tag': None} {'uri': 'media3.ts', 'duration': 2.0, 'title': '', '_base_uri': '', 'byterange': None, 'program_date_time': None, 'current_program_date_time': None, 'discontinuity': False, 'cue_out_start': False, 'cue_out': False, 'cue_in': False, 'scte35': None, 'scte35_duration': None, 'key': None, 'parts': [], 'init_section': None, 'dateranges': [], 'gap_tag': None}
The text was updated successfully, but these errors were encountered:
Six months. No reply.
That is super uncool.
Sorry, something went wrong.
Fix globocom#248 - clear scte35 state on cue-in
2a6fe55
46b84ee
No branches or pull requests
simple-scte35.m3u8
parser_patch.txt
The text was updated successfully, but these errors were encountered: