nathom / streamrip

A scriptable music downloader for Qobuz, Tidal, SoundCloud, and Deezer
GNU General Public License v3.0
2.72k stars 247 forks source link

Bug: Video download error #169

Closed Sherzod-Norkulov closed 3 years ago

Sherzod-Norkulov commented 3 years ago

Bug Report

Current Behavior When downloading a video from tidal, it does not download, it simply ends the session, and when downloading a video in the form of a playlist, it gives an error

Command used:


rip url https://tidal.com/playlist/bfcf8ec5-995e-4302-a8b0-0e73865579ab

rip url https://tidal.com/video/186444238

**streamrip Configuration File

[downloads]
# Folder where tracks are downloaded to
folder = "/storage/emulated/0/Music"
# Put Qobuz albums in a 'Qobuz' folder, Tidal albums in 'Tidal' etc.
source_subdirectories = true

[downloads.concurrency]
# Download (and convert) tracks all at once, instead of sequentially. 
# If you are converting the tracks, or have fast internet, this will 
# substantially improve processing speed.
enabled = true
# The maximum number of tracks to download at once
# If you have very fast internet, you will benefit from a higher value,
# A value that is too high for your bandwidth may cause slowdowns
max_connections = 3

[qobuz]
# 1: 320kbps MP3, 2: 16/44.1, 3: 24/<=96, 4: 24/>=96
quality = 4
# This will download booklet pdfs that are included with some albums
download_booklets = false

[tidal]
# 0: 256kbps AAC, 1: 320kbps AAC, 2: 16/44.1 "HiFi" FLAC, 3: 24/44.1 "MQA" FLAC
quality = 3
# This will download videos included in Video Albums.
download_videos = true

[deezer]
# 0, 1, or 2
# This only applies to paid Deezer subscriptions. Those using deezloader
# are automatically limited to quality = 1
quality = 0
# An authentication cookie that allows streamrip to use your Deezer account
# See https://github.com/nathom/streamrip/wiki/Finding-Your-Deezer-ARL-Cookie
# for instructions on how to find this
arl = ""
# This allows for free 320kbps MP3 downloads from Deezer
# If an arl is provided, deezloader is never used
use_deezloader = true
# This warns you when the paid deezer account is not logged in and rip falls
# back to deezloader, which is unreliable
deezloader_warnings = true

[soundcloud]
# Only 0 is available for now
quality = 0

[youtube]
# Only 0 is available for now
quality = 0
# Download the video along with the audio
download_videos = false
# The path to download the videos to
video_downloads_folder = ""

# This stores a list of item IDs so that repeats are not downloaded.

[database.downloads]
enabled = false
path = "/storage/emulated/0/Music/DATA/downloads.db"

# If a download fails, the item ID is stored here. Then, `rip repair` can be
# called to retry the downloads

[database.failed_downloads]
enabled = false
path = "/storage/emulated/0/Music/DATA/failed_downloads.db"

# Convert tracks to a codec after downloading them.

[conversion]
enabled = false
# FLAC, ALAC, OPUS, MP3, VORBIS, or AAC
codec = "ALAC"
# In Hz. Tracks are downsampled if their sampling rate is greater than this. 
# Value of 48000 is recommended to maximize quality and minimize space
sampling_rate = 196000
# Only 16 and 24 are available. It is only applied when the bit depth is higher
# than this value.
bit_depth = 24

# Filter a Qobuz artist's discography. Set to 'true' to turn on a filter.

[filters]
# Remove Collectors Editions, live recordings, etc.
extras = false
# Picks the highest quality out of albums with identical titles.
repeats = false
# Remove EPs and Singles
non_albums = false
# Remove albums whose artist is not the one requested
features = false
# Skip non studio albums
non_studio_albums = false
# Only download remastered albums
non_remaster = false

[artwork]
# Write the image to the audio file
embed = true
# The size of the artwork to embed. Options: thumbnail, small, large, original.
# "original" images can be up to 30MB, and may fail embedding. 
# Using "large" is recommended.
size = "original"
# Both of these options limit the size of the embedded artwork. If their values
# are larger than the actual dimensions of the image, they will be ignored.
max_width = 999999
max_height = 999999
# Save the cover image at the highest quality as a seperate jpg file
keep_hires_cover = false

