mirror of
https://github.com/l1ving/youtube-dl
synced 2024-12-22 13:32:58 +08:00
[ted] Extract all formats (Closes #5397)
This commit is contained in:
parent
cd47a628fc
commit
66ee7b3234
@ -5,9 +5,8 @@ import re
|
|||||||
|
|
||||||
from .common import InfoExtractor
|
from .common import InfoExtractor
|
||||||
|
|
||||||
from ..compat import (
|
from ..compat import compat_str
|
||||||
compat_str,
|
from ..utils import int_or_none
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
class TEDIE(InfoExtractor):
|
class TEDIE(InfoExtractor):
|
||||||
@ -170,17 +169,41 @@ class TEDIE(InfoExtractor):
|
|||||||
finfo = self._NATIVE_FORMATS.get(f['format_id'])
|
finfo = self._NATIVE_FORMATS.get(f['format_id'])
|
||||||
if finfo:
|
if finfo:
|
||||||
f.update(finfo)
|
f.update(finfo)
|
||||||
else:
|
|
||||||
# Use rtmp downloads
|
for format_id, resources in talk_info['resources'].items():
|
||||||
formats = [{
|
if format_id == 'h264':
|
||||||
'format_id': f['name'],
|
for resource in resources:
|
||||||
'url': talk_info['streamer'],
|
bitrate = int_or_none(resource.get('bitrate'))
|
||||||
'play_path': f['file'],
|
formats.append({
|
||||||
'ext': 'flv',
|
'url': resource['file'],
|
||||||
'width': f['width'],
|
'format_id': '%s-%sk' % (format_id, bitrate),
|
||||||
'height': f['height'],
|
'tbr': bitrate,
|
||||||
'tbr': f['bitrate'],
|
})
|
||||||
} for f in talk_info['resources']['rtmp']]
|
elif format_id == 'rtmp':
|
||||||
|
streamer = talk_info.get('streamer')
|
||||||
|
if not streamer:
|
||||||
|
continue
|
||||||
|
for resource in resources:
|
||||||
|
formats.append({
|
||||||
|
'format_id': '%s-%s' % (format_id, resource.get('name')),
|
||||||
|
'url': streamer,
|
||||||
|
'play_path': resource['file'],
|
||||||
|
'ext': 'flv',
|
||||||
|
'width': int_or_none(resource.get('width')),
|
||||||
|
'height': int_or_none(resource.get('height')),
|
||||||
|
'tbr': int_or_none(resource.get('bitrate')),
|
||||||
|
})
|
||||||
|
elif format_id == 'hls':
|
||||||
|
formats.extend(self._extract_m3u8_formats(
|
||||||
|
resources.get('stream'), video_name, 'mp4', m3u8_id=format_id))
|
||||||
|
|
||||||
|
audio_download = talk_info.get('audioDownload')
|
||||||
|
if audio_download:
|
||||||
|
formats.append({
|
||||||
|
'url': audio_download,
|
||||||
|
'format_id': 'audio',
|
||||||
|
})
|
||||||
|
|
||||||
self._sort_formats(formats)
|
self._sort_formats(formats)
|
||||||
|
|
||||||
video_id = compat_str(talk_info['id'])
|
video_id = compat_str(talk_info['id'])
|
||||||
|
Loading…
Reference in New Issue
Block a user