ffmpeg.js 863 B

1234567891011121314151617181920212223242526
  1. var path = require('path');
  2. var fs = require('fs');
  3. var ytdl = require('..');
  4. var ffmpeg = require('fluent-ffmpeg');
  5. var url = 'https://www.youtube.com/watch?v=TGbwL8kSpEk';
  6. var audioOutput = path.resolve(__dirname, 'sound.mp4');
  7. ytdl(url, { quality: 141 })
  8. // Write audio to file since ffmpeg supports only one input stream.
  9. .pipe(fs.createWriteStream(audioOutput))
  10. .on('finish', function() {
  11. ffmpeg()
  12. .input(ytdl(url, { quality: 136 }))
  13. .videoCodec('copy')
  14. .input(audioOutput)
  15. .audioCodec('copy')
  16. .save(path.resolve(__dirname, 'output.mp4'))
  17. .on('error', console.error)
  18. .on('progress', function(progress) {
  19. process.stdout.cursorTo(0);
  20. process.stdout.clearLine(1);
  21. process.stdout.write(progress.timemark);
  22. }).on('end', function() {
  23. console.log();
  24. });
  25. });