diff options
author | pukkandan <pukkandan.ytdlp@gmail.com> | 2021-10-12 16:47:18 +0530 |
---|---|---|
committer | pukkandan <pukkandan.ytdlp@gmail.com> | 2021-10-13 04:14:11 +0530 |
commit | 975a0d0df98a68d936c86a77175f2b0e86b576f5 (patch) | |
tree | 04666708f726835cc4c226a3d9be7fab7c609628 | |
parent | a387b69a7cb55afb160d8f59df2593cb337a9db7 (diff) | |
download | hypervideo-pre-975a0d0df98a68d936c86a77175f2b0e86b576f5.tar.lz hypervideo-pre-975a0d0df98a68d936c86a77175f2b0e86b576f5.tar.xz hypervideo-pre-975a0d0df98a68d936c86a77175f2b0e86b576f5.zip |
Calculate more fields for merged formats
Closes #947
-rw-r--r-- | yt_dlp/YoutubeDL.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/yt_dlp/YoutubeDL.py b/yt_dlp/YoutubeDL.py index 8878d710f..d9b3ce98d 100644 --- a/yt_dlp/YoutubeDL.py +++ b/yt_dlp/YoutubeDL.py @@ -1848,11 +1848,18 @@ class YoutubeDL(object): else: output_ext = 'mkv' + filtered = lambda *keys: filter(None, (traverse_obj(fmt, *keys) for fmt in formats_info)) + new_dict = { 'requested_formats': formats_info, - 'format': '+'.join(fmt_info.get('format') for fmt_info in formats_info), - 'format_id': '+'.join(fmt_info.get('format_id') for fmt_info in formats_info), + 'format': '+'.join(filtered('format')), + 'format_id': '+'.join(filtered('format_id')), 'ext': output_ext, + 'protocol': '+'.join(map(determine_protocol, formats_info)), + 'language': '+'.join(orderedSet(filtered('language'))), + 'format_note': '+'.join(orderedSet(filtered('format_note'))), + 'filesize_approx': sum(filtered('filesize', 'filesize_approx')), + 'tbr': sum(filtered('tbr', 'vbr', 'abr')), } if the_only_video: @@ -1870,6 +1877,7 @@ class YoutubeDL(object): new_dict.update({ 'acodec': the_only_audio.get('acodec'), 'abr': the_only_audio.get('abr'), + 'asr': the_only_audio.get('asr'), }) return new_dict |