問題タブ [fluent-ffmpeg]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1467 参照

node.js - fluent-ffmpeg モジュール: "end" イベントが発生しない

fluent-ffmpegnpm モジュールを使用しています

クライアントからビデオを投稿しnew stream.Readable、ビデオ バッファを「読み取る」ために使用しています。

ffmpeg はファイルを変換して保存しており、すべてがきれいに見えますが、「終了」イベントは決して発生しません。

私のコードは次のとおりです。

すべての進捗イベントのログを取得し、ビデオを保存しますが、「終了」イベントのコールバックが呼び出されることはありません。

他のすべてが正常に機能するため、これはバグだと思います。

0 投票する
1 に答える
1579 参照

node.js - fluent-ffmpeg で字幕を追加する

字幕をビデオに焼き付けようとしています。このコマンドは、コマンド ラインから完全に機能します。 ffmpeg -i in.mp4 -vf subtitles=sub.srt:force_style='Fontsize=20' out.mp4

サーバー側の私のコードはあまり機能していないようです (ただし、test.mp4 が作成されます)。

次のエラーが表示されます。Error: ffmpeg exited with code 1: Error opening filters!

0 投票する
1 に答える
1955 参照

javascript - NodeJS - FFMPEG サムネイルをより高速に作成する方法を探しています

ノードでfluent-ffmpegとffmpegを使用しています:

通常、1 つのサムネイルを撮影するのに 2 ~ 3 秒かかります。リアルタイム開発では 0.5 ~ 1 秒にする必要があります。つまり、ここでの問題は何ですか-コンピューターに単一のpngファイルをダウンロードすると、完了するまでに2〜3秒かかります。なぜffmpegがそれほど遅れているのですか? 何かが正しくないようです。

0 投票する
0 に答える
1272 参照

node.js - FFmpeg で 32 個を超える入力ファイルを結合する

Node.js を介して fluent-ffmpeg を介して FFmpeg を使用して、多数の小さなオーディオ ファイルを 1 つに結合しています。結合している各オーディオ ファイルの開始時刻が遅れています (したがって、すべてを同時に結合したり、連結したりしていません)。オーディオ ファイルを使用してそれにingし、すべてをing することで、これを正常に実行できます。ただし、ドキュメントで最大入力数への参照を見つけることができませんでしたが、78 ファイルにしようとすると得られました。明らかに、32 個の入力ファイルの制限があります。aevalsrc=0concatamix[amix @ 0x3fcd920] Value 78.000000 for parameter 'inputs' out of range [1 - 32]amix

この制限を考えると、続行する最善の方法がわかりません。それが存在することは理解していamergeますが、ファイルの長さが最短になると停止するため、apadすべてを実行する必要があり、テストしたところ、amerge入力ファイルが64個に制限されていることがわかりました。入力の)。

32個のファイルをどこかに保存し、さらに32個など、結果を得ることができ ました。一時ファイルをディスクに書き込んで後でクリーンアップする必要はありません。「一時」出力を二重ノード ストリームに書き込み、最終的なミックスダウンでそれらから読み取ることを検討しましたが、それはかなり非効率的である可能性があります。amixamixamix

以下は私が現在行っていることです。これがXY 問題であり、これが私が望むことを達成するためのばかげた方法である場合は、お知らせください。

0 投票する
1 に答える
449 参照

javascript - トランスパイルされた webpack バンドルは、require 経由でハイフン付きのパッケージ名をエクスポートしません

1 つのファイルでインポートfluent-ffmpegしていimport ffmpeg from 'fluent-ffmpeg'ます。

webpack を実行すると、次のエラーが表示されます。 Uncaught Exception: ReferenceError: fluent is not defined

トランスパイルされたファイルの中を調べたところ、次のfluent-ffmpegように含まれていること がわかりました。function(e,t){e.exports=fluent-ffmpeg}

読み取る行を変更した後:function(e,t){e.exports=require("fluent-ffmpeg")}プログラムは動作します。

トランスパイル時に正しく要求するように webpack を構成する方法はありますfluent-ffmpegか?

編集:私はこの電子反応 webpack ボイラープレートを使用してデスクトップ アプリケーションを構築しています - https://github.com/chentsulin/electron-react-boilerplate

更新: バグを示すためにレポを作成しました - https://github.com/the4dpatrick/congenial-barnacleelectron-react-boilerplateとこのリポジトリの違いは、 1 回のコミットで確認できます

バグを表示するには:

  • npm i
  • electron アプリのパッケージ化 ( npm run package)
  • リリースディレクトリの下にあるアプリを開きます。
  • アラートがエラーで開きます