npmプロジェクトで '-acodec libopus'を使用しようとすると、次のようなコマンドラインで使用します。NPMでコーデックの種類を正しく使うには
ffmpeg -acodec libopus -i 1.webm 1.wav
これは完全に機能します。しかし私はNPMプロジェクトでそれを可能にしたいと思っています。
どのようにパラメータを設定できますか? これは私が持っているものですが、動作しません。出力ファイルは、オーディオファイルのいくつかのフレームが欠けているように壊れています。それは音があり、そうでないようです。およびその逆。
var proc = new ffmpeg({
source: file,
nolog: false
});
format = "opus"; // or could be wav as well!
proc.addOptions([
'-f ' + format,
'-acodec libopus',
'-vn'
]);
ビデオファイルからオーディオファイルをシームレスに取得することを目的としています。
コーデックのlibopusがないと、コマンドプロンプトで次のようなエラーが表示されるため、NPMプロジェクトでも同じ問題を処理する必要があります。
[opus @ 00000000006d4520] LBRR frames is not implemented. Update your FFmpeg version to the newest one from Git. If the problem still occurs, it means that your file has a feature which has not been implemented.
[opus @ 00000000006d4520] Error decoding a SILK frame.
[opus @ 00000000006d4520] Error decoding an Opus frame.
私のライブラリは最新ですが、私はちょうどコーデックのlibopusを適切に使用する必要があります。 提案がありますか?
\node-js>ffmpeg -version
ffmpeg version N-86175-g64ea4d1 Copyright (c) 2000-2017 the FFmpeg
developers
built with gcc 6.3.0 (GCC)
Output in command line;
xtranscribe transcodeWatson: file : ./data/that/2.webm
progress 62.625273103421605%
progress 100.01224534515762%
SAVED - transcodeWatson : .mp3
out of transcode!
fileSizeInBytes : 16284033
"動作していません" ...どうなりますか?生成されるコマンドラインとは何ですか?あなたのコードが何らかのフォーマットと '-vn'を指定するのはなぜですか?あなたが最初に書いた行の例はそれを持っていません。注:ffmpegでは、オプションが配置されている場所、つまり入力オプションであるか出力オプションであるかが重要です。 ffmpegのあなたのバージョンは何ですか? (コマンドラインで実行すると、 'ffmpeg'コマンドの出力を表示します。) – slhck
@slhck、それに応じて質問が更新されました。 -vnは「no video」に使用されます。 – shamaleyte
[あなたの他の質問](https://stackoverflow.com/a/44890636/691711)で提案したのと同様に、fluent-ffmpegにlibopusでオーディオをデコードするように指示する方法を理解する必要があります。私はAPIの流暢な定義でそれをどうやって行うのか分かりません。正規のffmpegは、あなたが入力を定義する前に(またはそれが少なくとも私がそれを理解した方法である) '-acodec libopus' **と言うので、引数/オプションの順序で理解します。 – zero298