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]