1

fluent-ffmpeg GIT を使用しています。保存したファイルをさらに処理したいと考えています。しかし、保存にはコールバックがありません。保存したファイルを約束して使用するにはどうすればよいですか。私のコードは

ffmpeg(filename)
    .toFormat('mp3')
    .on('error', (err) => {
       console.log('An error occurred: ' + err.message);
    })
    .on('progress', (progress) => {
        console.log('Processing: ' + progress.targetSize + ' KB converted');
})
.on('end', () => {
        console.log('Processing finished !');
})
.save(`./${newname}.mp3`)

私の問題は、「保存」機能にコールバックがないことです。では、出力を S3 に再度保存するにはどうすればよいでしょうか。

4

1 に答える 1

3

saveメソッドは独自のコールバックを必要としません。ドキュメントで説明されているように、

save(filename): 出力をファイルに保存します

ffmpeg 処理を開始し、出力をファイルに保存します。

注: save() メソッドは、実際には output() と run() の両方を呼び出すためのシンタックス シュガーです。

<...>

終了イベントは、処理が終了したときに発行されます。リスナーは、ffmpeg の標準出力と標準エラーを引数として受け取ります。ただし、サムネイルを生成する場合 (以下を参照) は、生成されたファイル名の配列を受け取ります。

ストリームは、他のストリームと同じように約束できます。

new Promise((resolve, reject) => {
    ffmpeg(filename)
    .toFormat('mp3')
    .on('error', reject)
    .on('progress', (progress) => {
        console.log('Processing: ' + progress.targetSize + ' KB converted');
    })
    .on('end', resolve)
    .save(`./${newname}.mp3`)
});
于 2018-08-07T12:42:22.153 に答える