2016-11-16 20 views
-1

ビデオからフレームを抽出しようとしています。私が直面している問題は、プロセスが少し時間がかかります。私はこのプロセスをスピードアップする方法があることを知りたいですか?ffmpeg:フレーム抽出プロセスを高速化します。

次のコマンドを使用してフレームを抽出しています。

ffmpeg -i output2.mp4 -vf fps=20 right%01d.tga 

上記のコマンドは、ビデオのすべてのフレームを20fpsで表示します。

+0

オフトピック:間違いなくプログラミングに関する質問。あなたが[ffmpeg]ツールの使用に関する質問がもっとあるかどうかを[su]に問い合わせることができます。 – LordNeckbeard

答えて

1

あまりできることはありません。

にFFmpegのエンコーダtargaスレッディング

は(ffmpeg -h encoder=targaを参照)は、スレッド機能を有していません。

圧縮

このエンコーダは1つのプライベートのオプションがあります:-rle /無効ランレングス圧縮を有効にします。この圧縮を可能にするデフォルトは-rle 1です。圧縮はエンコード時間を増加させる可能性がありますが、出力ファイルを書き込む時間を短縮する可能性があります。コンテンツに応じて、圧縮は出力ファイルサイズを大幅に減らすことができます。なぜなら、エンコーディング中に圧縮によってオーバーヘッドが発生しても、-rle 1がより高速になるからです。

ボトルネック

最初のボトルネックはおそらくエンコーディングに続く出力ファイルの書き込みです:お使いのシステムや入力に応じて、またはその逆はできますが、ほとんどの情報や詳細情報を提供しません。別のドライブに出力した場合、またはtmpfsを使用した場合、パフォーマンスが向上することがあります。 I/Oボトルネックが回避されると、-rle 0でパフォーマンスが向上する可能性がありますが、ファイルが大きくなる可能性は低くなります。

Targaが必要ですか?

速度が最も重要な場合は、別の形式を試してください。あなたは何が最速で、あなたの要求に合っているかを見いだすために実験しなければなりません。

関連する問題