私はyoutubeのURLをmp3ファイルに変換したいです。現在、私はそうのように、ノードのytdlモジュールを使用してのMP4をダウンロード:node.js:youtube to mp4 to mp3
fs = require 'fs'
ytdl = require 'ytdl'
url = 'http://www.youtube.com/watch?v=v8bOTvg-iaU'
mp4 = './video.mp4'
ytdl(url).pipe(fs.createWriteStream(mp4))
ダウンロードが完了すると、私はそうのような、流暢-ffmpegのモジュールを使用してmp3にMP4に変換する:
ffmpeg = require 'fluent-ffmpeg'
mp4 = './video.mp4'
mp3 = './audio.mp3'
proc = new ffmpeg({source:mp4})
proc.setFfmpegPath('/Applications/ffmpeg')
proc.saveToFile(mp3, (stdout, stderr)->
return console.log stderr if err?
return console.log 'done'
)
mp3変換を開始する前にmp4全体を保存する必要はありません。どのようにmp4をprocにパイプして、mp4のチャンクを受け取って変換を実行するのですか?代わりに、mp4ファイルの場所を渡すの
私が正しく理解していれば、これはまだmp4全体をダウンロードしますが、保存と変換の代わりに、ダウンロード/ストリーミング中に変換します。元のmp4ファイルが80MBでmp3が6MBの場合、80MBがダウンロードされます。 –
mp4はストリームを介してあなたに送られます、私はあなたが他の作品ですべてのものをdlする必要がありますsepreate mp3ストリームだけを要求することを疑います。 –