捕获缩略图Whilte下载Youtubevideo
我想在特定时间线上捕捉Youtubevideo的缩略图。 (例如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'); }); });
但是,我无法实现在下载时捕获缩略图。 我想要做的基本想法如下。
- 从X秒开始下载Youtubevideo。 (工程)
- 将其pipe理为可读/可写(双工)内存stream(需要通知)
- 在下载过程中,检查stream是否有足够的数据来捕获第一帧(X秒)。 (需要build议)
- 捕获第一帧,然后停止下载
对于2,我已经意识到node.js将在v0.9.x上有双工stream,但是它似乎不能正常工作。 任何人有好主意实施子弹2,3?
- 如何通过Node JS&Angular JS实时显示ffmpeg的水印
- 将ffmpeg添加到heroku的buildback nodejs中
- NodeJs:如何pipe两个stream到一个产生的进程stdin(即ffmpeg)导致一个单一的输出
- video到audio文件通过FFMPEG节点js转换和保存
- 使用ffmpeg / ffprobe创build使用php的波形json
- FFmpeg通过Nodejs将webmvideo直播到多个http客户端
- 是否有可能从单个stream式字节范围块创build新的mp4文件?
- 在没有Content-Length的情况下进行stream式传输
- 创build一个洪stream的部分的缩略图