[metadata]
# Sets the value of the 'ALBUM' field in the metadata to the playlist's name. 
# This is useful if your music library software organizes tracks based on album name.
set_playlist_to_album = true
# Replaces the original track's tracknumber with it's position in the playlist
new_playlist_tracknumbers = true
# The following metadata tags won't be applied
# See https://github.com/nathom/streamrip/wiki/Metadata-Tag-Names for more info
exclude = ["disctotal", "albumartist", "discnumber", "tracknumber", "tracktotal", "albumcomposer", "albumartist", "album"]

# Changes the folder and file names generated by streamrip.

[filepaths]
# Create folders for single tracks within the downloads directory using the folder_format
# template
add_singles_to_folder = false
# Available keys: "albumartist", "title", "year", "bit_depth", "sampling_rate",
# "container", and "albumcomposer"
folder_format = "{title}"
# Available keys: "tracknumber", "artist", "albumartist", "composer", "title",
# and "albumcomposer"
track_format = "{artist} - {title}"

# Last.fm playlists are downloaded by searching for the titles of the tracks

[lastfm]
# The source on which to search for the tracks.
source = "qobuz"
# If no results were found with the primary source, the item is searched for 
# on this one.
fallback_source = "tidal"

[theme]
# Options: "dainty" or "plain"
progress_bar = "dainty"

[misc]
# Metadata to identify this config file. Do not change.
version = "1.4"
"

Environment

Traceback

rip url https://tidal.com/video/186444238 -vvv

