UNPKG

youtube-terminal

Version:

Stream YouTube videos as ascii art in the terminal!

45 lines (40 loc) 1.18 kB
var ffmpeg = require('fluent-ffmpeg') var debug = require('debug')('yt-term') function ffmpegWithEvents (url) { return ffmpeg(url) .on('start', function (commandLine) { debug('Spawned FFmpeg with command: ' + commandLine) }) .on('end', function () { debug('FFmpeg instance ended') }) .on('error', function (err) { console.error('FFmpeg error: ' + err.message) }) } exports.pcmAudio = function (url) { return ffmpegWithEvents(url) .noVideo() .audioCodec('pcm_s16le') .format('s16le') } exports.jpegStream = function (url, options) { return ffmpegWithEvents(url) .format('image2') .videoFilters([ { filter: 'fps', options: options.fps }, { filter: 'scale', options: options.width + ':-1' } ]) .outputOptions('-update', '1') } exports.rawImageStream = function (url, options) { return ffmpegWithEvents(url) .format('rawvideo') .videoFilters([ { filter: 'fps', options: options.fps }, { filter: 'scale', options: options.width + ':-1' } ]) // .outputOptions('-vcodec', 'rawvideo') .outputOptions('-pix_fmt', 'rgb24') .outputOptions('-update', '1') }