私はノードのストリームをよりよく理解しようとしており、簡単なことをしたいと思っています:
インターネットからビデオをダウンロードして、mp3 に変換します。
これを実行するために、モジュールに続く2つのモジュールを使用しています:
- リクエスト
- 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'
request オブジェクトにはメソッド unpipe がないようです! リクエストのドキュメントによると、リクエストをファイルにストリーミングできるように見えるため、これは非常に奇妙です。
誰かが私を正しい方向に向けることができますか? このタスクを実行するためにストリームを使用すべきではありませんか?