Я создаю простой YouTube для сайта mp3-загрузчика с помощью nodejs, и он работает с этим кодом (ytdl-core
библиотека)
res.header('Content-Disposition', 'attachment; filename="'+ transliterate(info.title) +'.mp3"');
ytdl(url,{
quality: 'highestaudio'
})
.pipe(res)
, но загрузка только аудио занимает слишком много времени.Я проверил это на этом видео , и это занимает 20-30 секунд.
, затем я попробовал этот код:
let stream = ytdl(url)
ffmpeg(stream)
.format('mp3')
.audioBitrate(700)
.saveToFile(`public/${info.video_id}-${transliterate(info.title)}.mp3`)
.on('progress', function(progress) {
console.log('Processing: ' + progress.percent + '% done');
})
.on('end', ()=>{
res.download(`public/${info.video_id}-${transliterate(info.title)}.mp3`, `${transliterate(info.title)}.mp3`);
})
это работает, но это занимает слишкомтакже много времени (20-30 сек);
так есть ли способ ускорить время загрузки?(без очень маленького битрейта)
или есть лучший способ сделать это?
PS: я бы предпочел первый способ загрузки, потому что мне не нравится сохранять файлы на моем локальном компьютере, а затем отправлятьэто пользователю.Спасибо!