DEBUG:streamrip:Config loaded
DEBUG:streamrip:Parsed urls: [('tidal', 'video', '186444238')]
DEBUG:streamrip:Searching for {'id': '186444238'} in database
DEBUG:streamrip:{'quality': 3, 'download_videos': True, 'user_id': 181875823, 'country_code': 'US', 'access_token': 'eyJraWQiOiJ2OU1GbFhqWSIsImFsZyI6IkVTMjU2In0.eyJ0eXBlIjoibzJfYWNjZXNzIiwidWlkIjoxODE4NzU4MjMsInNjb3BlIjoid19zdWIgcl91c3Igd191c3IiLCJnVmVyIjowLCJzVmVyIjowLCJjaWQiOjMwMDYsImV4cCI6MTYzMTUzNzg2NSwic2lkIjoiMjBjMTI2YmUtMjBmNC00M2EzLTkxYmQtMDhkOTQyNGM0NmZlIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnRpZGFsLmNvbS92MSJ9.cPDKtZmjdZrfiKnp-A0zbtRfi8B-G7nrMx9ZtaSX4emYBrm724uN6GcaJQ_kkXzSuyb_Pqo_RQGjXI3ZURpcXg', 'refresh_token': 'eyJraWQiOiJoUzFKYTdVMCIsImFsZyI6IkVTNTEyIn0.eyJ0eXBlIjoibzJfcmVmcmVzaCIsInVpZCI6MTgxODc1ODIzLCJzY29wZSI6Indfc3ViIHJfdXNyIHdfdXNyIiwiY2lkIjozMDA2LCJzVmVyIjowLCJnVmVyIjowLCJpc3MiOiJodHRwczovL2F1dGgudGlkYWwuY29tL3YxIn0.AFLEby1-VmFbLiWGT7EilsPRva4L0DfpFna8QCX068dEk7AMgi4Gpt-XuD2HC2HDYWHkUHxekAMirUN_ccxm8zCLAJlBMYx6wm2ilQMFqjkNeKis7aF8Sv2Kc3ntfgPtYugpqB75TuhtJUB_hOfJ06KQ0qkudYESoDCTeTZC4UAkXIvq', 'token_expiry': 1631537864.8080423}
DEBUG:streamrip:Logging in with access token
Logged into Tidal
DEBUG:streamrip:Config saved: /data/data/com.termux/files/home/.config/streamrip/config.toml
DEBUG:streamrip:{'downloads': {'folder': '/storage/emulated/0/Music', 'source_subdirectories': True, 'concurrency': {'enabled': True, 'max_connections': 3}}, 'qobuz': {'quality': 4, 'download_booklets': False, 'email': 'rwbland@aol.com', 'password': '3625658c38ce8c39a82f9c36c6895f66', 'app_id': '950096963', 'secrets': ['10b251c286cfbf64d6b7105f253d9a2e', '979549437fcc4a3faad4867b5cd25dcb']}, 'tidal': {'quality': 3, 'download_videos': True, 'user_id': 181875823, 'country_code': 'US', 'access_token': 'eyJraWQiOiJ2OU1GbFhqWSIsImFsZyI6IkVTMjU2In0.eyJ0eXBlIjoibzJfYWNjZXNzIiwidWlkIjoxODE4NzU4MjMsInNjb3BlIjoid19zdWIgcl91c3Igd191c3IiLCJnVmVyIjowLCJzVmVyIjowLCJjaWQiOjMwMDYsImV4cCI6MTYzMTUzNzg2NSwic2lkIjoiMjBjMTI2YmUtMjBmNC00M2EzLTkxYmQtMDhkOTQyNGM0NmZlIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnRpZGFsLmNvbS92MSJ9.cPDKtZmjdZrfiKnp-A0zbtRfi8B-G7nrMx9ZtaSX4emYBrm724uN6GcaJQ_kkXzSuyb_Pqo_RQGjXI3ZURpcXg', 'refresh_token': 'eyJraWQiOiJoUzFKYTdVMCIsImFsZyI6IkVTNTEyIn0.eyJ0eXBlIjoibzJfcmVmcmVzaCIsInVpZCI6MTgxODc1ODIzLCJzY29wZSI6Indfc3ViIHJfdXNyIHdfdXNyIiwiY2lkIjozMDA2LCJzVmVyIjowLCJnVmVyIjowLCJpc3MiOiJodHRwczovL2F1dGgudGlkYWwuY29tL3YxIn0.AFLEby1-VmFbLiWGT7EilsPRva4L0DfpFna8QCX068dEk7AMgi4Gpt-XuD2HC2HDYWHkUHxekAMirUN_ccxm8zCLAJlBMYx6wm2ilQMFqjkNeKis7aF8Sv2Kc3ntfgPtYugpqB75TuhtJUB_hOfJ06KQ0qkudYESoDCTeTZC4UAkXIvq', 'token_expiry': 1631537864.8080423}, 'deezer': {'quality': 0, 'arl': '', 'use_deezloader': True, 'deezloader_warnings': True}, 'soundcloud': {'quality': 0}, 'youtube': {'quality': 0, 'download_videos': False, 'video_downloads_folder': ''}, 'database': {'downloads': {'enabled': False, 'path': '/storage/emulated/0/Music/DATA/downloads.db'}, 'failed_downloads': {'enabled': False, 'path': '/storage/emulated/0/Music/DATA/failed_downloads.db'}}, 'conversion': {'enabled': False, 'codec': 'ALAC', 'sampling_rate': 196000, 'bit_depth': 24}, 'filters': {'extras': False, 'repeats': False, 'non_albums': False, 'features': False, 'non_studio_albums': False, 'non_remaster': False}, 'artwork': {'embed': True, 'size': 'original', 'max_width': 999999, 'max_height': 999999, 'keep_hires_cover': False}, 'metadata': {'set_playlist_to_album': True, 'new_playlist_tracknumbers': True, 'exclude': ['disctotal', 'albumartist', 'discnumber', 'tracknumber', 'tracktotal', 'albumcomposer', 'albumartist', 'album']}, 'filepaths': {'add_singles_to_folder': False, 'folder_format': '{title}', 'track_format': '{artist} - {title}'}, 'lastfm': {'source': 'qobuz', 'fallback_source': 'tidal'}, 'theme': {'progress_bar': 'dainty'}, 'misc': {'version': '1.4'}}
DEBUG:streamrip:Arguments from config: {'parent_folder': '/storage/emulated/0/Music', 'folder_format': '{title}', 'track_format': '{artist} - {title}', 'embed_cover': True, 'embed_cover_size': 'original', 'keep_hires_cover': False, 'set_playlist_to_album': True, 'stay_temp': False, 'conversion': {'enabled': False, 'codec': 'ALAC', 'sampling_rate': 196000, 'bit_depth': 24}, 'concurrent_downloads': True, 'max_connections': 3, 'new_tracknumbers': True, 'download_videos': True, 'download_booklets': False, 'download_youtube_videos': False, 'youtube_video_downloads_folder': '', 'add_singles_to_folder': False, 'max_artwork_width': 999999, 'max_artwork_height': 999999, 'exclude_tags': ['disctotal', 'albumartist', 'discnumber', 'tracknumber', 'tracktotal', 'albumcomposer', 'albumartist', 'album']}
DEBUG:streamrip:Loading metadata
DEBUG:streamrip:{'id': 186444238, 'title': 'Love Again', 'volumeNumber': 0, 'trackNumber': 0, 'releaseDate': '2021-06-04T00:00:00.000+0000', 'imagePath': None, 'imageId': '18ec4900-bd33-404a-b07d-94f0cb4e5a46', 'vibrantColor': '#8c6c33', 'duration': 264, 'quality': 'MP4_1080P', 'streamReady': True, 'streamStartDate': '2021-06-04T08:00:00.000+0000', 'allowStreaming': True, 'explicit': False, 'popularity': 39, 'type': 'Music Video', 'adsUrl': None, 'adsPrePaywallOnly': True, 'artist': {'id': 7162333, 'name': 'Dua Lipa', 'type': 'MAIN', 'picture': 'd27e08fb-7699-4c89-8b6b-ee8dae4842f7'}, 'artists': [{'id': 7162333, 'name': 'Dua Lipa', 'type': 'MAIN', 'picture': 'd27e08fb-7699-4c89-8b6b-ee8dae4842f7'}], 'album': None}
Downloading Love Again (Video). This may take a while.

