dmc1989
@dmc1989

Как сделать трансляцию в fluent-ffmpeg?

Если просто в командной строке, то все ок, но когда пытаюсь через ноду сделать, то не получается. Кто сталкивался подскажите плиз...

Такая вот строка:
ffmpeg -f dshow -i video="screen-capture-recorder" -preset ultrafast -vcodec libx264 -tune zerolatency -b 900k -c:a aac -ar 44100 -f flv rtmp://localhost/live/STREAM_NAME


const command = ffmpeg('desktop')
  .videoCodec('libx264')
  .size('1920x1080')
  .flvmeta()
  .format('flv')
  .inputFPS(25)
  .videoBitrate('900k')
  .audioCodec('libmp3lame')
  .audioBitrate(128)
  .addInputOption('-f gdigrab')
  // .addInputOption('-f dshow')
  // .addInputOption('-i video="screen-capture-recorder"')
  .addInputOption('-preset ultrafast')
  .addInputOption('-tune zerolatency')
  .addInputOption('-c:a aac')
  .addInputOption('-ar 44100')
  .addOutputOption('rtmp://localhost/live/STREAM_NAME')
  .on('codecData', function(data) {
    console.log('Input is ' + data.audio + ' audio ' +
      'with ' + data.video + ' video');
  })
  .on('progress', function(progress) {
    console.log('Processing: ' + progress.percent + '% done');
  })
  .on('stderr', function(stderrLine) {
    console.log('Stderr output: ' + stderrLine);
  })
  .on('error', function(err, stdout, stderr) {
    console.log('Cannot process video: ' + err.message);
  })
  .on('end', function(stdout, stderr) {
    console.log('Succeeded !');
  });

const ffstream = command.pipe();
ffstream.on('data', function(chunk) {
  console.log('ffmpeg just wrote ' + chunk.length + ' bytes');
});


В результате получаю:
Stderr output: [gdigrab @ 00000200acdebd40] Capturing whole desktop as 1920x1080x32 at (0,0)
Stderr output: Option sample_rate not found.
Stderr output:
Cannot process video: ffmpeg exited with code 1: Option sample_rate not found.
  • Вопрос задан
  • 921 просмотр
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы