diff --git a/yt_dlp/extractor/generic.py b/yt_dlp/extractor/generic.py index 696af5f93..12d1df2c8 100644 --- a/yt_dlp/extractor/generic.py +++ b/yt_dlp/extractor/generic.py @@ -1305,45 +1305,6 @@ class GenericIE(InfoExtractor): 'upload_date': '20200206', }, 'skip': 'IE fix required; embed detection', - }, { - # ✅97 - # SoundcloudEmbedIE - 'url': 'https://news.sophos.com/en-us/2023/08/10/s3-ep147-what-if-you-type-in-your-password-during-a-meeting/', - 'info_dict': { - 'id': '1588847423', - 'ext': 'm4a', - 'title': 'S3 Ep147: What if you type in your password during a meeting?', - 'artists': ['Naked Security'], - 'description': 'md5:6931a0630b920413c8c904407bf4b3b2', - 'duration': 942.762, - 'genres': ['Technology'], - 'license': 'all-rights-reserved', - 'repost_count': int, - 'tags': 'count:4', - 'thumbnail': r're:https?://i1\.sndcdn\.com/.+\.png', - 'timestamp': 1691624365, - 'track': 'S3 Ep147: What if you type in your password during a meeting?', - 'upload_date': '20230809', - 'uploader': 'Naked Security', - 'uploader_id': '61390843', - 'uploader_url': 'https://soundcloud.com/sophossecurity', - }, - 'params': {'skip_download': 'm3u8'}, - }, { - # ✅98 - # SoundcloudEmbedIE - 'url': 'https://www.guitarplayer.com/lessons/november-2023-guitar-player-lesson-audio', - 'info_dict': { - 'id': '1695754080', - 'title': 'A Tribute to Brian Setzer’s Guitar Mastery', - 'album': 'A Tribute to Brian Setzer’s Guitar Mastery', - 'album_artists': ['Guitar Player'], - 'album_type': 'playlist', - 'description': '', - 'uploader': 'Guitar Player', - 'uploader_id': '489924156', - }, - 'playlist_mincount': 7, }, { # ✅124 # YoutubeIE diff --git a/yt_dlp/extractor/soundcloud.py b/yt_dlp/extractor/soundcloud.py index 3496a08ef..fd7120072 100644 --- a/yt_dlp/extractor/soundcloud.py +++ b/yt_dlp/extractor/soundcloud.py @@ -26,11 +26,46 @@ class SoundcloudEmbedIE(InfoExtractor): _VALID_URL = r'https?://(?:w|player|p)\.soundcloud\.com/player/?.*?\burl=(?P.+)' _EMBED_REGEX = [r']+src=(["\'])(?P(?:https?://)?(?:w\.)?soundcloud\.com/player.+?)\1'] - _TEST = { + _TESTS = [{ + 'url': 'https://news.sophos.com/en-us/2023/08/10/s3-ep147-what-if-you-type-in-your-password-during-a-meeting/', + 'info_dict': { + 'id': '1588847423', + 'ext': 'm4a', + 'title': 'S3 Ep147: What if you type in your password during a meeting?', + 'artists': ['Naked Security'], + 'description': 'md5:6931a0630b920413c8c904407bf4b3b2', + 'duration': 942.762, + 'genres': ['Technology'], + 'license': 'all-rights-reserved', + 'repost_count': int, + 'tags': 'count:4', + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'timestamp': 1691624365, + 'track': 'S3 Ep147: What if you type in your password during a meeting?', + 'upload_date': '20230809', + 'uploader': 'Naked Security', + 'uploader_id': '61390843', + 'uploader_url': 'https://soundcloud.com/sophossecurity', + }, + 'params': {'skip_download': 'm3u8'}, + }, { + 'url': 'https://www.guitarplayer.com/lessons/november-2023-guitar-player-lesson-audio', + 'info_dict': { + 'id': '1695754080', + 'title': 'A Tribute to Brian Setzer’s Guitar Mastery', + 'album': 'A Tribute to Brian Setzer’s Guitar Mastery', + 'album_artists': ['Guitar Player'], + 'album_type': 'playlist', + 'description': '', + 'uploader': 'Guitar Player', + 'uploader_id': '489924156', + }, + 'playlist_mincount': 7, + }, { # from https://www.soundi.fi/uutiset/ennakkokuuntelussa-timo-kaukolammen-station-to-station-to-station-julkaisua-juhlitaan-tanaan-g-livelabissa/ 'url': 'https://w.soundcloud.com/player/?visual=true&url=https%3A%2F%2Fapi.soundcloud.com%2Fplaylists%2F922213810&show_artwork=true&maxwidth=640&maxheight=960&dnt=1&secret_token=s-ziYey', 'only_matching': True, - } + }] def _real_extract(self, url): query = parse_qs(url) @@ -407,269 +442,256 @@ class SoundcloudIE(SoundcloudBaseIE): ) ''' IE_NAME = 'soundcloud' - _TESTS = [ - { - 'url': 'http://soundcloud.com/ethmusic/lostin-powers-she-so-heavy', - 'md5': 'de9bac153e7427a7333b4b0c1b6a18d2', - 'info_dict': { - 'id': '62986583', - 'ext': 'opus', - 'title': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1', - 'track': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1', - 'description': 'No Downloads untill we record the finished version this weekend, i was too pumped n i had to post it , earl is prolly gonna b hella p.o\'d', - 'uploader': 'E.T. ExTerrestrial Music', - 'uploader_id': '1571244', - 'timestamp': 1349920598, - 'upload_date': '20121011', - 'duration': 143.216, - 'license': 'all-rights-reserved', - 'view_count': int, - 'like_count': int, - 'comment_count': int, - 'repost_count': int, - 'thumbnail': 'https://i1.sndcdn.com/artworks-000031955188-rwb18x-original.jpg', - 'uploader_url': 'https://soundcloud.com/ethmusic', - 'tags': 'count:14', - }, + _TESTS = [{ + 'url': 'http://soundcloud.com/ethmusic/lostin-powers-she-so-heavy', + 'md5': 'de9bac153e7427a7333b4b0c1b6a18d2', + 'info_dict': { + 'id': '62986583', + 'ext': 'opus', + 'title': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1', + 'track': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1', + 'description': 'md5:7b6074e00887ad79f59b647c8fb6d5ae', + 'uploader': 'E.T. ExTerrestrial Music', + 'uploader_id': '1571244', + 'timestamp': 1349920598, + 'upload_date': '20121011', + 'duration': 143.216, + 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'uploader_url': 'https://soundcloud.com/ethmusic', + 'tags': 'count:14', }, - # geo-restricted - { - 'url': 'https://soundcloud.com/the-concept-band/goldrushed-mastered?in=the-concept-band/sets/the-royal-concept-ep', - 'info_dict': { - 'id': '47127627', - 'ext': 'opus', - 'title': 'Goldrushed', - 'track': 'Goldrushed', - 'description': 'From Stockholm Sweden\r\nPovel / Magnus / Filip / David\r\nwww.theroyalconcept.com', - 'uploader': 'The Royal Concept', - 'uploader_id': '9615865', - 'timestamp': 1337635207, - 'upload_date': '20120521', - 'duration': 227.103, - 'license': 'all-rights-reserved', - 'view_count': int, - 'like_count': int, - 'comment_count': int, - 'repost_count': int, - 'uploader_url': 'https://soundcloud.com/the-concept-band', - 'thumbnail': 'https://i1.sndcdn.com/artworks-v8bFHhXm7Au6-0-original.jpg', - 'genres': ['Alternative'], - 'artists': ['The Royal Concept'], - 'tags': [], - }, + }, { + 'url': 'https://soundcloud.com/the-concept-band/goldrushed-mastered?in=the-concept-band/sets/the-royal-concept-ep', + 'info_dict': { + 'id': '47127627', + 'ext': 'opus', + 'title': 'Goldrushed', + 'track': 'Goldrushed', + 'description': 'md5:c0080b79a3710811d60234f94f391a40', + 'uploader': 'The Royal Concept', + 'uploader_id': '9615865', + 'timestamp': 1337635207, + 'upload_date': '20120521', + 'duration': 227.103, + 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + 'uploader_url': 'https://soundcloud.com/the-concept-band', + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'genres': ['Alternative'], + 'artists': ['The Royal Concept'], + 'tags': [], }, + 'skip': 'Geo-restricted', + }, { # private link - { - 'url': 'https://soundcloud.com/jaimemf/youtube-dl-test-video-a-y-baw/s-8Pjrp', - 'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604', - 'info_dict': { - 'id': '123998367', - 'ext': 'mp3', - 'title': 'Youtube - Dl Test Video \'\' Ä↭', - 'track': 'Youtube - Dl Test Video \'\' Ä↭', - 'description': 'test chars: "\'/\\ä↭', - 'uploader': 'jaimeMF', - 'uploader_id': '69767071', - 'timestamp': 1386604920, - 'upload_date': '20131209', - 'duration': 9.927, - 'license': 'all-rights-reserved', - 'view_count': int, - 'like_count': int, - 'comment_count': int, - 'repost_count': int, - 'uploader_url': 'https://soundcloud.com/jaimemf', - 'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png', - 'genres': ['youtubedl'], - 'tags': [], - }, + 'url': 'https://soundcloud.com/jaimemf/youtube-dl-test-video-a-y-baw/s-8Pjrp', + 'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604', + 'info_dict': { + 'id': '123998367', + 'ext': 'mp3', + 'title': 'Youtube - Dl Test Video \'\' Ä↭', + 'track': 'Youtube - Dl Test Video \'\' Ä↭', + 'description': 'md5:610b729ee06ac4cedaa28607212948f3', + 'uploader': 'jaimeMF', + 'uploader_id': '69767071', + 'timestamp': 1386604920, + 'upload_date': '20131209', + 'duration': 9.927, + 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + 'uploader_url': 'https://soundcloud.com/jaimemf', + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'genres': ['youtubedl'], + 'tags': [], }, + }, { # private link (alt format) - { - 'url': 'https://api.soundcloud.com/tracks/123998367?secret_token=s-8Pjrp', - 'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604', - 'info_dict': { - 'id': '123998367', - 'ext': 'mp3', - 'title': 'Youtube - Dl Test Video \'\' Ä↭', - 'track': 'Youtube - Dl Test Video \'\' Ä↭', - 'description': 'test chars: "\'/\\ä↭', - 'uploader': 'jaimeMF', - 'uploader_id': '69767071', - 'timestamp': 1386604920, - 'upload_date': '20131209', - 'duration': 9.927, - 'license': 'all-rights-reserved', - 'view_count': int, - 'like_count': int, - 'comment_count': int, - 'repost_count': int, - 'uploader_url': 'https://soundcloud.com/jaimemf', - 'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png', - 'genres': ['youtubedl'], - 'tags': [], - }, + 'url': 'https://api.soundcloud.com/tracks/123998367?secret_token=s-8Pjrp', + 'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604', + 'info_dict': { + 'id': '123998367', + 'ext': 'mp3', + 'title': 'Youtube - Dl Test Video \'\' Ä↭', + 'track': 'Youtube - Dl Test Video \'\' Ä↭', + 'description': 'md5:610b729ee06ac4cedaa28607212948f3', + 'uploader': 'jaimeMF', + 'uploader_id': '69767071', + 'timestamp': 1386604920, + 'upload_date': '20131209', + 'duration': 9.927, + 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + 'uploader_url': 'https://soundcloud.com/jaimemf', + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'genres': ['youtubedl'], + 'tags': [], }, + }, { # downloadable song - { - 'url': 'https://soundcloud.com/the80m/the-following', - 'md5': 'ecb87d7705d5f53e6c02a63760573c75', # wav: '9ffcddb08c87d74fb5808a3c183a1d04' - 'info_dict': { - 'id': '343609555', - 'ext': 'opus', # wav original available with auth - 'title': 'The Following', - 'track': 'The Following', - 'description': '', - 'uploader': '80M', - 'uploader_id': '312384765', - 'uploader_url': 'https://soundcloud.com/the80m', - 'upload_date': '20170922', - 'timestamp': 1506120436, - 'duration': 397.228, - 'thumbnail': 'https://i1.sndcdn.com/artworks-000243916348-ktoo7d-original.jpg', - 'license': 'all-rights-reserved', - 'like_count': int, - 'comment_count': int, - 'repost_count': int, - 'view_count': int, - 'genres': ['Dance & EDM'], - 'artists': ['80M'], - 'tags': ['80M', 'EDM', 'Dance', 'Music'], - }, - 'expected_warnings': ['Original download format is only available for registered users'], + 'url': 'https://soundcloud.com/the80m/the-following', + 'md5': 'ecb87d7705d5f53e6c02a63760573c75', # wav: '9ffcddb08c87d74fb5808a3c183a1d04' + 'info_dict': { + 'id': '343609555', + 'ext': 'opus', # wav original available with auth + 'title': 'The Following', + 'track': 'The Following', + 'description': '', + 'uploader': '80M', + 'uploader_id': '312384765', + 'uploader_url': 'https://soundcloud.com/the80m', + 'upload_date': '20170922', + 'timestamp': 1506120436, + 'duration': 397.228, + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'license': 'all-rights-reserved', + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + 'view_count': int, + 'genres': ['Dance & EDM'], + 'artists': ['80M'], + 'tags': 'count:4', }, + 'expected_warnings': ['Original download format is only available for registered users'], + }, { # private link, downloadable format # tags with spaces (e.g. "Uplifting Trance", "Ori Uplift") - { - 'url': 'https://soundcloud.com/oriuplift/uponly-238-no-talking-wav/s-AyZUd', - 'md5': '2e1530d0e9986a833a67cb34fc90ece0', # wav: '64a60b16e617d41d0bef032b7f55441e' - 'info_dict': { - 'id': '340344461', - 'ext': 'opus', # wav original available with auth - 'title': 'Uplifting Only 238 [No Talking] (incl. Alex Feed Guestmix) (Aug 31, 2017) [wav]', - 'track': 'Uplifting Only 238 [No Talking] (incl. Alex Feed Guestmix) (Aug 31, 2017) [wav]', - 'description': 'md5:fa20ee0fca76a3d6df8c7e57f3715366', - 'uploader': 'Ori Uplift Music', - 'uploader_id': '12563093', - 'timestamp': 1504206263, - 'upload_date': '20170831', - 'duration': 7449.096, - 'license': 'all-rights-reserved', - 'view_count': int, - 'like_count': int, - 'comment_count': int, - 'repost_count': int, - 'thumbnail': 'https://i1.sndcdn.com/artworks-000240712245-kedn4p-original.jpg', - 'uploader_url': 'https://soundcloud.com/oriuplift', - 'genres': ['Trance'], - 'artists': ['Ori Uplift'], - 'tags': ['Orchestral', 'Emotional', 'Uplifting Trance', 'Trance', 'Ori Uplift', 'UpOnly'], - }, - 'expected_warnings': ['Original download format is only available for registered users'], + 'url': 'https://soundcloud.com/oriuplift/uponly-238-no-talking-wav/s-AyZUd', + 'md5': '2e1530d0e9986a833a67cb34fc90ece0', # wav: '64a60b16e617d41d0bef032b7f55441e' + 'info_dict': { + 'id': '340344461', + 'ext': 'opus', # wav original available with auth + 'title': 'Uplifting Only 238 [No Talking] (incl. Alex Feed Guestmix) (Aug 31, 2017) [wav]', + 'track': 'Uplifting Only 238 [No Talking] (incl. Alex Feed Guestmix) (Aug 31, 2017) [wav]', + 'description': 'md5:fa20ee0fca76a3d6df8c7e57f3715366', + 'uploader': 'Ori Uplift Music', + 'uploader_id': '12563093', + 'timestamp': 1504206263, + 'upload_date': '20170831', + 'duration': 7449.096, + 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'uploader_url': 'https://soundcloud.com/oriuplift', + 'genres': ['Trance'], + 'artists': ['Ori Uplift'], + 'tags': 'count:6', }, + 'expected_warnings': ['Original download format is only available for registered users'], + }, { # no album art, use avatar pic for thumbnail - { - 'url': 'https://soundcloud.com/garyvee/sideways-prod-mad-real', - 'md5': '59c7872bc44e5d99b7211891664760c2', - 'info_dict': { - 'id': '309699954', - 'ext': 'mp3', - 'title': 'Sideways (Prod. Mad Real)', - 'track': 'Sideways (Prod. Mad Real)', - 'description': 'md5:d41d8cd98f00b204e9800998ecf8427e', - 'uploader': 'garyvee', - 'uploader_id': '2366352', - 'timestamp': 1488152409, - 'upload_date': '20170226', - 'duration': 207.012, - 'thumbnail': r're:https?://.*\.jpg', - 'license': 'all-rights-reserved', - 'view_count': int, - 'like_count': int, - 'comment_count': int, - 'repost_count': int, - 'uploader_url': 'https://soundcloud.com/garyvee', - 'artists': ['MadReal'], - 'tags': [], - }, - 'params': { - 'skip_download': True, - }, + 'url': 'https://soundcloud.com/garyvee/sideways-prod-mad-real', + 'md5': '59c7872bc44e5d99b7211891664760c2', + 'info_dict': { + 'id': '309699954', + 'ext': 'mp3', + 'title': 'Sideways (Prod. Mad Real)', + 'track': 'Sideways (Prod. Mad Real)', + 'description': 'md5:d41d8cd98f00b204e9800998ecf8427e', + 'uploader': 'garyvee', + 'uploader_id': '2366352', + 'timestamp': 1488152409, + 'upload_date': '20170226', + 'duration': 207.012, + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + 'uploader_url': 'https://soundcloud.com/garyvee', + 'artists': ['MadReal'], + 'tags': [], }, - { - 'url': 'https://soundcloud.com/giovannisarani/mezzo-valzer', - 'md5': '8227c3473a4264df6b02ad7e5b7527ac', - 'info_dict': { - 'id': '583011102', - 'ext': 'opus', - 'title': 'Mezzo Valzer', - 'track': 'Mezzo Valzer', - 'description': 'md5:f4d5f39d52e0ccc2b4f665326428901a', - 'uploader': 'Giovanni Sarani', - 'uploader_id': '3352531', - 'timestamp': 1551394171, - 'upload_date': '20190228', - 'duration': 180.157, - 'thumbnail': r're:https?://.*\.jpg', - 'license': 'all-rights-reserved', - 'view_count': int, - 'like_count': int, - 'comment_count': int, - 'repost_count': int, - 'genres': ['Piano'], - 'uploader_url': 'https://soundcloud.com/giovannisarani', - 'tags': 'count:10', - }, + 'params': {'skip_download': 'm3u8'}, + }, { + 'url': 'https://soundcloud.com/giovannisarani/mezzo-valzer', + 'md5': '8227c3473a4264df6b02ad7e5b7527ac', + 'info_dict': { + 'id': '583011102', + 'ext': 'm4a', + 'title': 'Mezzo Valzer', + 'track': 'Mezzo Valzer', + 'description': 'md5:f4d5f39d52e0ccc2b4f665326428901a', + 'uploader': 'Giovanni Sarani', + 'uploader_id': '3352531', + 'timestamp': 1551394171, + 'upload_date': '20190228', + 'duration': 180.134, + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'license': 'all-rights-reserved', + 'view_count': int, + 'like_count': int, + 'comment_count': int, + 'repost_count': int, + 'genres': ['Piano'], + 'uploader_url': 'https://soundcloud.com/giovannisarani', + 'tags': 'count:10', }, + 'params': {'skip_download': 'm3u8'}, + }, { # .png "original" artwork, 160kbps m4a HLS format - { - 'url': 'https://soundcloud.com/skorxh/audio-dealer', - 'info_dict': { - 'id': '2011421339', - 'ext': 'm4a', - 'title': 'audio dealer', - 'description': '', - 'uploader': '$KORCH', - 'uploader_id': '150292288', - 'uploader_url': 'https://soundcloud.com/skorxh', - 'comment_count': int, - 'view_count': int, - 'like_count': int, - 'repost_count': int, - 'duration': 213.469, - 'tags': [], - 'artists': ['$KORXH'], - 'track': 'audio dealer', - 'timestamp': 1737143201, - 'upload_date': '20250117', - 'license': 'all-rights-reserved', - 'thumbnail': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-original.png', - 'thumbnails': [ - {'id': 'mini', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-mini.jpg'}, - {'id': 'tiny', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-tiny.jpg'}, - {'id': 'small', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-small.jpg'}, - {'id': 'badge', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-badge.jpg'}, - {'id': 't67x67', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t67x67.jpg'}, - {'id': 'large', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-large.jpg'}, - {'id': 't300x300', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t300x300.jpg'}, - {'id': 'crop', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-crop.jpg'}, - {'id': 't500x500', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t500x500.jpg'}, - {'id': 'original', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-original.png'}, - ], - }, - 'params': {'skip_download': 'm3u8', 'format': 'hls_aac_160k'}, + 'url': 'https://soundcloud.com/skorxh/audio-dealer', + 'info_dict': { + 'id': '2011421339', + 'ext': 'm4a', + 'title': 'audio dealer', + 'description': '', + 'uploader': '$KORCH', + 'uploader_id': '150292288', + 'uploader_url': 'https://soundcloud.com/skorxh', + 'comment_count': int, + 'view_count': int, + 'like_count': int, + 'repost_count': int, + 'duration': 213.469, + 'tags': [], + 'artists': ['$KORXH'], + 'track': 'audio dealer', + 'timestamp': 1737143201, + 'upload_date': '20250117', + 'license': 'all-rights-reserved', + 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)', + 'thumbnails': [ + {'id': 'mini', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-mini.jpg'}, + {'id': 'tiny', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-tiny.jpg'}, + {'id': 'small', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-small.jpg'}, + {'id': 'badge', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-badge.jpg'}, + {'id': 't67x67', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t67x67.jpg'}, + {'id': 'large', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-large.jpg'}, + {'id': 't300x300', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t300x300.jpg'}, + {'id': 'crop', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-crop.jpg'}, + {'id': 't500x500', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t500x500.jpg'}, + {'id': 'original', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-original.png'}, + ], }, - { - # AAC HQ format available (account with active subscription needed) - 'url': 'https://soundcloud.com/wandw/the-chainsmokers-ft-daya-dont-let-me-down-ww-remix-1', - 'only_matching': True, - }, - { - # Go+ (account with active subscription needed) - 'url': 'https://soundcloud.com/taylorswiftofficial/look-what-you-made-me-do', - 'only_matching': True, - }, - ] + 'params': {'skip_download': 'm3u8', 'format': 'hls_aac_160k'}, + }, { + # AAC HQ format available (account with active subscription needed) + 'url': 'https://soundcloud.com/wandw/the-chainsmokers-ft-daya-dont-let-me-down-ww-remix-1', + 'only_matching': True, + }, { + # Go+ (account with active subscription needed) + 'url': 'https://soundcloud.com/taylorswiftofficial/look-what-you-made-me-do', + 'only_matching': True, + }] def _real_extract(self, url): mobj = self._match_valid_url(url) @@ -907,7 +929,7 @@ class SoundcloudUserIE(SoundcloudPagedPlaylistBaseIE): 'id': '7098329', 'title': 'Grynpyret (Spotlight)', }, - 'playlist_mincount': 1, + 'playlist_mincount': 0, }, { 'url': 'https://soundcloud.com/one-thousand-and-one/comments', 'info_dict': { @@ -998,7 +1020,7 @@ class SoundcloudRelatedIE(SoundcloudPagedPlaylistBaseIE): 'id': '1084577272', 'title': 'Sexapil - Pingers 5 (Recommended)', }, - 'playlist_mincount': 50, + 'playlist_mincount': 49, }, { 'url': 'https://soundcloud.com/wajang/sexapil-pingers-5/albums', 'info_dict': { @@ -1045,7 +1067,7 @@ class SoundcloudPlaylistIE(SoundcloudPlaylistBaseIE): 'info_dict': { 'id': '4110309', 'title': 'TILT Brass - Bowery Poetry Club, August \'03 [Non-Site SCR 02]', - 'description': 're:.*?TILT Brass - Bowery Poetry Club', + 'description': 'md5:e4373f7177fe3db292a8552b4ec41bc6', 'uploader': 'Non-Site Records', 'uploader_id': '33660914', 'album_artists': ['Non-Site Records'],