各チャンネルのピクセル値を反転するnegate

8ビットなら255を0に反転させるnegateフィルタの使い方。lutフィルタでも同様のことができる。タイムライン編集と高ビット深度に対応。

Windows の ffmpeg で生放送する方法 – LUT(ルックアップテーブル、ラット)

Continue reading “各チャンネルのピクセル値を反転するnegate”

オーディオフレームサイズを指定するasetnsamples

通常はコーデック毎やエンコーダ毎にサンプル数が異なるがこれを任意の値に指定できるasetnsamplesフィルタの使い方。映像のフレーム毎の内容を音声と同期させるために使う。

Continue reading “オーディオフレームサイズを指定するasetnsamples”

フィルタ内で分割するsegment、asegment

ffmpeg 4.5から使える予定のフィルタ。いままではselect、aselectフィルタで複数の区間をフィルタ内で分割できたのがより直感的に分割できるようになった。タイムライン編集が使えないフィルタを使ったり、エンコードパラメータを複数使い分けて1つのファイルに戻すなどに使う。

特定の映像フレームや音声サンプルを出力するselect, aselect

Tがあればタイムライン編集に対応している。
ffmpeg -filters : gist.github.com

Continue reading “フィルタ内で分割するsegment、asegment”

フィールドオーダーを変更するfieldorder

フィールドオーダーを書き換えて順番を入れ替えるfieldorderフィルタの使い方。フィールドオーダーの明示がなくフラグを立てるのはsetfieldフィルタ。

フィールドオーダーのフラグを建てるsetfield

Continue reading “フィールドオーダーを変更するfieldorder”

クロミナンスノイズ低減フィルタchromanr

色彩のデノイズを行うchromanrフィルタの使い方。軽く当てると明るさ成分には影響なく、あまり色彩を失わずにデノイズできる。変化度合いのしきい値が指定できるので調整しやすい。タイムライン編集に対応。フレーム間の色彩デノイズ、いわゆるちらつき除去はhqdn3dフィルタを使う。

Windows の ffmpeg で生放送する方法 – 3次元デノイズフィルタ

Continue reading “クロミナンスノイズ低減フィルタchromanr”

ffmpeg 4.4 リリース

2021年10月25日に4.4.1がリリースされた。アップデート内容はセキュリティ関係など修正ばかりで新しいフィルタは入ってない。

git.videolan.org Git – ffmpeg.git/commitdiff
git.videolan.org Git – ffmpeg.git/shortlog : n4.4.1

次のバージョンに追加予定の内容。
git.videolan.org Git – ffmpeg.git/blob – Changelog

4.4.1には入っていないが「swscale slice threading」はスレッド数の多いPCでのリサイズにおいてCPU使用率の大幅な向上が見られる。

およそ10か月ぶりの更新で2021年4月9日にffmpeg 4.4 “Rao“がリリースされた。今回のリリースはメジャーアップデートとなり、セキュリティ対応や4.3以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやデコーダの新機能が全て取り込まれた。

git.videolan.org Git – ffmpeg.git/shortlog : n4.4

Continue reading “ffmpeg 4.4 リリース”

2つの映像の差の絶対値の合計平均を調べるmsad

ffmpeg 4.4から使える予定のフィルタ。2つの映像は同じ解像度、ピクセルフォーマットでなければならない。メタデータに出力できるのでffprobe連携しやすい。
ffprobe の使い方

framesyncに対応しているので片方の出力が終わったら終了するようにできる。
2ファイル入力するフィルタの挙動設定 framesync

基本コマンド

オプション設定はなし。出力値は0から1までの小数。変化が少ないほど0に近づく。
ffmpeg -i 調べたい動画 -i 元の動画 -filter_complex "[0:v]settb=1/AVTB,setpts=PTS-STARTPTS[0v];[1:v]settb=1/AVTB,setpts=PTS-STARTPTS[1v];[0v][1v]scale2ref=flags=bicubic,msad=shortest=1:repeatlast=0" -an -f null -

ffmpeg 5.1以降はts_sync_mode対応したのでsettb=1/AVTB,setpts=PTS-STARTPTSが不要になった。
ffmpeg -i 調べたい動画 -i 元の動画 -filter_complex "scale2ref=flags=bicubic,msad=shortest=1:repeatlast=0:ts_sync_mode=1" -an -f null -

公式ドキュメント:FFmpeg Filters Documentation : msad

メタデータ出力内容。

lavfi.msad.msad.Y
lavfi.msad.msad.U
lavfi.msad.msad.V
lavfi.msad.msad_avg

ffprobe連携例。出力時間は-read_intervalsで指定。
ffprobe -f lavfi -i movie=enc.mp4,settb=1/AVTB,setpts=PTS-STARTPTS[0];movie=orig.mp4,settb=1/AVTB,setpts=PTS-STARTPTS[1];[0][1]scale2ref=flags=bicubic,msad -show_entries packet_tags=lavfi.msad.msad_avg -read_intervals "%1" > msad_avg.txt

ffprobe の使い方

2つの映像がどれだけ同じかを調べるidentity

ffmpeg 4.4から使える予定のフィルタ。2つの映像は同じ解像度、ピクセルフォーマットでなければならない。メタデータに出力できるのでffprobe連携しやすい。
ffprobe の使い方

framesyncに対応しているので片方の出力が終わったら終了するようにできる。
2ファイル入力するフィルタの挙動設定 framesync

基本コマンド

オプション設定はなし。出力値は0から1までの小数。
ffmpeg -i 調べたい動画 -i 元の動画 -filter_complex "[0:v]settb=1/AVTB,setpts=PTS-STARTPTS[0v];[1:v]settb=1/AVTB,setpts=PTS-STARTPTS[1v];[0v][1v]scale2ref=flags=bicubic,identity=shortest=1:repeatlast=0" -an -f null -

ffmpeg 5.1以降はts_sync_mode対応したのでsettb=1/AVTB,setpts=PTS-STARTPTSが不要になった。
ffmpeg -i 調べたい動画 -i 元の動画 -filter_complex "scale2ref=flags=bicubic,identity=shortest=1:repeatlast=0:ts_sync_mode=1" -an -f null -

公式ドキュメント:FFmpeg Filters Documentation : identity

メタデータ出力内容。

  • lavfi.identity.identity.Y
  • lavfi.identity.identity.U
  • lavfi.identity.identity.V
  • lavfi.identity.identity_avg

ffprobe連携例。出力時間は-read_intervalsで指定。
ffprobe -f lavfi -i movie=enc.mp4,settb=1/AVTB,setpts=PTS-STARTPTS[0];movie=orig.mp4,settb=1/AVTB,setpts=PTS-STARTPTS[1];[0][1]scale2ref=flags=bicubic,identity -show_entries packet_tags=lavfi.identity.identity_avg -read_intervals "%1" > identity_avg.txt

千円HDMIキャプチャ、Y&H HDMIキャプチャカード

千円で有名になったHDMIキャプチャカードだが、複数の販売元では送料込みで700円を割り込んでいる。公式画像では「Shenzhen Yonghui Fashion Co., Ltd」の配送になるが、今回購入したのは「XBOW」から。「今すぐ買う」のボタンの下から選択できる。最初の頃に言われていた音声がおかしい問題は解決されて1280×720の60fpsのMJPGで取り込めて、手軽なHDMI出力の画面表示に使える。

Continue reading “千円HDMIキャプチャ、Y&H HDMIキャプチャカード”