diff --git a/vinetrimmer/commands/dl.py b/vinetrimmer/commands/dl.py index a3c66a2..5c17925 100644 --- a/vinetrimmer/commands/dl.py +++ b/vinetrimmer/commands/dl.py @@ -404,14 +404,14 @@ def result(ctx, service, quality, closest_resolution, range_, wanted, alang, sla quality = closest_res # Modified video track selection to choose lowest bitrate if vbitrate == min - if vbitrate.lower() == "min": + if vbitrate and vbitrate.lower() == "min": available_bitrate = [int(track.bitrate) for track in title.tracks.videos] if not available_resolutions: log.error(" - No video tracks available") continue vbitrate = min(available_bitrate) log.warning(f" - Choosing minimum bitrate: {vbitrate}") - else: + elif vbitrate: vbitrate = int(vbitrate) title.tracks.select_videos(by_quality=quality, by_vbitrate=vbitrate, by_range=range_, one_only=True) title.tracks.select_audios(by_language=alang, by_bitrate=abitrate, with_descriptive=audio_description) @@ -530,7 +530,7 @@ def result(ctx, service, quality, closest_resolution, range_, wanted, alang, sla assert license # Convert bytes to string if necessary if isinstance(license, bytes): - license_response = license_response.decode('utf-8') + license = license.decode('utf-8') ctx.obj.cdm.parse_license( session_id, license diff --git a/vinetrimmer/key_store.db b/vinetrimmer/key_store.db index aea49be..dec5608 100644 Binary files a/vinetrimmer/key_store.db and b/vinetrimmer/key_store.db differ diff --git a/vinetrimmer/utils/io.py b/vinetrimmer/utils/io.py index 484a385..ed4dec6 100644 --- a/vinetrimmer/utils/io.py +++ b/vinetrimmer/utils/io.py @@ -255,7 +255,7 @@ async def m3u8dl(uri, out, track, headers=None, proxy=None): "--write-meta-json", "False", "--log-level", "ERROR", "--thread-count", "96", - "--download-retry-count", "8", + "--download-retry-count", "20", "--ffmpeg-binary-path", ffmpeg_binary, "--binary-merge" ]