Merge branch 'main' of ssh://repos.susurrando.com:1222/adelgado/get_youtube_videos

This commit is contained in:
Antonio J. Delgado 2025-07-21 08:39:02 +03:00
commit d9fd4400cd

View file

@ -374,7 +374,8 @@ class GetYoutubeVideos:
'allow_multiple_audio_streams': True, 'allow_multiple_audio_streams': True,
'noprogress': True, 'noprogress': True,
'merge_output_format': 'mkv', 'merge_output_format': 'mkv',
'format': 'bestvideo+bestaudio[ext=m4a]/best', # 'format': 'bestvideo+bestaudio[ext=m4a]/best',
'format': '248+ba',
# 'extractor_args': {'youtube': {'player-client': ['mweb']}} # 'extractor_args': {'youtube': {'player-client': ['mweb']}}
} }
if self.selected_proxy != '': if self.selected_proxy != '':
@ -394,6 +395,34 @@ class GetYoutubeVideos:
} }
) )
except yt_dlp.utils.DownloadError as error: except yt_dlp.utils.DownloadError as error:
if 'Requested format is not available' in f"{error}":
self._log.warning(
f"Requested format is not available, trying best format."
)
ydl_opts['format'] = 'bestvideo+bestaudio[ext=m4a]/best'
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
try:
uri=f"https://www.youtube.com/watch?v={video_id}"
return_code = ydl.download(uri)
self._process_download(
{
"return_code": return_code,
'info_dict': {
'id': video_id,
},
'filename': video_info.get('title', '?'),
'video_info': video_info,
}
)
except yt_dlp.utils.DownloadError as sub_error:
self._log.error(
"Error getting video with proxy '%s'. %s",
self.selected_proxy,
sub_error
)
self.summary['videos_with_error'] += 1
break
else:
self._log.error( self._log.error(
"Error getting video with proxy '%s'. %s", "Error getting video with proxy '%s'. %s",
self.selected_proxy, self.selected_proxy,