1
0
mirror of https://github.com/yt-dlp/yt-dlp.git synced 2025-08-15 17:08:29 +00:00

SoundcloudEmbedIE

This commit is contained in:
doe1080 2025-07-16 19:11:05 +09:00
parent 0e961aecb1
commit d691d077bb
2 changed files with 274 additions and 291 deletions

View File

@ -1305,45 +1305,6 @@ class GenericIE(InfoExtractor):
'upload_date': '20200206', 'upload_date': '20200206',
}, },
'skip': 'IE fix required; embed detection', '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 Setzers Guitar Mastery',
'album': 'A Tribute to Brian Setzers Guitar Mastery',
'album_artists': ['Guitar Player'],
'album_type': 'playlist',
'description': '',
'uploader': 'Guitar Player',
'uploader_id': '489924156',
},
'playlist_mincount': 7,
}, { }, {
# ✅124 # ✅124
# YoutubeIE # YoutubeIE

View File

@ -26,11 +26,46 @@
class SoundcloudEmbedIE(InfoExtractor): class SoundcloudEmbedIE(InfoExtractor):
_VALID_URL = r'https?://(?:w|player|p)\.soundcloud\.com/player/?.*?\burl=(?P<id>.+)' _VALID_URL = r'https?://(?:w|player|p)\.soundcloud\.com/player/?.*?\burl=(?P<id>.+)'
_EMBED_REGEX = [r'<iframe[^>]+src=(["\'])(?P<url>(?:https?://)?(?:w\.)?soundcloud\.com/player.+?)\1'] _EMBED_REGEX = [r'<iframe[^>]+src=(["\'])(?P<url>(?: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 Setzers Guitar Mastery',
'album': 'A Tribute to Brian Setzers 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/ # 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', '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, 'only_matching': True,
} }]
def _real_extract(self, url): def _real_extract(self, url):
query = parse_qs(url) query = parse_qs(url)
@ -407,269 +442,256 @@ class SoundcloudIE(SoundcloudBaseIE):
) )
''' '''
IE_NAME = 'soundcloud' IE_NAME = 'soundcloud'
_TESTS = [ _TESTS = [{
{ 'url': 'http://soundcloud.com/ethmusic/lostin-powers-she-so-heavy',
'url': 'http://soundcloud.com/ethmusic/lostin-powers-she-so-heavy', 'md5': 'de9bac153e7427a7333b4b0c1b6a18d2',
'md5': 'de9bac153e7427a7333b4b0c1b6a18d2', 'info_dict': {
'info_dict': { 'id': '62986583',
'id': '62986583', 'ext': 'opus',
'ext': 'opus', 'title': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1',
'title': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1', 'track': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1',
'track': 'Lostin Powers - She so Heavy (SneakPreview) Adrian Ackers Blueprint 1', 'description': 'md5:7b6074e00887ad79f59b647c8fb6d5ae',
'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': 'E.T. ExTerrestrial Music', 'uploader_id': '1571244',
'uploader_id': '1571244', 'timestamp': 1349920598,
'timestamp': 1349920598, 'upload_date': '20121011',
'upload_date': '20121011', 'duration': 143.216,
'duration': 143.216, 'license': 'all-rights-reserved',
'license': 'all-rights-reserved', 'view_count': int,
'view_count': int, 'like_count': int,
'like_count': int, 'comment_count': int,
'comment_count': int, 'repost_count': int,
'repost_count': int, 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'thumbnail': 'https://i1.sndcdn.com/artworks-000031955188-rwb18x-original.jpg', 'uploader_url': 'https://soundcloud.com/ethmusic',
'uploader_url': 'https://soundcloud.com/ethmusic', 'tags': 'count:14',
'tags': 'count:14',
},
}, },
# geo-restricted }, {
{ 'url': 'https://soundcloud.com/the-concept-band/goldrushed-mastered?in=the-concept-band/sets/the-royal-concept-ep',
'url': 'https://soundcloud.com/the-concept-band/goldrushed-mastered?in=the-concept-band/sets/the-royal-concept-ep', 'info_dict': {
'info_dict': { 'id': '47127627',
'id': '47127627', 'ext': 'opus',
'ext': 'opus', 'title': 'Goldrushed',
'title': 'Goldrushed', 'track': 'Goldrushed',
'track': 'Goldrushed', 'description': 'md5:c0080b79a3710811d60234f94f391a40',
'description': 'From Stockholm Sweden\r\nPovel / Magnus / Filip / David\r\nwww.theroyalconcept.com', 'uploader': 'The Royal Concept',
'uploader': 'The Royal Concept', 'uploader_id': '9615865',
'uploader_id': '9615865', 'timestamp': 1337635207,
'timestamp': 1337635207, 'upload_date': '20120521',
'upload_date': '20120521', 'duration': 227.103,
'duration': 227.103, 'license': 'all-rights-reserved',
'license': 'all-rights-reserved', 'view_count': int,
'view_count': int, 'like_count': int,
'like_count': int, 'comment_count': int,
'comment_count': int, 'repost_count': int,
'repost_count': int, 'uploader_url': 'https://soundcloud.com/the-concept-band',
'uploader_url': 'https://soundcloud.com/the-concept-band', 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'thumbnail': 'https://i1.sndcdn.com/artworks-v8bFHhXm7Au6-0-original.jpg', 'genres': ['Alternative'],
'genres': ['Alternative'], 'artists': ['The Royal Concept'],
'artists': ['The Royal Concept'], 'tags': [],
'tags': [],
},
}, },
'skip': 'Geo-restricted',
}, {
# private link # private link
{ 'url': 'https://soundcloud.com/jaimemf/youtube-dl-test-video-a-y-baw/s-8Pjrp',
'url': 'https://soundcloud.com/jaimemf/youtube-dl-test-video-a-y-baw/s-8Pjrp', 'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604',
'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604', 'info_dict': {
'info_dict': { 'id': '123998367',
'id': '123998367', 'ext': 'mp3',
'ext': 'mp3', 'title': 'Youtube - Dl Test Video \'\' Ä↭',
'title': 'Youtube - Dl Test Video \'\' Ä↭', 'track': 'Youtube - Dl Test Video \'\' Ä↭',
'track': 'Youtube - Dl Test Video \'\' Ä↭', 'description': 'md5:610b729ee06ac4cedaa28607212948f3',
'description': 'test chars: "\'/\\ä↭', 'uploader': 'jaimeMF',
'uploader': 'jaimeMF', 'uploader_id': '69767071',
'uploader_id': '69767071', 'timestamp': 1386604920,
'timestamp': 1386604920, 'upload_date': '20131209',
'upload_date': '20131209', 'duration': 9.927,
'duration': 9.927, 'license': 'all-rights-reserved',
'license': 'all-rights-reserved', 'view_count': int,
'view_count': int, 'like_count': int,
'like_count': int, 'comment_count': int,
'comment_count': int, 'repost_count': int,
'repost_count': int, 'uploader_url': 'https://soundcloud.com/jaimemf',
'uploader_url': 'https://soundcloud.com/jaimemf', 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png', 'genres': ['youtubedl'],
'genres': ['youtubedl'], 'tags': [],
'tags': [],
},
}, },
}, {
# private link (alt format) # private link (alt format)
{ 'url': 'https://api.soundcloud.com/tracks/123998367?secret_token=s-8Pjrp',
'url': 'https://api.soundcloud.com/tracks/123998367?secret_token=s-8Pjrp', 'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604',
'md5': 'aa0dd32bfea9b0c5ef4f02aacd080604', 'info_dict': {
'info_dict': { 'id': '123998367',
'id': '123998367', 'ext': 'mp3',
'ext': 'mp3', 'title': 'Youtube - Dl Test Video \'\' Ä↭',
'title': 'Youtube - Dl Test Video \'\' Ä↭', 'track': 'Youtube - Dl Test Video \'\' Ä↭',
'track': 'Youtube - Dl Test Video \'\' Ä↭', 'description': 'md5:610b729ee06ac4cedaa28607212948f3',
'description': 'test chars: "\'/\\ä↭', 'uploader': 'jaimeMF',
'uploader': 'jaimeMF', 'uploader_id': '69767071',
'uploader_id': '69767071', 'timestamp': 1386604920,
'timestamp': 1386604920, 'upload_date': '20131209',
'upload_date': '20131209', 'duration': 9.927,
'duration': 9.927, 'license': 'all-rights-reserved',
'license': 'all-rights-reserved', 'view_count': int,
'view_count': int, 'like_count': int,
'like_count': int, 'comment_count': int,
'comment_count': int, 'repost_count': int,
'repost_count': int, 'uploader_url': 'https://soundcloud.com/jaimemf',
'uploader_url': 'https://soundcloud.com/jaimemf', 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'thumbnail': 'https://a1.sndcdn.com/images/default_avatar_large.png', 'genres': ['youtubedl'],
'genres': ['youtubedl'], 'tags': [],
'tags': [],
},
}, },
}, {
# downloadable song # downloadable song
{ 'url': 'https://soundcloud.com/the80m/the-following',
'url': 'https://soundcloud.com/the80m/the-following', 'md5': 'ecb87d7705d5f53e6c02a63760573c75', # wav: '9ffcddb08c87d74fb5808a3c183a1d04'
'md5': 'ecb87d7705d5f53e6c02a63760573c75', # wav: '9ffcddb08c87d74fb5808a3c183a1d04' 'info_dict': {
'info_dict': { 'id': '343609555',
'id': '343609555', 'ext': 'opus', # wav original available with auth
'ext': 'opus', # wav original available with auth 'title': 'The Following',
'title': 'The Following', 'track': 'The Following',
'track': 'The Following', 'description': '',
'description': '', 'uploader': '80M',
'uploader': '80M', 'uploader_id': '312384765',
'uploader_id': '312384765', 'uploader_url': 'https://soundcloud.com/the80m',
'uploader_url': 'https://soundcloud.com/the80m', 'upload_date': '20170922',
'upload_date': '20170922', 'timestamp': 1506120436,
'timestamp': 1506120436, 'duration': 397.228,
'duration': 397.228, 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'thumbnail': 'https://i1.sndcdn.com/artworks-000243916348-ktoo7d-original.jpg', 'license': 'all-rights-reserved',
'license': 'all-rights-reserved', 'like_count': int,
'like_count': int, 'comment_count': int,
'comment_count': int, 'repost_count': int,
'repost_count': int, 'view_count': int,
'view_count': int, 'genres': ['Dance & EDM'],
'genres': ['Dance & EDM'], 'artists': ['80M'],
'artists': ['80M'], 'tags': 'count:4',
'tags': ['80M', 'EDM', 'Dance', 'Music'],
},
'expected_warnings': ['Original download format is only available for registered users'],
}, },
'expected_warnings': ['Original download format is only available for registered users'],
}, {
# private link, downloadable format # private link, downloadable format
# tags with spaces (e.g. "Uplifting Trance", "Ori Uplift") # tags with spaces (e.g. "Uplifting Trance", "Ori Uplift")
{ 'url': 'https://soundcloud.com/oriuplift/uponly-238-no-talking-wav/s-AyZUd',
'url': 'https://soundcloud.com/oriuplift/uponly-238-no-talking-wav/s-AyZUd', 'md5': '2e1530d0e9986a833a67cb34fc90ece0', # wav: '64a60b16e617d41d0bef032b7f55441e'
'md5': '2e1530d0e9986a833a67cb34fc90ece0', # wav: '64a60b16e617d41d0bef032b7f55441e' 'info_dict': {
'info_dict': { 'id': '340344461',
'id': '340344461', 'ext': 'opus', # wav original available with auth
'ext': 'opus', # wav original available with auth 'title': 'Uplifting Only 238 [No Talking] (incl. Alex Feed Guestmix) (Aug 31, 2017) [wav]',
'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]',
'track': 'Uplifting Only 238 [No Talking] (incl. Alex Feed Guestmix) (Aug 31, 2017) [wav]', 'description': 'md5:fa20ee0fca76a3d6df8c7e57f3715366',
'description': 'md5:fa20ee0fca76a3d6df8c7e57f3715366', 'uploader': 'Ori Uplift Music',
'uploader': 'Ori Uplift Music', 'uploader_id': '12563093',
'uploader_id': '12563093', 'timestamp': 1504206263,
'timestamp': 1504206263, 'upload_date': '20170831',
'upload_date': '20170831', 'duration': 7449.096,
'duration': 7449.096, 'license': 'all-rights-reserved',
'license': 'all-rights-reserved', 'view_count': int,
'view_count': int, 'like_count': int,
'like_count': int, 'comment_count': int,
'comment_count': int, 'repost_count': int,
'repost_count': int, 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'thumbnail': 'https://i1.sndcdn.com/artworks-000240712245-kedn4p-original.jpg', 'uploader_url': 'https://soundcloud.com/oriuplift',
'uploader_url': 'https://soundcloud.com/oriuplift', 'genres': ['Trance'],
'genres': ['Trance'], 'artists': ['Ori Uplift'],
'artists': ['Ori Uplift'], 'tags': 'count:6',
'tags': ['Orchestral', 'Emotional', 'Uplifting Trance', 'Trance', 'Ori Uplift', 'UpOnly'],
},
'expected_warnings': ['Original download format is only available for registered users'],
}, },
'expected_warnings': ['Original download format is only available for registered users'],
}, {
# no album art, use avatar pic for thumbnail # no album art, use avatar pic for thumbnail
{ 'url': 'https://soundcloud.com/garyvee/sideways-prod-mad-real',
'url': 'https://soundcloud.com/garyvee/sideways-prod-mad-real', 'md5': '59c7872bc44e5d99b7211891664760c2',
'md5': '59c7872bc44e5d99b7211891664760c2', 'info_dict': {
'info_dict': { 'id': '309699954',
'id': '309699954', 'ext': 'mp3',
'ext': 'mp3', 'title': 'Sideways (Prod. Mad Real)',
'title': 'Sideways (Prod. Mad Real)', 'track': 'Sideways (Prod. Mad Real)',
'track': 'Sideways (Prod. Mad Real)', 'description': 'md5:d41d8cd98f00b204e9800998ecf8427e',
'description': 'md5:d41d8cd98f00b204e9800998ecf8427e', 'uploader': 'garyvee',
'uploader': 'garyvee', 'uploader_id': '2366352',
'uploader_id': '2366352', 'timestamp': 1488152409,
'timestamp': 1488152409, 'upload_date': '20170226',
'upload_date': '20170226', 'duration': 207.012,
'duration': 207.012, 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'thumbnail': r're:https?://.*\.jpg', 'license': 'all-rights-reserved',
'license': 'all-rights-reserved', 'view_count': int,
'view_count': int, 'like_count': int,
'like_count': int, 'comment_count': int,
'comment_count': int, 'repost_count': int,
'repost_count': int, 'uploader_url': 'https://soundcloud.com/garyvee',
'uploader_url': 'https://soundcloud.com/garyvee', 'artists': ['MadReal'],
'artists': ['MadReal'], 'tags': [],
'tags': [],
},
'params': {
'skip_download': True,
},
}, },
{ 'params': {'skip_download': 'm3u8'},
'url': 'https://soundcloud.com/giovannisarani/mezzo-valzer', }, {
'md5': '8227c3473a4264df6b02ad7e5b7527ac', 'url': 'https://soundcloud.com/giovannisarani/mezzo-valzer',
'info_dict': { 'md5': '8227c3473a4264df6b02ad7e5b7527ac',
'id': '583011102', 'info_dict': {
'ext': 'opus', 'id': '583011102',
'title': 'Mezzo Valzer', 'ext': 'm4a',
'track': 'Mezzo Valzer', 'title': 'Mezzo Valzer',
'description': 'md5:f4d5f39d52e0ccc2b4f665326428901a', 'track': 'Mezzo Valzer',
'uploader': 'Giovanni Sarani', 'description': 'md5:f4d5f39d52e0ccc2b4f665326428901a',
'uploader_id': '3352531', 'uploader': 'Giovanni Sarani',
'timestamp': 1551394171, 'uploader_id': '3352531',
'upload_date': '20190228', 'timestamp': 1551394171,
'duration': 180.157, 'upload_date': '20190228',
'thumbnail': r're:https?://.*\.jpg', 'duration': 180.134,
'license': 'all-rights-reserved', 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'view_count': int, 'license': 'all-rights-reserved',
'like_count': int, 'view_count': int,
'comment_count': int, 'like_count': int,
'repost_count': int, 'comment_count': int,
'genres': ['Piano'], 'repost_count': int,
'uploader_url': 'https://soundcloud.com/giovannisarani', 'genres': ['Piano'],
'tags': 'count:10', 'uploader_url': 'https://soundcloud.com/giovannisarani',
}, 'tags': 'count:10',
}, },
'params': {'skip_download': 'm3u8'},
}, {
# .png "original" artwork, 160kbps m4a HLS format # .png "original" artwork, 160kbps m4a HLS format
{ 'url': 'https://soundcloud.com/skorxh/audio-dealer',
'url': 'https://soundcloud.com/skorxh/audio-dealer', 'info_dict': {
'info_dict': { 'id': '2011421339',
'id': '2011421339', 'ext': 'm4a',
'ext': 'm4a', 'title': 'audio dealer',
'title': 'audio dealer', 'description': '',
'description': '', 'uploader': '$KORCH',
'uploader': '$KORCH', 'uploader_id': '150292288',
'uploader_id': '150292288', 'uploader_url': 'https://soundcloud.com/skorxh',
'uploader_url': 'https://soundcloud.com/skorxh', 'comment_count': int,
'comment_count': int, 'view_count': int,
'view_count': int, 'like_count': int,
'like_count': int, 'repost_count': int,
'repost_count': int, 'duration': 213.469,
'duration': 213.469, 'tags': [],
'tags': [], 'artists': ['$KORXH'],
'artists': ['$KORXH'], 'track': 'audio dealer',
'track': 'audio dealer', 'timestamp': 1737143201,
'timestamp': 1737143201, 'upload_date': '20250117',
'upload_date': '20250117', 'license': 'all-rights-reserved',
'license': 'all-rights-reserved', 'thumbnail': r're:https?://[ai]1\.sndcdn\.com/.+\.(?:jpg|png)',
'thumbnail': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-original.png', 'thumbnails': [
'thumbnails': [ {'id': 'mini', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-mini.jpg'},
{'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': 'tiny', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-tiny.jpg'}, {'id': 'small', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-small.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': 'badge', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-badge.jpg'}, {'id': 't67x67', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t67x67.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': 'large', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-large.jpg'}, {'id': 't300x300', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t300x300.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': 'crop', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-crop.jpg'}, {'id': 't500x500', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-t500x500.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'},
{'id': 'original', 'url': 'https://i1.sndcdn.com/artworks-a1wKGMYNreDLTMrT-fGjRiw-original.png'}, ],
],
},
'params': {'skip_download': 'm3u8', 'format': 'hls_aac_160k'},
}, },
{ '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', # AAC HQ format available (account with active subscription needed)
'only_matching': True, '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) # Go+ (account with active subscription needed)
'url': 'https://soundcloud.com/taylorswiftofficial/look-what-you-made-me-do', 'url': 'https://soundcloud.com/taylorswiftofficial/look-what-you-made-me-do',
'only_matching': True, 'only_matching': True,
}, }]
]
def _real_extract(self, url): def _real_extract(self, url):
mobj = self._match_valid_url(url) mobj = self._match_valid_url(url)
@ -907,7 +929,7 @@ class SoundcloudUserIE(SoundcloudPagedPlaylistBaseIE):
'id': '7098329', 'id': '7098329',
'title': 'Grynpyret (Spotlight)', 'title': 'Grynpyret (Spotlight)',
}, },
'playlist_mincount': 1, 'playlist_mincount': 0,
}, { }, {
'url': 'https://soundcloud.com/one-thousand-and-one/comments', 'url': 'https://soundcloud.com/one-thousand-and-one/comments',
'info_dict': { 'info_dict': {
@ -998,7 +1020,7 @@ class SoundcloudRelatedIE(SoundcloudPagedPlaylistBaseIE):
'id': '1084577272', 'id': '1084577272',
'title': 'Sexapil - Pingers 5 (Recommended)', 'title': 'Sexapil - Pingers 5 (Recommended)',
}, },
'playlist_mincount': 50, 'playlist_mincount': 49,
}, { }, {
'url': 'https://soundcloud.com/wajang/sexapil-pingers-5/albums', 'url': 'https://soundcloud.com/wajang/sexapil-pingers-5/albums',
'info_dict': { 'info_dict': {
@ -1045,7 +1067,7 @@ class SoundcloudPlaylistIE(SoundcloudPlaylistBaseIE):
'info_dict': { 'info_dict': {
'id': '4110309', 'id': '4110309',
'title': 'TILT Brass - Bowery Poetry Club, August \'03 [Non-Site SCR 02]', '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': 'Non-Site Records',
'uploader_id': '33660914', 'uploader_id': '33660914',
'album_artists': ['Non-Site Records'], 'album_artists': ['Non-Site Records'],