def METHOD_NAME(self, spl_url, video):
    for ext, pref, streams in (
            ('ts', -1, traverse_obj(video, ('http_stream', 'qualities')) or {}),
            ('mp4', 1, video.get('mp4') or {})):
        for format_id, stream in streams.items():
            if not stream.get('url'):
                continue
            yield {
                'format_id': f'{format_id}-{ext}',
                'ext': ext,
                'source_preference': pref,
                'url': urljoin(spl_url, stream['url']),
                'tbr': float_or_none(stream.get('bandwidth'), scale=1000),
                'duration': float_or_none(stream.get('duration'), scale=1000),
                'width': traverse_obj(stream, ('resolution', 0)),
                'height': traverse_obj(stream, ('resolution', 1)) or int_or_none(format_id.replace('p', '')),
                **parse_codecs(stream.get('codec')),
            }