diff --git a/tasks/karaoke/video_bg.py b/tasks/karaoke/video_bg.py index a2fe67f..a251bc9 100644 --- a/tasks/karaoke/video_bg.py +++ b/tasks/karaoke/video_bg.py @@ -45,21 +45,20 @@ def search_pexels(query: str, per_page: int = 3) -> list[dict]: def pick_video(video_list: list[dict]) -> str | None: - """Выбрать URL лучшего видео (HD 1280x720).""" + """Выбрать URL лучшего видео (предпочитаем 720p, берём любое доступное).""" for v in video_list: files = v.get("video_files", []) + # Сначала ищем 720p (1280x720) for f in files: - # Предпочитаем 720p landscape - width = f.get("width", 0) - if width == 1280: - return f.get("file") - # Если нет 720p — берём первый ≥1280 - for f in sorted(files, key=lambda x: x.get("width", 0), reverse=True): + if f.get("width") == 1280: + return f.get("link") or f.get("file") + # Потом любое HD ≥ 1280 + for f in sorted(files, key=lambda x: x.get("width", 0)): if f.get("width", 0) >= 1280: - return f.get("file") - # Если вообще ничего ≥1280 — первый попавшийся - if video_list and video_list[0].get("video_files"): - return video_list[0]["video_files"][0].get("file") + return f.get("link") or f.get("file") + # Любое что есть + if files: + return files[0].get("link") or files[0].get("file") return None