opencvのビデオライターを使用しているPythonスクリプトがあります。opencv - videowriterの制御ビットレート
ソースhttps://gist.github.com/stanchiang/b4e4890160a054a9c1d65f9152172600
私は、ファイルを取り込み、そして場合にかかわらず、私は単純に(効果的にファイルを複製)ライターに介してビデオフレームを渡すかどうかに私はフレームを編集しようとした場合、ファイルは常に大きくなります。私はそれがオリジナルよりも大きくないことを望んでいます(私のスクリプトを読んでいれば、たくさんのものをぼかすので)。
ffprobe -v quiet -print_format json -show_format -show_streams inputFile.mp4
を使用してメタデータを確認したところ、新しいファイルのビットレートは以前のバージョンよりも5.5倍以上高くなっています。 https://www.diffchecker.com/8r2syeln
ビットレートはファイルサイズの大きな決定要因であるため
- iは、映像作家による新しいファイルの所望のビットレートをハードコーディングすることができた場合
ソース、私は思ったんだけど
- 何らかの理由で大幅に増加したビットレートが必要かどうか
が優れており、私の経験から、出力のビットレートは入力から変更されません。 – boardrider
すべての方法を右に切り替えることはできませんか?スクリプトは、opencvアルゴリズムを使用してビデオフレームをフレームごとに編集します。フレームごとに新しいビデオフレームに書き込むためにffmpegを使用する方法はありますか? – stanley
@stanleyいいえあなたの方法の唯一の方法は、すべてのフレームを生成してOpenCVを使ってビデオを完全に書き込むことです。その後、FFMPEGを使用してビットレートを変更してビデオを圧縮します。しかし、RGBデータをパイプを使って直接FFMPEGに送ることは可能ですが、OpenCVは使用しません。 – rayryeng