ffmpeg -i ./in.mp4 -s 1280x720 -r 30 -an -f rawvideo -pix_fmt yuv420p - | cat - >/dev/null
は
ffmpeg -i ./in.mp4 -s 1280x720 -r 30 -an -f rawvideo -pix_fmt argb - | cat - >/dev/null
ちょうど101ながら524fpsを提供します。それだけではいけません、GPUはもちろんのこと、現代のCPUで1フレームあたり8ミリ秒かかることもありませんでした!
私は間違っていますが、どうすればこのスピードを改善できますか?
PS:これは本当にばかげたことです!
ffmpeg -i ./in.mp4 -s 1280x720 -r 30 -an -f rawvideo -pix_fmt yuv420p - | ffmpeg -s 1280x720 -r 30 -an -f rawvideo -pix_fmt yuv420p -i - -s 1280x720 -r 30 -an -f rawvideo -pix_fmt argb - | cat - >/dev/null
は275fpsになります。それははるかに完璧ではありませんが、私は一緒に暮らすことができるものです。
なぜですか?
ありがとうございます!
ビットレートはほぼ同じで、〜4.0225Mbits/sなので、同じデバイスで動作する可能性が高いことに注意してください。私はそれをより速くする方法はわかりませんが、GPU上で動作しています。 –
色空間変換?なぜあなたはそれがGPUで動作すると思いますか?ビットレートは出力mp4のビットレートを参照しています。なぜなら、-b:vと同じになるように強制するからです。もちろん、そのエンコーディングはGPU上で実行され、私はそのスピードに問題はありません。私は色空間変換の速度に問題があります。私には、非常に遅く、秒あたりの生データの340mバイト... SIMD命令を持つマルチコアマシンでは...それは私に速くは聞こえません。 –
ああ、それでは気にしない。間違いをお詫びし、デバッグ出力を誤解しました。私はいつもffmpegをサウンドファイルの変換に使用してきましたが、私はいつも何らかの理由でビットレートが変換速度を参照していると思っていました。 –