Нужно доработать очень простой скрипт на Python 3:
Текущая функциональность:
Один HTTP GET ендпоинт, который принимает ссылку на YouTube ролик в параметре и возвращает, через библиотеку YouTube-DL, ссылку на его скачивание (например, такую ссылку можно получить >youtube-dl --get-url
www.youtube.com/watch?v=X... --format bestaudio):
@app.route('/resolve')
async def youtube(request):
url = request.args.get('url')
with youtube_dl.YoutubeDL(opts) as ytdl:
info = ytdl.extract_info(url, download=False)
return text(info['url'])
(полный скрипт будет предоставлен)
Что нужно сделать:
Ссылки для скачивания имеет формат m4a или webm.
Нужно интегрировать аудио библиотеку (любую на ваш выбор), которая перекодирует скачиваемый файл в mp3 и отдаст его в теле запроса.
Скрипт не должен:
- Полностью выкачивать файл в память (нужно буферизировать и кодировать кусками)
- Сохранять скачанный файл на диск
- Запускать сторонние процессы
Скрипт должен:
- Работать под Linux
- Работать с оптимальной производительностью (хендлить несколько одновременных запросов)