Update ism_downloader.py

A better support for FPS has been added.
This commit is contained in:
Hugoved
2026-04-23 14:49:27 +02:00
committed by GitHub
parent 347a89c500
commit a6b2d9f180
+12 -2
View File
@@ -128,6 +128,14 @@ try:
"bitrate": int(quality.get("Bitrate", "0") or 0), "bitrate": int(quality.get("Bitrate", "0") or 0),
"codec": codec, "codec": codec,
"codec_private_data": quality.get("CodecPrivateData", "") or "", "codec_private_data": quality.get("CodecPrivateData", "") or "",
"fps": (
parser_module.get_real_fps_from_codec_private_data(
codec,
quality.get("CodecPrivateData", "") or "",
)
if hasattr(parser_module, "get_real_fps_from_codec_private_data")
else None
),
"timescale": int(root.get("TimeScale", stream_index.get("TimeScale", "10000000"))), "timescale": int(root.get("TimeScale", stream_index.get("TimeScale", "10000000"))),
"duration": manifest_duration, "duration": manifest_duration,
"pssh": pssh, "pssh": pssh,
@@ -313,7 +321,8 @@ try:
if track["media_type"] == "video": if track["media_type"] == "video":
size = f"{track['width']}x{track['height']}" if track["width"] and track["height"] else "unknown size" size = f"{track['width']}x{track['height']}" if track["width"] and track["height"] else "unknown size"
label = f"VIDEO | {track['codec']} | {size} | {bitrate_text} | chunks={len(track['chunk_times'])}" fps_text = f" | fps={track['fps']:g}" if track.get("fps") else ""
label = f"VIDEO | {track['codec']} | {size}{fps_text} | {bitrate_text} | chunks={len(track['chunk_times'])}"
else: else:
label = ( label = (
f"AUDIO | {track['language']} | {track['codec']} | " f"AUDIO | {track['language']} | {track['codec']} | "
@@ -432,6 +441,7 @@ try:
"is_drm_protected": selected_track["is_drm_protected"], "is_drm_protected": selected_track["is_drm_protected"],
"codec": str(selected_track["codec"]).lower(), "codec": str(selected_track["codec"]).lower(),
"codec_private_data": selected_track["codec_private_data"], "codec_private_data": selected_track["codec_private_data"],
"fps": selected_track.get("fps"),
"channels": selected_track["channels"], "channels": selected_track["channels"],
"bits": selected_track["bits"], "bits": selected_track["bits"],
"sample_rate": selected_track["sample_rate"], "sample_rate": selected_track["sample_rate"],
@@ -505,4 +515,4 @@ except KeyboardInterrupt:
raise SystemExit(130) raise SystemExit(130)
except Exception as exc: except Exception as exc:
print(f"[!] ERROR: {exc}", file=sys.stderr) print(f"[!] ERROR: {exc}", file=sys.stderr)
raise SystemExit(1) raise SystemExit(1)