web-dev-qa-db-ja.com

Androidフィルター付き)でffmpegをエンコードすると遅い

Androidでffmpegを使用して、ビデオのトリミング、圧縮、サイズ変更を行っています。これはすべて、速度の点で問題なく機能します。

しかし、フィルターを追加しようとすると、たとえば.

colorchannelmixer=.3:.4:.3:0:.3:.4:.3:0:.3:.4:.3グレースケールの場合、エンコーディングの動作は遅くなります。毎秒約1フレーム。

これをスピードアップする方法はありますか?たぶんGPUを使用するように指定します。

1

使用する

-threads 2 -y -i input.mp4 -t 3:00 -vf format=gray,format=yuv420p -vcodec mpeg4 -b:v 1000K -maxrate 1500K -bufsize 500K -movflags faststart -strict experimental output.mp4

カラーチャンネルミキサーはスケーラーを呼び出して入力をRGB形式に変換し、ピクセルごとに操作を実行するため、より高速である必要があります。次に、エンコーダの制約により、YUV420Pに変換するために別のスケーラー呼び出しが行われます。私の最初のフォーマットは単に彩度面を破棄します。

2
Gyan