mirror of
https://github.com/yt-dlp/yt-dlp
synced 2024-12-28 22:24:34 +01:00
audio
This commit is contained in:
parent
7fc2ab426f
commit
3c970ff8ab
1 changed files with 20 additions and 5 deletions
|
@ -194,11 +194,26 @@ class NiconicoChannelPlusIE(NiconicoChannelPlusBaseIE):
|
||||||
note='Downloading video info')['data']['video_page']
|
note='Downloading video info')['data']['video_page']
|
||||||
|
|
||||||
live_status, session_payload, timestamp = self._parse_live_status(video_id, video_info)
|
live_status, session_payload, timestamp = self._parse_live_status(video_id, video_info)
|
||||||
|
if video_info.get('video'):
|
||||||
session_id = self._download_api_json(
|
session_id = self._download_api_json(
|
||||||
url, f'/video_pages/{video_id}/session_ids', video_id, data=json.dumps(session_payload).encode(),
|
url, f'/video_pages/{video_id}/session_ids', video_id, data=json.dumps(session_payload).encode(),
|
||||||
headers={'content-type': 'application/json'}, note='Downloading video session')['data']['session_id']
|
headers={'content-type': 'application/json'}, note='Downloading video session')['data']['session_id']
|
||||||
formats = self._extract_m3u8_formats(
|
formats = self._extract_m3u8_formats(
|
||||||
video_info['video_stream']['authenticated_url'].format(session_id=session_id), video_id)
|
video_info['video_stream']['authenticated_url'].format(session_id=session_id), video_id)
|
||||||
|
elif video_info.get('audio'):
|
||||||
|
audio_url = self._download_api_json(
|
||||||
|
url, f'/video_pages/{video_id}/content_access', video_id)['data']['resource']
|
||||||
|
format_id = traverse_obj(video_info, ('audio_filename_transcoded_list', lambda _, v: v['url'] == audio_url, 'video_filename_type', 'value', any))
|
||||||
|
if format_id != 'audio_paid':
|
||||||
|
self.report_warning('The audio may be empty, or incomplete and contains only trial parts.')
|
||||||
|
formats = [{
|
||||||
|
'url': audio_url,
|
||||||
|
'ext': 'm4a',
|
||||||
|
'protocol': 'm3u8_native',
|
||||||
|
'format_id': format_id,
|
||||||
|
}]
|
||||||
|
else:
|
||||||
|
raise ExtractorError('Unknown media type', video_id=video_id)
|
||||||
|
|
||||||
return {
|
return {
|
||||||
'id': video_id,
|
'id': video_id,
|
||||||
|
|
Loading…
Reference in a new issue