2021年10月1日金曜日

ffmpeg-ptyhonでnormalizeフィルタを使用して動画をノーマライズ(正規化)する

ffmpeg-ptyhonでnormalizeフィルタを使用して動画をノーマライズ(正規化)するには、以下のサンプルプログラムのようにfilterメソッドにフィルタ名"normalize"と以下のパラメータを指定します。
blackpt: 最小入力値に対応する色
whitept: 最大入力値に対応する色
smoothing: スムージングのために使用される前のフレーム数。デフォルト0。
independence: 色の独立性。デフォルト1(完全に独立)
strength: フィルターの強さ。デフォルト1(最大)。

サンプルプログラム

ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。

ffmpeg_normalize.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("normalize",blackpt='black',whitept='white',smoothing=0,independence=0,strength=1.0)
ffmpeg.output(processed, input.audio, './lake_normalize.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_normalize.py

〇変換前動画

〇変換後動画

whiteptパラメータを変えた例

whiteptにyellowを指定すると、黄色のセロファンから透かして見たような動画になります。

ffmpeg_normalize_yellow.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
processed = input.video.filter("normalize",blackpt='black',whitept='yellow',smoothing=0,independence=0,strength=1.0)
ffmpeg.output(processed, input.audio, './lake_normalize_yellow.mp4').run()

〇変換後動画

関連情報

・様々な動画に関するアプリケーションについては、以下のまとめを参照してください。
動画関連アプリケーションのまとめ

0 件のコメント:

コメントを投稿