aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpukkandan <pukkandan.ytdlp@gmail.com>2023-03-24 21:53:06 +0530
committerpukkandan <pukkandan.ytdlp@gmail.com>2023-03-25 13:18:21 +0530
commitf68434cc74cfd3db01b266476a2eac8329fbb267 (patch)
tree5627c6ac73ac2121199a925d8b064abb6e36e694
parentbaa922b5c74b10e3b86ff5e6cf6529b3aae8efab (diff)
downloadhypervideo-pre-f68434cc74cfd3db01b266476a2eac8329fbb267.tar.lz
hypervideo-pre-f68434cc74cfd3db01b266476a2eac8329fbb267.tar.xz
hypervideo-pre-f68434cc74cfd3db01b266476a2eac8329fbb267.zip
[extractor] Extract more metadata from ISM
Fixes https://github.com/yt-dlp/yt-dlp/commit/81b6102d2099eec78a2db9ae3d101a8503dd4f25#r105892531
-rw-r--r--test/test_InfoExtractor.py116
-rw-r--r--yt_dlp/extractor/common.py2
2 files changed, 38 insertions, 80 deletions
diff --git a/test/test_InfoExtractor.py b/test/test_InfoExtractor.py
index e8d94a6ac..1f60abfd2 100644
--- a/test/test_InfoExtractor.py
+++ b/test/test_InfoExtractor.py
@@ -1406,6 +1406,7 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'none',
'acodec': 'AACL',
'protocol': 'ism',
+ 'audio_channels': 2,
'_download_params': {
'stream_type': 'audio',
'duration': 8880746666,
@@ -1419,9 +1420,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'audio_ext': 'isma',
- 'video_ext': 'none',
- 'abr': 128,
}, {
'format_id': 'video-100',
'url': 'https://sdn-global-streaming-cache-3qsdn.akamaized.net/stream/3144/files/17/07/672975/3144-kZT4LWMQw6Rh7Kpd.ism/Manifest',
@@ -1445,9 +1443,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 100,
}, {
'format_id': 'video-326',
'url': 'https://sdn-global-streaming-cache-3qsdn.akamaized.net/stream/3144/files/17/07/672975/3144-kZT4LWMQw6Rh7Kpd.ism/Manifest',
@@ -1471,9 +1466,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 326,
}, {
'format_id': 'video-698',
'url': 'https://sdn-global-streaming-cache-3qsdn.akamaized.net/stream/3144/files/17/07/672975/3144-kZT4LWMQw6Rh7Kpd.ism/Manifest',
@@ -1497,9 +1489,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 698,
}, {
'format_id': 'video-1493',
'url': 'https://sdn-global-streaming-cache-3qsdn.akamaized.net/stream/3144/files/17/07/672975/3144-kZT4LWMQw6Rh7Kpd.ism/Manifest',
@@ -1523,9 +1512,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 1493,
}, {
'format_id': 'video-4482',
'url': 'https://sdn-global-streaming-cache-3qsdn.akamaized.net/stream/3144/files/17/07/672975/3144-kZT4LWMQw6Rh7Kpd.ism/Manifest',
@@ -1549,9 +1535,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 4482,
}],
{
'eng': [
@@ -1575,61 +1558,57 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'ec-3_test',
'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
[{
- 'format_id': 'audio_deu_1-224',
+ 'format_id': 'audio_deu-127',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
'manifest_url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
'ext': 'isma',
- 'tbr': 224,
+ 'tbr': 127,
'asr': 48000,
'vcodec': 'none',
- 'acodec': 'EC-3',
+ 'acodec': 'AACL',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ 'audio_channels': 2,
+ '_download_params': {
'stream_type': 'audio',
'duration': 370000000,
'timescale': 10000000,
'width': 0,
'height': 0,
- 'fourcc': 'EC-3',
+ 'fourcc': 'AACL',
'language': 'deu',
- 'codec_private_data': '00063F000000AF87FBA7022DFB42A4D405CD93843BDD0700200F00',
+ 'codec_private_data': '1190',
'sampling_rate': 48000,
- 'channels': 6,
+ 'channels': 2,
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'audio_ext': 'isma',
- 'video_ext': 'none',
- 'abr': 224,
}, {
- 'format_id': 'audio_deu-127',
+ 'format_id': 'audio_deu_1-224',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
'manifest_url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
'ext': 'isma',
- 'tbr': 127,
+ 'tbr': 224,
'asr': 48000,
'vcodec': 'none',
- 'acodec': 'AACL',
+ 'acodec': 'EC-3',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ 'audio_channels': 6,
+ '_download_params': {
'stream_type': 'audio',
'duration': 370000000,
'timescale': 10000000,
'width': 0,
'height': 0,
- 'fourcc': 'AACL',
+ 'fourcc': 'EC-3',
'language': 'deu',
- 'codec_private_data': '1190',
+ 'codec_private_data': '00063F000000AF87FBA7022DFB42A4D405CD93843BDD0700200F00',
'sampling_rate': 48000,
- 'channels': 2,
+ 'channels': 6,
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'audio_ext': 'isma',
- 'video_ext': 'none',
- 'abr': 127,
}, {
'format_id': 'video_deu-23',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
@@ -1641,8 +1620,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'AVC1',
'acodec': 'none',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ '_download_params': {
'stream_type': 'video',
'duration': 370000000,
'timescale': 10000000,
@@ -1655,9 +1634,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 23,
}, {
'format_id': 'video_deu-403',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
@@ -1669,8 +1645,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'AVC1',
'acodec': 'none',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ '_download_params': {
'stream_type': 'video',
'duration': 370000000,
'timescale': 10000000,
@@ -1683,9 +1659,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 403,
}, {
'format_id': 'video_deu-680',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
@@ -1697,8 +1670,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'AVC1',
'acodec': 'none',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ '_download_params': {
'stream_type': 'video',
'duration': 370000000,
'timescale': 10000000,
@@ -1711,9 +1684,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 680,
}, {
'format_id': 'video_deu-1253',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
@@ -1725,8 +1695,9 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'AVC1',
'acodec': 'none',
'protocol': 'ism',
- '_download_params':
- {
+ 'vbr': 1253,
+ 'language': 'deu',
+ '_download_params': {
'stream_type': 'video',
'duration': 370000000,
'timescale': 10000000,
@@ -1739,9 +1710,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 1253,
}, {
'format_id': 'video_deu-2121',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
@@ -1753,8 +1721,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'AVC1',
'acodec': 'none',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ '_download_params': {
'stream_type': 'video',
'duration': 370000000,
'timescale': 10000000,
@@ -1767,9 +1735,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 2121,
}, {
'format_id': 'video_deu-3275',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
@@ -1781,8 +1746,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'AVC1',
'acodec': 'none',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ '_download_params': {
'stream_type': 'video',
'duration': 370000000,
'timescale': 10000000,
@@ -1795,9 +1760,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 3275,
}, {
'format_id': 'video_deu-5300',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
@@ -1809,8 +1771,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'AVC1',
'acodec': 'none',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ '_download_params': {
'stream_type': 'video',
'duration': 370000000,
'timescale': 10000000,
@@ -1823,9 +1785,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 5300,
}, {
'format_id': 'video_deu-8079',
'url': 'https://smstr01.dmm.t-online.de/smooth24/smoothstream_m1/streaming/sony/9221438342941275747/636887760842957027/25_km_h-Trailer-9221571562372022953_deu_20_1300k_HD_H_264_ISMV.ism/Manifest',
@@ -1837,8 +1796,8 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'vcodec': 'AVC1',
'acodec': 'none',
'protocol': 'ism',
- '_download_params':
- {
+ 'language': 'deu',
+ '_download_params': {
'stream_type': 'video',
'duration': 370000000,
'timescale': 10000000,
@@ -1851,9 +1810,6 @@ jwplayer("mediaplayer").setup({"abouttext":"Visit Indie DB","aboutlink":"http:\/
'bits_per_sample': 16,
'nal_unit_length_field': 4
},
- 'video_ext': 'ismv',
- 'audio_ext': 'none',
- 'vbr': 8079,
}],
{},
),
diff --git a/yt_dlp/extractor/common.py b/yt_dlp/extractor/common.py
index 5da12725a..838899052 100644
--- a/yt_dlp/extractor/common.py
+++ b/yt_dlp/extractor/common.py
@@ -2983,6 +2983,8 @@ class InfoExtractor:
'protocol': 'ism',
'fragments': fragments,
'has_drm': ism_doc.find('Protection') is not None,
+ 'language': stream_language,
+ 'audio_channels': int_or_none(track.get('Channels')),
'_download_params': {
'stream_type': stream_type,
'duration': duration,