def METHOD_NAME(plugin,
                  item_id,
                  video_url,
                  download_mode=False,
                  **kwargs):
    json_parser = urlquick.get(video_url).json()
    method = None
    id_diffusion = ''
    urls = []
    for media in json_parser['content']['medias']:
        if 'catchupId' in media:
            method = 'id_diffusion'
            id_diffusion = media['catchupId']
            break
        if 'streams' in media:
            method = 'stream_videos'
            for stream in media['streams']:
                urls.append((stream['format'], stream['url']))
            break
        if 'sourceUrl' in media:
            return media['sourceUrl']
    if method == 'id_diffusion':
        return resolver_proxy.get_francetv_video_stream(plugin, id_diffusion, download_mode)
    if method == 'stream_videos':
        url_hd = ''
        url_default = ''
        for url in urls:
            if 'hd' in url[0]:
                url_hd = url[1]
            url_default = url[1]
        if DESIRED_QUALITY == Quality['DIALOG']:
            items = []
            for url in urls:
                items.append(url[0])
            seleted_item = xbmcgui.Dialog().select(
                plugin.localize(30709), items)
            if seleted_item == -1:
                return False
            url_selected = items[seleted_item][1]
            if url_hd != '':
                url_selected = url_hd
            else:
                url_selected = url_default
        else:
            if url_hd != '':
                url_selected = url_hd
            else:
                url_selected = url_default
        if download_mode:
            return download.download_video(url_selected)
        return url_selected
    return False