################## error while downloading video playlist

rip url https://tidal.com/playlist/bfcf8ec5-995e-4302-a8b0-0e73865579ab -vvv
DEBUG:streamrip:Config loaded
DEBUG:streamrip:Parsed urls: [('tidal', 'playlist', 'bfcf8ec5-995e-4302-a8b0-0e73865579ab')]
DEBUG:streamrip:Searching for {'id': 'bfcf8ec5-995e-4302-a8b0-0e73865579ab'} in database
DEBUG:streamrip:{'quality': 3, 'download_videos': True, 'user_id': 181875823, 'country_code': 'US', 'access_token': 'eyJraWQiOiJ2OU1GbFhqWSIsImFsZyI6IkVTMjU2In0.eyJ0eXBlIjoibzJfYWNjZXNzIiwidWlkIjoxODE4NzU4MjMsInNjb3BlIjoid19zdWIgcl91c3Igd191c3IiLCJnVmVyIjowLCJzVmVyIjowLCJjaWQiOjMwMDYsImV4cCI6MTYzMTUzNzg2NSwic2lkIjoiMjBjMTI2YmUtMjBmNC00M2EzLTkxYmQtMDhkOTQyNGM0NmZlIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnRpZGFsLmNvbS92MSJ9.cPDKtZmjdZrfiKnp-A0zbtRfi8B-G7nrMx9ZtaSX4emYBrm724uN6GcaJQ_kkXzSuyb_Pqo_RQGjXI3ZURpcXg', 'refresh_token': 'eyJraWQiOiJoUzFKYTdVMCIsImFsZyI6IkVTNTEyIn0.eyJ0eXBlIjoibzJfcmVmcmVzaCIsInVpZCI6MTgxODc1ODIzLCJzY29wZSI6Indfc3ViIHJfdXNyIHdfdXNyIiwiY2lkIjozMDA2LCJzVmVyIjowLCJnVmVyIjowLCJpc3MiOiJodHRwczovL2F1dGgudGlkYWwuY29tL3YxIn0.AFLEby1-VmFbLiWGT7EilsPRva4L0DfpFna8QCX068dEk7AMgi4Gpt-XuD2HC2HDYWHkUHxekAMirUN_ccxm8zCLAJlBMYx6wm2ilQMFqjkNeKis7aF8Sv2Kc3ntfgPtYugpqB75TuhtJUB_hOfJ06KQ0qkudYESoDCTeTZC4UAkXIvq', 'token_expiry': 1631537864.8080423}   DEBUG:streamrip:Logging in with access token                                                              Logged into Tidal
DEBUG:streamrip:Config saved: /data/data/com.termux/files/home/.config/streamrip/config.toml
DEBUG:streamrip:{'id': 'bfcf8ec5-995e-4302-a8b0-0e73865579ab'}
DEBUG:streamrip:{'downloads': {'folder': '/storage/emulated/0/Music', 'source_subdirectories': True, 'concurrency': {'enabled': True, 'max_connections': 3}}, 'qobuz': {'quality': 4, 'download_booklets': False, 'email': 'rwbland@aol.com', 'password': '3625658c38ce8c39a82f9c36c6895f66', 'app_id': '950096963', 'secrets': ['10b251c286cfbf64d6b7105f253d9a2e', '979549437fcc4a3faad4867b5cd25dcb']}, 'tidal': {'quality': 3, 'download_videos': True, 'user_id': 181875823, 'country_code': 'US', 'access_token': 'eyJraWQiOiJ2OU1GbFhqWSIsImFsZyI6IkVTMjU2In0.eyJ0eXBlIjoibzJfYWNjZXNzIiwidWlkIjoxODE4NzU4MjMsInNjb3BlIjoid19zdWIgcl91c3Igd191c3IiLCJnVmVyIjowLCJzVmVyIjowLCJjaWQiOjMwMDYsImV4cCI6MTYzMTUzNzg2NSwic2lkIjoiMjBjMTI2YmUtMjBmNC00M2EzLTkxYmQtMDhkOTQyNGM0NmZlIiwiaXNzIjoiaHR0cHM6Ly9hdXRoLnRpZGFsLmNvbS92MSJ9.cPDKtZmjdZrfiKnp-A0zbtRfi8B-G7nrMx9ZtaSX4emYBrm724uN6GcaJQ_kkXzSuyb_Pqo_RQGjXI3ZURpcXg', 'refresh_token': 'eyJraWQiOiJoUzFKYTdVMCIsImFsZyI6IkVTNTEyIn0.eyJ0eXBlIjoibzJfcmVmcmVzaCIsInVpZCI6MTgxODc1ODIzLCJzY29wZSI6Indfc3ViIHJfdXNyIHdfdXNyIiwiY2lkIjozMDA2LCJzVmVyIjowLCJnVmVyIjowLCJpc3MiOiJodHRwczovL2F1dGgudGlkYWwuY29tL3YxIn0.AFLEby1-VmFbLiWGT7EilsPRva4L0DfpFna8QCX068dEk7AMgi4Gpt-XuD2HC2HDYWHkUHxekAMirUN_ccxm8zCLAJlBMYx6wm2ilQMFqjkNeKis7aF8Sv2Kc3ntfgPtYugpqB75TuhtJUB_hOfJ06KQ0qkudYESoDCTeTZC4UAkXIvq', 'token_expiry': 1631537864.8080423}, 'deezer': {'quality': 0, 'arl': '', 'use_deezloader': True, 'deezloader_warnings': True}, 'soundcloud': {'quality': 0}, 'youtube': {'quality': 0, 'download_videos': False, 'video_downloads_folder': ''}, 'database': {'downloads': {'enabled': False, 'path': '/storage/emulated/0/Music/DATA/downloads.db'}, 'failed_downloads': {'enabled': False, 'path': '/storage/emulated/0/Music/DATA/failed_downloads.db'}}, 'conversion': {'enabled': False, 'codec': 'ALAC', 'sampling_rate': 196000, 'bit_depth': 24}, 'filters': {'extras': False, 'repeats': False, 'non_albums': False, 'features': False, 'non_studio_albums': False, 'non_remaster': False}, 'artwork': {'embed': True, 'size': 'original', 'max_width': 999999, 'max_height': 999999, 'keep_hires_cover': False}, 'metadata': {'set_playlist_to_album': True, 'new_playlist_tracknumbers': True, 'exclude': ['disctotal', 'albumartist', 'discnumber', 'tracknumber', 'tracktotal', 'albumcomposer', 'albumartist', 'album']}, 'filepaths': {'add_singles_to_folder': False, 'folder_format': '{title}', 'track_format': '{artist} - {title}'}, 'lastfm': {'source': 'qobuz', 'fallback_source': 'tidal'}, 'theme': {'progress_bar': 'dainty'}, 'misc': {'version': '1.4'}}     DEBUG:streamrip:Arguments from config: {'parent_folder': '/storage/emulated/0/Music', 'folder_format': '{title}', 'track_format': '{artist} - {title}', 'embed_cover': True, 'embed_cover_size': 'original', 'keep_hires_cover': False, 'set_playlist_to_album': True, 'stay_temp': False, 'conversion': {'enabled': False, 'codec': 'ALAC', 'sampling_rate': 196000, 'bit_depth': 24}, 'concurrent_downloads': True, 'max_connections': 3, 'new_tracknumbers': True, 'download_videos': True, 'download_booklets': False, 'download_youtube_videos': False, 'youtube_video_downloads_folder': '', 'add_singles_to_folder': False, 'max_artwork_width': 999999, 'max_artwork_height': 999999, 'exclude_tags': ['disctotal', 'albumartist', 'discnumber', 'tracknumber', 'tracktotal', 'albumcomposer', 'albumartist', 'album']}                                                 DEBUG:streamrip:Loading metadata
DEBUG:streamrip:{'uuid': 'bfcf8ec5-995e-4302-a8b0-0e73865579ab', 'title': 'trst', 'numberOfTracks': 0, 'numberOfVideos': 1, 'creator': {'id': 181875823}, 'description': '', 'duration': 264, 'lastUpdated': '2021-09-07T04:31:24.005+0000', 'created': '2021-09-07T04:25:27.291+0000', 'type': 'USER', 'publicPlaylist': False, 'url': 'http://www.tidal.com/playlist/bfcf8ec5-995e-4302-a8b0-0e73865579ab', 'image': '8d6b1557-0c0f-4746-9721-face21b6a0aa', 'popularity': 0, 'squareImage': 'a1418565-ad4a-48f8-a896-e188cc94825e', 'promotedArtists': [], 'lastItemAddedAt': '2021-09-07T04:27:04.193+0000', 'tracks': [{'id': 186444238, 'title': 'Love Again', 'volumeNumber': 0, 'trackNumber': 0, 'releaseDate': '2021-06-04T00:00:00.000+0000', 'imagePath': None, 'imageId': '18ec4900-bd33-404a-b07d-94f0cb4e5a46', 'vibrantColor': '#8c6c33', 'duration': 264, 'quality': 'MP4_1080P', 'streamReady': True, 'streamStartDate': '2021-06-04T08:00:00.000+0000', 'allowStreaming': True, 'explicit': False, 'popularity': 39, 'type': 'Music Video', 'adsUrl': None, 'adsPrePaywallOnly': True, 'artist': {'id': 7162333, 'name': 'Dua Lipa', 'type': 'MAIN', 'picture': 'd27e08fb-7699-4c89-8b6b-ee8dae4842f7'}, 'artists': [{'id': 7162333, 'name': 'Dua Lipa', 'type': 'MAIN', 'picture': 'd27e08fb-7699-4c89-8b6b-ee8dae4842f7'}], 'album': None, 'dateAdded': '2021-09-07T04:27:04.193+0000', 'index': 200000, 'itemUuid': 'c04f915e-5b6e-4e65-8d90-bc6e2974eacc'}]}
DEBUG:streamrip:{'uuid': 'bfcf8ec5-995e-4302-a8b0-0e73865579ab', 'title': 'trst', 'numberOfTracks': 0, 'numberOfVideos': 1, 'creator': {'id': 181875823}, 'description': '', 'duration': 264, 'lastUpdated': '2021-09-07T04:31:24.005+0000', 'created': '2021-09-07T04:25:27.291+0000', 'type': 'USER', 'publicPlaylist': False, 'url': 'http://www.tidal.com/playlist/bfcf8ec5-995e-4302-a8b0-0e73865579ab', 'image': '8d6b1557-0c0f-4746-9721-face21b6a0aa', 'popularity': 0, 'squareImage': 'a1418565-ad4a-48f8-a896-e188cc94825e', 'promotedArtists': [], 'lastItemAddedAt': '2021-09-07T04:27:04.193+0000', 'tracks': [{'id': 186444238, 'title': 'Love Again', 'volumeNumber': 0, 'trackNumber': 0, 'releaseDate': '2021-06-04T00:00:00.000+0000', 'imagePath': None, 'imageId': '18ec4900-bd33-404a-b07d-94f0cb4e5a46', 'vibrantColor': '#8c6c33', 'duration': 264, 'quality': 'MP4_1080P', 'streamReady': True, 'streamStartDate': '2021-06-04T08:00:00.000+0000', 'allowStreaming': True, 'explicit': False, 'popularity': 39, 'type': 'Music Video', 'adsUrl': None, 'adsPrePaywallOnly': True, 'artist': {'id': 7162333, 'name': 'Dua Lipa', 'type': 'MAIN', 'picture': 'd27e08fb-7699-4c89-8b6b-ee8dae4842f7'}, 'artists': [{'id': 7162333, 'name': 'Dua Lipa', 'type': 'MAIN', 'picture': 'd27e08fb-7699-4c89-8b6b-ee8dae4842f7'}], 'album': None, 'dateAdded': '2021-09-07T04:27:04.193+0000', 'index': 200000, 'itemUuid': 'c04f915e-5b6e-4e65-8d90-bc6e2974eacc'}]}

  Stack trace:

  11  /data/data/com.termux/files/usr/lib/python3.9/site-packages/cleo/application.py:314 in run
       312│
       313│             try:
     → 314│                 exit_code = self._run(io)
       315│             except Exception as e:
       316│                 if not self._catch_exceptions:

  10  /data/data/com.termux/files/usr/lib/python3.9/site-packages/rip/cli.py:624 in _run
       622│             logger.addHandler(fh)
       623│
     → 624│         super()._run(io)
       625│
       626│     def create_io(self, input=None, output=None, error_output=None):

   9  /data/data/com.termux/files/usr/lib/python3.9/site-packages/cleo/application.py:409 in _run
       407│                 io.set_input(ArgvInput(argv))
       408│
     → 409│         exit_code = self._run_command(command, io)
       410│         self._running_command = None
       411│

   8  /data/data/com.termux/files/usr/lib/python3.9/site-packages/cleo/application.py:416 in _run_command
       414│     def _run_command(self, command: Command, io: IO) -> int:
       415│         if self._event_dispatcher is None:
     → 416│             return command.run(io)
       417│
       418│         # Bind before the console.command event,

   7  /data/data/com.termux/files/usr/lib/python3.9/site-packages/cleo/commands/base_command.py:118 in run
       116│         io.input.validate()
       117│
     → 118│         status_code = self.execute(io)
       119│
       120│         if status_code is None:

   6  /data/data/com.termux/files/usr/lib/python3.9/site-packages/cleo/commands/command.py:85 in execute
        83│
        84│         try:
     →  85│             return self.handle()
        86│         except KeyboardInterrupt:
        87│             return 1

   5  /data/data/com.termux/files/usr/lib/python3.9/site-packages/rip/cli.py:87 in handle
        85│
        86│         if len(core) > 0:
     →  87│             core.download()
        88│         elif not urls and path is None:
        89│             self.line(

   4  /data/data/com.termux/files/usr/lib/python3.9/site-packages/rip/core.py:321 in download
       319│                 logger.debug("Loading metadata")
       320│                 try:
     → 321│                     item.load_meta(**arguments)
       322│                 except NonStreamable:
       323│                     self.failed_db.add(

   3  /data/data/com.termux/files/usr/lib/python3.9/site-packages/streamrip/media.py:1760 in load_meta
       1758│         self.meta = self.client.get(self.id, media_type="playlist")
       1759│         logger.debug(self.meta)
     → 1760│         self._load_tracks(**kwargs)
       1761│         self.loaded = True
       1762│

   2  /data/data/com.termux/files/usr/lib/python3.9/site-packages/streamrip/media.py:1825 in _load_tracks
       1823│                 # tracknumber tags might cause conflicts if the playlist files are
       1824│                 # inside of a library folder
     → 1825│                 meta = TrackMetadata(track=track, source=self.client.source)
       1826│                 cover_url = get_cover_urls(track["album"], self.client.source)[
       1827│                     kwargs.get("embed_cover_size", "large")

   1  /data/data/com.termux/files/usr/lib/python3.9/site-packages/streamrip/metadata.py:105 in __init__
       103│             self.update(track)
       104│         elif track is not None:
     → 105│             self.add_track_meta(track)
       106│
       107│         if isinstance(album, TrackMetadata):

  KeyError

  'audioQuality'

  at /data/data/com.termux/files/usr/lib/python3.9/site-packages/streamrip/metadata.py:248 in add_track_meta
      244│             self._mod_title(track.get("version"), None)
      245│             self.tracknumber = track.get("trackNumber", 1)
      246│             self.discnumber = track.get("volumeNumber", 1)
      247│             self.artist = track.get("artist", {}).get("name")
    → 248│             self._get_tidal_quality(track["audioQuality"])
      249│
      250│         elif self.__source == "deezer":
      251│             self.title = track["title"].strip()
      252│             self._mod_title(track.get("version"), None)

If this was unexpected, please open a Bug Report at https://github.com/nathom/streamrip/issues/new/choose

Possible Solution

As a solution, I can suggest: add to the file a configuration for setting the video download quality as in tidal-dl, for example: 1: 1080p, 2: 720p, and so on ... Errors may also occur if the video quality is low and the value in the file is high , also take into account this, add information about downloading at reduced resolution ...

nathom commented 3 years ago

Looks like Tidal changed something so that the previous exploit doesn't work anymore. It may take some time to find a new solution.

nathom commented 3 years ago

Fixed in v1.5.