問題タブ [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.
node.js - fluent-ffmpeg モジュール: "end" イベントが発生しない
fluent-ffmpeg
npm モジュールを使用しています
クライアントからビデオを投稿しnew stream.Readable
、ビデオ バッファを「読み取る」ために使用しています。
ffmpeg はファイルを変換して保存しており、すべてがきれいに見えますが、「終了」イベントは決して発生しません。
私のコードは次のとおりです。
すべての進捗イベントのログを取得し、ビデオを保存しますが、「終了」イベントのコールバックが呼び出されることはありません。
他のすべてが正常に機能するため、これはバグだと思います。
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!
javascript - NodeJS - FFMPEG サムネイルをより高速に作成する方法を探しています
ノードでfluent-ffmpegとffmpegを使用しています:
通常、1 つのサムネイルを撮影するのに 2 ~ 3 秒かかります。リアルタイム開発では 0.5 ~ 1 秒にする必要があります。つまり、ここでの問題は何ですか-コンピューターに単一のpngファイルをダウンロードすると、完了するまでに2〜3秒かかります。なぜffmpegがそれほど遅れているのですか? 何かが正しくないようです。
node.js - FFmpeg で 32 個を超える入力ファイルを結合する
Node.js を介して fluent-ffmpeg を介して FFmpeg を使用して、多数の小さなオーディオ ファイルを 1 つに結合しています。結合している各オーディオ ファイルの開始時刻が遅れています (したがって、すべてを同時に結合したり、連結したりしていません)。オーディオ ファイルを使用してそれにingし、すべてをing することで、これを正常に実行できます。ただし、ドキュメントで最大入力数への参照を見つけることができませんでしたが、78 ファイルにしようとすると得られました。明らかに、32 個の入力ファイルの制限があります。aevalsrc
=0
concat
amix
[amix @ 0x3fcd920] Value 78.000000 for parameter 'inputs' out of range [1 - 32]
amix
この制限を考えると、続行する最善の方法がわかりません。それが存在することは理解していamerge
ますが、ファイルの長さが最短になると停止するため、apad
すべてを実行する必要があり、テストしたところ、amerge
入力ファイルが64個に制限されていることがわかりました。入力の)。
32個のファイルをどこかに保存し、さらに32個など、結果を得ることができ ました。一時ファイルをディスクに書き込んで後でクリーンアップする必要はありません。「一時」出力を二重ノード ストリームに書き込み、最終的なミックスダウンでそれらから読み取ることを検討しましたが、それはかなり非効率的である可能性があります。amix
amix
amix
以下は私が現在行っていることです。これがXY 問題であり、これが私が望むことを達成するためのばかげた方法である場合は、お知らせください。
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-barnacle。electron-react-boilerplateとこのリポジトリの違いは、 1 回のコミットで確認できます
バグを表示するには:
npm i
- electron アプリのパッケージ化 (
npm run package
) - リリースディレクトリの下にあるアプリを開きます。
- アラートがエラーで開きます