exislow / tidal-dl-ng

TIDAL Media Downloader Next Generation! Up to HiRes Lossless / TIDAL MAX 24-bit, 192 kHz.
GNU Affero General Public License v3.0
441 stars 37 forks source link

[Bug] tdn throws an exception while downloading max resolution audio #207

Closed krakus65 closed 2 weeks ago

krakus65 commented 4 weeks ago

What happened?

When I try to download audio in max resolution i receiv an error. Same track can be downloaded in lower quality w/o any issues. Same thing happens wether I use the UI version or cli version of the tdn. CLI throws following error message.

python --version
Python 3.11.0

Version App

0.15.6

What operating system are you seeing the problem on?

Windows

Relevant log output

tdn dl https://tidal.com/browse/track/361528766?u
Let us check, if you are already logged in... Yep, looks good! You are logged in.
┌─────────────────────────────────── Download Progress ───────────────────────────────────┐
│                                                                                         │
│                                                                                         │
│  Item 'MQ RECORDS, Edden Lasturi, MQA'   ---------------------------------------- 100%  │
│                                                                                         │
│                                                                                         │
└─────────────────────────────────────────────────────────────────────────────────────────┘
┌───────────────────────────────────────── Traceback (most recent call last) ─────────────────────────────────────────┐
│ C:\Users\kraqs\Documents\tidal_downloader_venv\Lib\site-packages\tidal_dl_ng\cli.py:197 in download                 │
│                                                                                                                     │
│   194 │   │   │   if media_type in [MediaType.TRACK, MediaType.VIDEO]:                                              │
│   195 │   │   │   │   download_delay: bool = bool(settings.data.download_delay and urls.index(                      │
│   196 │   │   │   │                                                                                                 │
│ > 197 │   │   │   │   dl.item(                                                                                      │
│   198 │   │   │   │   │   media_id=item_id, media_type=media_type, file_template=file_template                      │
│   199 │   │   │   │   )                                                                                             │
│   200 │   │   │   elif media_type in [MediaType.ALBUM, MediaType.PLAYLIST, MediaType.MIX, Medi                      │
│                                                                                                                     │
│ ┌───────────────────────────────────────── locals ─────────────────────────────────────────┐                        │
│ │            ctx = <click.core.Context object at 0x000002D80F343BD0>                       │                        │
│ │             dl = <tidal_dl_ng.download.Download object at 0x000002D80F7E8C10>            │                        │
│ │ download_delay = False                                                                   │                        │
│ │  file_template = 'Tracks/{artist_name} - {track_title}{track_explicit}'                  │                        │
│ │      file_urls = None                                                                    │                        │
│ │      fn_logger = <tidal_dl_ng.helper.wrapper.LoggerWrapped object at 0x000002D80F8FD5D0> │                        │
│ │           item = 'https://tidal.com/browse/track/361528766?u'                            │                        │
│ │        item_id = '361528766'                                                             │                        │
│ │     media_type = <MediaType.TRACK: 'track'>                                              │                        │
│ │       progress = <rich.progress.Progress object at 0x000002D80F7E7B50>                   │                        │
│ │ progress_table = <rich.table.Table object at 0x000002D80F7E8390>                         │                        │
│ │       settings = <tidal_dl_ng.config.Settings object at 0x000002D80F8FC290>              │                        │
│ │           urls = ['https://tidal.com/browse/track/361528766?u']                          │                        │
│ │  urls_pos_last = 0                                                                       │                        │
│ └──────────────────────────────────────────────────────────────────────────────────────────┘                        │
│                                                                                                                     │
│ C:\Users\kraqs\Documents\tidal_downloader_venv\Lib\site-packages\tidal_dl_ng\download.py:271 in item                │
│                                                                                                                     │
│   268 │   │   │   │                                                                                                 │
│   269 │   │   │   │   # Extract FLAC from MP4 container using ffmpeg                                                │
│   270 │   │   │   │   if isinstance(media, Track) and self.settings.data.extract_flac and do_f                      │
│ > 271 │   │   │   │   │   tmp_path_file = self._extract_flac(tmp_path_file)                                         │
│   272 │   │   │   │                                                                                                 │
│   273 │   │   │   │   tmp_path_lyrics: pathlib.Path | None = None                                                   │
│   274                                                                                                               │
│                                                                                                                     │
│ ┌──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────┐ │
│ │    do_flac_extract = True                                                                                       │ │
│ │     download_delay = False                                                                                      │ │
│ │        file_exists = False                                                                                      │ │
│ │     file_extension = <AudioExtensions.FLAC: '.flac'>                                                            │ │
│ │ file_name_relative = 'Tracks/MQ RECORDS, Edden Lasturi, MQA, Le Q - Ta Trace(Explicit)'                         │ │
│ │      file_template = 'Tracks/{artist_name} - {track_title}{track_explicit}'                                     │ │
│ │              media = <tidalapi.media.Track object at 0x000002D80F8008D0>                                        │ │
│ │           media_id = '361528766'                                                                                │ │
│ │         media_type = <MediaType.TRACK: 'track'>                                                                 │ │
│ │     path_media_dst = 'D:\\TIDAL playlist\\MQA\\Tracks\\MQ RECORDS, Edden Lasturi, MQA, Le Q - Ta Trace(Exp'+11  │ │
│ │      quality_audio = None                                                                                       │ │
│ │      quality_video = None                                                                                       │ │
│ │               self = <tidal_dl_ng.download.Download object at 0x000002D80F7E8C10>                               │ │
│ │       tmp_path_dir = 'C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmpjrj_ozd1'                                      │ │
│ │      tmp_path_file = 'C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmpjrj_ozd1\\4070841d-398a-4025-8cd5-6f8c3954cf'… │ │
│ │           uniquify = False                                                                                      │ │
│ │     video_download = True                                                                                       │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                                     │
│ C:\Users\kraqs\Documents\tidal_downloader_venv\Lib\site-packages\tidal_dl_ng\download.py:489 in _extract_flac       │
│                                                                                                                     │
│   486 │   │   │   .output(                                                                                          │
│   487 │   │   │   │   path_media_out, map=0, movflags="use_metadata_tags", acodec="copy", map_                      │
│   488 │   │   │   )                                                                                                 │
│ > 489 │   │   │   .run(cmd=self.settings.data.path_binary_ffmpeg)                                                   │
│   490 │   │   )                                                                                                     │
│   491 │   │                                                                                                         │
│   492 │   │   return path_media_out                                                                                 │
│                                                                                                                     │
│ ┌─────────────────────────────────────────────────── locals ───────────────────────────────────────────────────┐    │
│ │ path_media_out = 'C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmpjrj_ozd1\\4070841d-398a-4025-8cd5-6f8c3954cf'+7 │    │
│ │ path_media_src = 'C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmpjrj_ozd1\\4070841d-398a-4025-8cd5-6f8c3954cf'+2 │    │
│ │           self = <tidal_dl_ng.download.Download object at 0x000002D80F7E8C10>                                │    │
│ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────┘    │
│                                                                                                                     │
│ C:\Users\kraqs\Documents\tidal_downloader_venv\Lib\site-packages\ffmpeg\_run.py:313 in run                          │
│                                                                                                                     │
│   310 │                                                                                                             │
│   311 │   Returns: (out, err) tuple containing captured stdout and stderr data.                                     │
│   312 │   """                                                                                                       │
│ > 313 │   process = run_async(                                                                                      │
│   314 │   │   stream_spec,                                                                                          │
│   315 │   │   cmd,                                                                                                  │
│   316 │   │   pipe_stdin=input is not None,                                                                         │
│                                                                                                                     │
│ ┌──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────┐ │
│ │   capture_stderr = False                                                                                        │ │
│ │   capture_stdout = False                                                                                        │ │
│ │              cmd = 'C:\\FFmpeg\\presets\\libvpx-1080p.ffpreset'                                                 │ │
│ │            input = None                                                                                         │ │
│ │ overwrite_output = False                                                                                        │ │
│ │            quiet = False                                                                                        │ │
│ │      stream_spec = output(acodec='copy',                                                                        │ │
│ │                    filename='C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmpjrj_ozd1\\4070841d-398a-4025-8cd5-6f8c… │ │
│ │                    loglevel='quiet', map=0, map_metadata='0:g', movflags='use_metadata_tags')[None]             │ │
│ │                    <1da12dc8eb4a>                                                                               │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                                     │
│ C:\Users\kraqs\Documents\tidal_downloader_venv\Lib\site-packages\ffmpeg\_run.py:284 in run_async                    │
│                                                                                                                     │
│   281 │   stdin_stream = subprocess.PIPE if pipe_stdin else None                                                    │
│   282 │   stdout_stream = subprocess.PIPE if pipe_stdout or quiet else None                                         │
│   283 │   stderr_stream = subprocess.PIPE if pipe_stderr or quiet else None                                         │
│ > 284 │   return subprocess.Popen(                                                                                  │
│   285 │   │   args, stdin=stdin_stream, stdout=stdout_stream, stderr=stderr_stream                                  │
│   286 │   )                                                                                                         │
│   287                                                                                                               │
│                                                                                                                     │
│ ┌──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────┐ │
│ │             args = [                                                                                            │ │
│ │                    │   'C:\\FFmpeg\\presets\\libvpx-1080p.ffpreset',                                            │ │
│ │                    │   '-i',                                                                                    │ │
│ │                    │                                                                                            │ │
│ │                    'C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmpjrj_ozd1\\4070841d-398a-4025-8cd5-6f8c3954cf'+2, │ │
│ │                    │   '-acodec',                                                                               │ │
│ │                    │   'copy',                                                                                  │ │
│ │                    │   '-loglevel',                                                                             │ │
│ │                    │   'quiet',                                                                                 │ │
│ │                    │   '-map',                                                                                  │ │
│ │                    │   '0',                                                                                     │ │
│ │                    │   '-map_metadata',                                                                         │ │
│ │                    │   ... +4                                                                                   │ │
│ │                    ]                                                                                            │ │
│ │              cmd = 'C:\\FFmpeg\\presets\\libvpx-1080p.ffpreset'                                                 │ │
│ │ overwrite_output = False                                                                                        │ │
│ │      pipe_stderr = False                                                                                        │ │
│ │       pipe_stdin = False                                                                                        │ │
│ │      pipe_stdout = False                                                                                        │ │
│ │            quiet = False                                                                                        │ │
│ │    stderr_stream = None                                                                                         │ │
│ │     stdin_stream = None                                                                                         │ │
│ │    stdout_stream = None                                                                                         │ │
│ │      stream_spec = output(acodec='copy',                                                                        │ │
│ │                    filename='C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmpjrj_ozd1\\4070841d-398a-4025-8cd5-6f8c… │ │
│ │                    loglevel='quiet', map=0, map_metadata='0:g', movflags='use_metadata_tags')[None]             │ │
│ │                    <1da12dc8eb4a>                                                                               │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                                     │
│ C:\Users\kraqs\AppData\Local\Programs\Python\Python311\Lib\subprocess.py:1022 in __init__                           │
│                                                                                                                     │
│   1019 │   │   │   │   │   self.stderr = io.TextIOWrapper(self.stderr,                                              │
│   1020 │   │   │   │   │   │   │   encoding=encoding, errors=errors)                                                │
│   1021 │   │   │                                                                                                    │
│ > 1022 │   │   │   self._execute_child(args, executable, preexec_fn, close_fds,                                     │
│   1023 │   │   │   │   │   │   │   │   pass_fds, cwd, env,                                                          │
│   1024 │   │   │   │   │   │   │   │   startupinfo, creationflags, shell,                                           │
│   1025 │   │   │   │   │   │   │   │   p2cread, p2cwrite,                                                           │
│                                                                                                                     │
│ ┌──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────┐ │
│ │               args = [                                                                                          │ │
│ │                      │   'C:\\FFmpeg\\presets\\libvpx-1080p.ffpreset',                                          │ │
│ │                      │   '-i',                                                                                  │ │
│ │                      │                                                                                          │ │
│ │                      'C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmpjrj_ozd1\\4070841d-398a-4025-8cd5-6f8c3954cf'… │ │
│ │                      │   '-acodec',                                                                             │ │
│ │                      │   'copy',                                                                                │ │
│ │                      │   '-loglevel',                                                                           │ │
│ │                      │   'quiet',                                                                               │ │
│ │                      │   '-map',                                                                                │ │
│ │                      │   '0',                                                                                   │ │
│ │                      │   '-map_metadata',                                                                       │ │
│ │                      │   ... +4                                                                                 │ │
│ │                      ]                                                                                          │ │
│ │            bufsize = -1                                                                                         │ │
│ │            c2pread = -1                                                                                         │ │
│ │           c2pwrite = -1                                                                                         │ │
│ │          close_fds = True                                                                                       │ │
│ │      creationflags = 0                                                                                          │ │
│ │                cwd = None                                                                                       │ │
│ │           encoding = None                                                                                       │ │
│ │                env = None                                                                                       │ │
│ │             errors = None                                                                                       │ │
│ │            errread = -1                                                                                         │ │
│ │           errwrite = -1                                                                                         │ │
│ │         executable = None                                                                                       │ │
│ │       extra_groups = None                                                                                       │ │
│ │                gid = None                                                                                       │ │
│ │               gids = None                                                                                       │ │
│ │              group = None                                                                                       │ │
│ │            p2cread = -1                                                                                         │ │
│ │           p2cwrite = -1                                                                                         │ │
│ │           pass_fds = ()                                                                                         │ │
│ │           pipesize = -1                                                                                         │ │
│ │         preexec_fn = None                                                                                       │ │
│ │      process_group = -1                                                                                         │ │
│ │    restore_signals = True                                                                                       │ │
│ │               self = <Popen: returncode: None args: ['C:\\FFmpeg\\presets\\libvpx-1080p.ffpreset'...>           │ │
│ │              shell = False                                                                                      │ │
│ │  start_new_session = False                                                                                      │ │
│ │        startupinfo = None                                                                                       │ │
│ │             stderr = None                                                                                       │ │
│ │              stdin = None                                                                                       │ │
│ │             stdout = None                                                                                       │ │
│ │               text = None                                                                                       │ │
│ │                uid = None                                                                                       │ │
│ │              umask = -1                                                                                         │ │
│ │ universal_newlines = None                                                                                       │ │
│ │               user = None                                                                                       │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
│                                                                                                                     │
│ C:\Users\kraqs\AppData\Local\Programs\Python\Python311\Lib\subprocess.py:1491 in _execute_child                     │
│                                                                                                                     │
│   1488 │   │   │                                                                                                    │
│   1489 │   │   │   # Start the process                                                                              │
│   1490 │   │   │   try:                                                                                             │
│ > 1491 │   │   │   │   hp, ht, pid, tid = _winapi.CreateProcess(executable, args,                                   │
│   1492 │   │   │   │   │   │   │   │   │   │    # no special security                                               │
│   1493 │   │   │   │   │   │   │   │   │   │    None, None,                                                         │
│   1494 │   │   │   │   │   │   │   │   │   │    int(not close_fds),                                                 │
│                                                                                                                     │
│ ┌──────────────────────────────────────────────────── locals ─────────────────────────────────────────────────────┐ │
│ │                     args = 'C:\\FFmpeg\\presets\\libvpx-1080p.ffpreset -i                                       │ │
│ │                            C:\\Users\\kraqs\\AppData\\Local\\Temp\\tmp'+215                                     │ │
│ │           attribute_list = {'handle_list': []}                                                                  │ │
│ │                  c2pread = -1                                                                                   │ │
│ │                 c2pwrite = -1                                                                                   │ │
│ │                close_fds = True                                                                                 │ │
│ │            creationflags = 0                                                                                    │ │
│ │                      cwd = None                                                                                 │ │
│ │                      env = None                                                                                 │ │
│ │                  errread = -1                                                                                   │ │
│ │                 errwrite = -1                                                                                   │ │
│ │               executable = None                                                                                 │ │
│ │         have_handle_list = False                                                                                │ │
│ │                  p2cread = -1                                                                                   │ │
│ │                 p2cwrite = -1                                                                                   │ │
│ │                 pass_fds = ()                                                                                   │ │
│ │               preexec_fn = None                                                                                 │ │
│ │                     self = <Popen: returncode: None args: ['C:\\FFmpeg\\presets\\libvpx-1080p.ffpreset'...>     │ │
│ │                    shell = False                                                                                │ │
│ │              startupinfo = <subprocess.STARTUPINFO object at 0x000002D80FD7AF90>                                │ │
│ │               unused_gid = None                                                                                 │ │
│ │              unused_gids = None                                                                                 │ │
│ │     unused_process_group = -1                                                                                   │ │
│ │   unused_restore_signals = True                                                                                 │ │
│ │ unused_start_new_session = False                                                                                │ │
│ │               unused_uid = None                                                                                 │ │
│ │             unused_umask = -1                                                                                   │ │
│ │          use_std_handles = False                                                                                │ │
│ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
OSError: [WinError 193] %1 nie jest prawidłową aplikacją systemu Win32

Your settings

{"skip_existing": "False", "lyrics_embed": true, "lyrics_file": true, "video_download": false, "download_delay": true, "download_base_path": "D:\\TIDAL playlist\\MQA", "quality_audio": "HI_RES", "quality_video": "480", "format_album": "Albums/{album_artist} - {album_title}{album_explicit}/{album_track_num}. {artist_name} - {track_title}", "format_playlist": "Playlists/{playlist_name}/{artist_name} - {track_title}", "format_mix": "Mix/{mix_name}/{artist_name} - {track_title}", "format_track": "Tracks/{artist_name} - {track_title}{track_explicit}", "format_video": "Videos/{artist_name} - {track_title}{track_explicit}", "video_convert_mp4": false, "path_binary_ffmpeg": "C:\\FFmpeg\\presets\\libvpx-1080p.ffpreset", "metadata_cover_dimension": "320", "extract_flac": true, "downgrade_on_hi_res": true}
exislow commented 2 weeks ago
OSError: [WinError 193] %1 nie jest prawidłową aplikacją systemu Win32

Set the path_binary_ffmpeg correctly.