def METHOD_NAME(self, content, url):
    video_id = content['dataMediaId']
    config = self._download_json(
        content['dataConfig'], video_id, 'Downloading config JSON')
    title = config['info']['title']
    services = config['services']
    caronte = self._download_json(services['caronte'], video_id)
    stream = caronte['dls'][0]['stream']
    headers = self.geo_verification_headers()
    headers.update({
        'Content-Type': 'application/json;charset=UTF-8',
        'Origin': re.match(r'https?://[^/]+', url).group(0),
    })
    cdn = self._download_json(
        caronte['cerbero'], video_id, data=json.dumps({
            'bbx': caronte['bbx'],
            'gbx': self._download_json(services['gbx'], video_id)['gbx'],
        }).encode(), headers=headers)['tokens']['1']['cdn']
    formats = self._extract_m3u8_formats(
        stream + '?' + cdn, video_id, 'mp4', 'm3u8_native', m3u8_id='hls')
    self._sort_formats(formats)
    return {
        'id': video_id,
        'title': title,
        'formats': formats,
        'thumbnail': content.get('dataPoster') or config.get('poster', {}).get('imageUrl'),
        'duration': int_or_none(content.get('dataDuration')),
    }