我想在特定时间线上捕捉Youtube视频的缩略图。 (例如3.2秒) 我使用ytdl和fluent-ffmpeg和node.js来实现它。 下载完成后可以捕获缩略图。
var fs = require('fs');
var ytdl = require('ytdl');
var ffmpeg = require('fluent-ffmpeg');
var videostream = fs.createWriteStream('video.flv');
var myytdl = ytdl('http://www.youtube.com/watch?v=A02s8omM_hI');
myytdl.pipe(videostream);
videostream.on('close',function() {
console.log('Downloading complete...');
var proc = new ffmpeg({ source: 'video.flv', nolog: true })
.withSize('150x100')
.takeScreenshots(1, '/home/test', function(err) {
console.log(err || 'Screenshots were saved');
});
});
但是,我无法实现在下载时捕获缩略图。我想做的基本想法如下。
对于2,我已经意识到node.js将在v0.9.x上出现Duplex Stream,但它似乎无法正常工作。谁有好主意实施子弹2,3?