@PHPjedi

Как впустить в поток, поток получаемый из другого сервиса?

Доброе утро!

Помогите решить задачу, пожалуйста. С помощью стороннего API я могу скачать видео с сервиса Youtube.

С помощью следующего кода я получаю видео в потоке, в чанках.

let data = [];
    youtubeApi.downloadVideo('v=4P1-JwZF0Vo&t=4519s', chunk => data.push(chunk), () => {
        console.log('downloaded ', data.length);
        fs.writeFileSync('video.mp4', Buffer.concat(data));
    });


Я хочу, чтобы при запросе по этому же URL, не видео скачивать, а создать потом(streaming).

Youtube -> My Nodejs App -> Client

Как это реализовать? Помогите решить задачу, буду очень признателен!
  • Вопрос задан
  • 69 просмотров
Решения вопроса 1
bingo347
@bingo347 Куратор тега JavaScript
Crazy on performance...
без знания, что за либа предоставляет youtubeApi сделать адекватно проблематично, но можно сделать универсально:
const {PassThrough} = require('stream');

const youtubeStream = new PassThrough();
youtubeApi.downloadVideo(
  'v=4P1-JwZF0Vo&t=4519s',
  chunk => youtubeStream.write(chunk),
  () => youtubeStream.end()
);
youtubeStream.pipe(res); // где res - выходной поток к клиенту
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы