我试图更好地理解节点的流,并希望做一些简单的事情:
从互联网下载视频并将其转换为mp3。
我正在使用以下模块的两个模块来执行此操作:
- 请求
- avconv
根据文档,两个模块都支持流。这是我正在尝试做的事情:
var avconv = require('avconv');
var request = require('request');
var params = ['-i', 'pipe:0' ,'-vn','-c:a','libmp3lame','-q:a','2','output.mp3'];
var video = request.get([videoURL.mp4])
var convstream = avconv(params);
video.pipe(convstream)
不幸的是,我收到了这个错误:
node_modules/avconv/avconv.js:142
source.unpipe(stream);
^
TypeError: Object #<Request> has no method 'unpipe'
似乎请求对象没有方法!这很奇怪,因为根据请求文档,似乎可以将请求流式传输到文件,为什么不进行avconv?
有人能指出我正确的方向吗?我不应该使用流来执行此任务吗?