Some newer streams on SoundCloud only seem to have a MP3 and Opus HLS URL and no MP3 progressive URL. Here is an example JSON (just a random track from New & Hot):
{
"comment_count": 337,
"full_duration": 188656,
"downloadable": false,
"created_at": "2020-02-27T16:32:45Z",
"description": null,
"media": {
"transcodings": [
{
"url": "https://api-v2.soundcloud.com/media/soundcloud:tracks:767454454/bbe7e1ab-3b8a-4b3e-863f-28f674b5c6aa/stream/hls",
"preset": "mp3_0_1",
"duration": 188656,
"snipped": false,
"format": {
"protocol": "hls",
"mime_type": "audio/mpeg"
},
"quality": "sq"
},
{
"url": "https://api-v2.soundcloud.com/media/soundcloud:tracks:767454454/64568e31-dc65-456f-9bce-b70b7786aa8c/stream/hls",
"preset": "opus_0_0",
"duration": 188613,
"snipped": false,
"format": {
"protocol": "hls",
"mime_type": "audio/ogg; codecs=\"opus\""
},
"quality": "sq"
}
]
},
"title": "No Sucker",
"publisher_metadata": {
"p_line_for_display": "℗ Quality Control Music/Motown Records; ℗ 2020 Quality Control Music, LLC, under exclusive license to UMG Recordings, Inc.",
"artist": "Lil Baby, Moneybagg Yo",
"isrc": "USUG12000051",
"c_line": "2020 © 2020 Quality Control Music, LLC, under exclusive license to UMG Recordings, Inc.",
"upc_or_ean": "00602508756467",
"p_line": "Quality Control Music/Motown Records; ℗ 2020 Quality Control Music, LLC, under exclusive license to UMG Recordings, Inc.",
"urn": "soundcloud:tracks:767454454",
"explicit": true,
"c_line_for_display": "© 2020 © 2020 Quality Control Music, LLC, under exclusive license to UMG Recordings, Inc.",
"contains_music": true,
"id": 767454454,
"album_title": "My Turn",
"release_title": "No Sucker"
},
"duration": 188656,
"has_downloads_left": true,
"artwork_url": "https://i1.sndcdn.com/artworks-ZGVqYXRIHZa0-0-large.jpg",
"public": true,
"streamable": true,
"tag_list": "",
"download_url": null,
"genre": "Hip Hop",
"id": 767454454,
"reposts_count": 973,
"state": "finished",
"label_name": null,
"last_modified": "2020-03-02T07:27:55Z",
"commentable": true,
"policy": "MONETIZE",
"visuals": null,
"kind": "track",
"purchase_url": null,
"sharing": "public",
"uri": "https://api.soundcloud.com/tracks/767454454",
"secret_token": null,
"download_count": 0,
"likes_count": 29796,
"urn": "soundcloud:tracks:767454454",
"license": "all-rights-reserved",
"purchase_title": null,
"display_date": "2020-02-28T05:00:00Z",
"embeddable_by": "all",
"release_date": "2020-02-28T00:00:00Z",
"user_id": 300932089,
"monetization_model": "AD_SUPPORTED",
"waveform_url": "https://wave.sndcdn.com/Dm6SZyehWJNK_m.json",
"permalink": "no-sucker",
"permalink_url": "https://soundcloud.com/lil-baby-4pf/no-sucker",
"user": {
"avatar_url": "https://i1.sndcdn.com/avatars-000752893249-x8kvo7-large.jpg",
"first_name": "Lil",
"full_name": "Lil Baby",
"id": 300932089,
"kind": "user",
"last_modified": "2020-02-28T06:06:12Z",
"last_name": "Baby",
"permalink": "lil-baby-4pf",
"permalink_url": "https://soundcloud.com/lil-baby-4pf",
"uri": "https://api.soundcloud.com/users/300932089",
"urn": "soundcloud:users:300932089",
"username": "Lil Baby",
"verified": false,
"city": null,
"country_code": null
},
"playback_count": 525711
}
Edit: HLS and DASH seem to be only supported for live streams in NewPipe.
Some newer streams on SoundCloud only seem to have a MP3 and Opus HLS URL and no MP3 progressive URL. Here is an example JSON (just a random track from New & Hot):
{ "comment_count": 337, "full_duration": 188656, "downloadable": false, "created_at": "2020-02-27T16:32:45Z", "description": null, "media": { "transcodings": [ { "url": "https://api-v2.soundcloud.com/media/soundcloud:tracks:767454454/bbe7e1ab-3b8a-4b3e-863f-28f674b5c6aa/stream/hls", "preset": "mp3_0_1", "duration": 188656, "snipped": false, "format": { "protocol": "hls", "mime_type": "audio/mpeg" }, "quality": "sq" }, { "url": "https://api-v2.soundcloud.com/media/soundcloud:tracks:767454454/64568e31-dc65-456f-9bce-b70b7786aa8c/stream/hls", "preset": "opus_0_0", "duration": 188613, "snipped": false, "format": { "protocol": "hls", "mime_type": "audio/ogg; codecs=\"opus\"" }, "quality": "sq" } ] }, "title": "No Sucker", "publisher_metadata": { "p_line_for_display": "℗ Quality Control Music/Motown Records; ℗ 2020 Quality Control Music, LLC, under exclusive license to UMG Recordings, Inc.", "artist": "Lil Baby, Moneybagg Yo", "isrc": "USUG12000051", "c_line": "2020 © 2020 Quality Control Music, LLC, under exclusive license to UMG Recordings, Inc.", "upc_or_ean": "00602508756467", "p_line": "Quality Control Music/Motown Records; ℗ 2020 Quality Control Music, LLC, under exclusive license to UMG Recordings, Inc.", "urn": "soundcloud:tracks:767454454", "explicit": true, "c_line_for_display": "© 2020 © 2020 Quality Control Music, LLC, under exclusive license to UMG Recordings, Inc.", "contains_music": true, "id": 767454454, "album_title": "My Turn", "release_title": "No Sucker" }, "duration": 188656, "has_downloads_left": true, "artwork_url": "https://i1.sndcdn.com/artworks-ZGVqYXRIHZa0-0-large.jpg", "public": true, "streamable": true, "tag_list": "", "download_url": null, "genre": "Hip Hop", "id": 767454454, "reposts_count": 973, "state": "finished", "label_name": null, "last_modified": "2020-03-02T07:27:55Z", "commentable": true, "policy": "MONETIZE", "visuals": null, "kind": "track", "purchase_url": null, "sharing": "public", "uri": "https://api.soundcloud.com/tracks/767454454", "secret_token": null, "download_count": 0, "likes_count": 29796, "urn": "soundcloud:tracks:767454454", "license": "all-rights-reserved", "purchase_title": null, "display_date": "2020-02-28T05:00:00Z", "embeddable_by": "all", "release_date": "2020-02-28T00:00:00Z", "user_id": 300932089, "monetization_model": "AD_SUPPORTED", "waveform_url": "https://wave.sndcdn.com/Dm6SZyehWJNK_m.json", "permalink": "no-sucker", "permalink_url": "https://soundcloud.com/lil-baby-4pf/no-sucker", "user": { "avatar_url": "https://i1.sndcdn.com/avatars-000752893249-x8kvo7-large.jpg", "first_name": "Lil", "full_name": "Lil Baby", "id": 300932089, "kind": "user", "last_modified": "2020-02-28T06:06:12Z", "last_name": "Baby", "permalink": "lil-baby-4pf", "permalink_url": "https://soundcloud.com/lil-baby-4pf", "uri": "https://api.soundcloud.com/users/300932089", "urn": "soundcloud:users:300932089", "username": "Lil Baby", "verified": false, "city": null, "country_code": null }, "playback_count": 525711 }Currently we don't support these. I see that there's a
getHlsUrl()function in NewPipeExtractor, but it returns aString, not aList<String>, so we couldn't return both URLs (yet). I was also wondering whether NewPipe already supports HLS. ExoPlayer does.@TobiGr
Edit: HLS and DASH seem to be only supported for live streams in NewPipe.