yt_dlp видео youtube как задать качество

Есть код, который скачивает видео с YouTube. Как задать качество, чтобы видео скачивалось в хорошем качестве?

from flask import Flask, request, jsonify, send_from_directory
import yt_dlp
import os

app = Flask(__name__)

# Разрешаем CORS, если необходимо
from flask_cors import CORS
CORS(app)

@app.route('/get-video-url', methods=['POST'])
def get_video_url():
    data = request.json
    video_url = data.get('url')
    if not video_url:
        return jsonify({'error': 'No URL provided'}), 400

    try:
        ydl_opts = {
            'format': 'mp4',
            'outtmpl': 'temp_video.%(ext)s',
            'quiet': True,
            'noplaylist': True
        }

        with yt_dlp.YoutubeDL(ydl_opts) as ydl:
            info_dict = ydl.extract_info(video_url, download=True)
            video_path = 'temp_video.mp4'  # Название временного файла

            # Проверка, что файл создан
            if not os.path.isfile(video_path):
                return jsonify({'error': 'Failed to download video'}), 500

            # Возвращаем путь для скачивания
            return jsonify({'url': f'/download/{video_path}'})
    except Exception as e:
        return jsonify({'error': str(e)}), 500

# Маршрут для отдачи загруженных файлов
@app.route('/download/<filename>', methods=['GET'])
def download_file(filename):
    directory = '.'  # Указываем директорию, где хранятся файлы
    return send_from_directory(directory, filename)

if __name__ == '__main__':
    app.run(debug=True, port=5000)

Ответы (1 шт):

Автор решения: Pushik Timush

Задаешь это в формат. Тут идет склейка видео и аудио, для этого ffmpeg нужен:

"format": "bv*[height<=720]+ba/b[height<=720]
→ Ссылка