ffmpeg 4.5でリリース予定のビデオフィルタ。sobel
とprewitt
、roberts
はカーネルが少し異なるがオプションは同じである。
PIDをトラックIDとしてMP4コンテナにつける
encoding – How can I setup PIDs using ffmpeg & MP4 Container? – Stack Overflowより。
-streamidを指定して、かつ-use_stream_ids_as_track_ids trueを併用する。内容はMediainfoで確認できる。
ffmpeg -i input.ts -map 0:v -map 0:a:0 -map 0:a:1 -streamid 0:0x100 -streamid 1:0x110 -streamid 2:0x111 -use_stream_ids_as_track_ids true output.mp4
映像のエントロピーを調べるentropy
各フレームのカラーチャンネルのヒストグラムにおけるグレーレベルのエントロピーを測定するentropy
フィルタの使い方。各チャンネルのピクセル値の不規則性を調べる。スコアが高いとより複雑な映像になる。ほかにYUVのピクセル値の統計をログで出力するにはsignalstats
フィルタや、似たフィルタにbitplanenoise、siti
フィルタがある。
各チャンネルのピクセル値を反転するnegate
8ビットなら255を0に反転させるnegate
フィルタの使い方。lut
フィルタでも同様のことができる。タイムライン編集と高ビット深度に対応。
オーディオフレームサイズを指定するasetnsamples
通常はコーデック毎やエンコーダ毎にサンプル数が異なるがこれを任意の値に指定できるasetnsamples
フィルタの使い方。映像のフレーム毎の内容を音声と同期させるために使う。
フィルタ内で分割するsegment、asegment
ffmpeg 4.5から使える予定のフィルタ。いままではselect、aselect
フィルタで複数の区間をフィルタ内で分割できたのがより直感的に分割できるようになった。タイムライン編集が使えないフィルタを使ったり、エンコードパラメータを複数使い分けて1つのファイルに戻すなどに使う。
特定の映像フレームや音声サンプルを出力するselect, aselect
Tがあればタイムライン編集に対応している。
ffmpeg -filters : gist.github.com
HDRにかかわるmkvmergeの設定
VP9やAV1でエンコードしたときにつけるHDRメタデータをmkvmergeでつける。指定する値は元の映像と同じ値を指定する。libx265は-x265-paramsから、libsvtav1は-svtav1-paramsから直接指定できる。
フィールドオーダーを変更するfieldorder
フィールドオーダーを書き換えて順番を入れ替えるfieldorder
フィルタの使い方。フィールドオーダーの明示がなくフラグを立てるのはsetfield
フィルタ。
クロミナンスノイズ低減フィルタchromanr
色彩のデノイズを行うchromanr
フィルタの使い方。軽く当てると明るさ成分には影響なく、あまり色彩を失わずにデノイズできる。変化度合いのしきい値が指定できるので調整しやすい。タイムライン編集に対応。フレーム間の色彩デノイズ、いわゆるちらつき除去はhqdn3d
フィルタを使う。
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以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやデコーダの新機能が全て取り込まれた。