処理速度に特化したAV1エンコーダSVT-AV1

ffmpegから使えるAV1ソフトウェアエンコーダにはAOM-AV1、SVT-AV1、rav1eがあり、このSVT-AV1は処理速度に特化していて保存用からライブ配信用までプリセットによる調整が可能。BlueSwordM氏の細部がぼやけるのを修正した派生版や、開発が現在盛んだったgianni-rosato氏から受け継いだpsy-exの派生版もある。こちらはハードコードされたパラメータを少し変えたり、実験的なオプションを追加したりしていて、公式の最新版にも追従している。

gitlabでは該当コミットのパイプラインのリンクに飛ぶとバイナリがダウンロードできる。

  • GitHub – 5fish/svt-av1-psy
  • GitHub – nekotrix/SVT-AV1-Essential
  • FFmpeg Codecs Documentation : libsvtav1
  • Encode/AV1 – FFmpeg
  • svt-av1-psy.com : SVT-AV1-PSY
  • パラメータの参考になる記事。

    AV1ハードウェアエンコーダにはRTX 40シリーズのNVIDIA NVENC、RX 7000シリーズのAMD AMF、Intel Arc GraphicsのQuick Sync Videoなどがある。

    Continue reading “処理速度に特化したAV1エンコーダSVT-AV1”

    音声のPSNRを調べるapsnr、信号の歪み比を調べるasdr

    ffmpeg 6.1以降から使える予定のフィルタ。

    周波数の波形を見るにはshowspectrumpic、showspectrum、showwavesフィルタなどがある。
    不可逆圧縮された音声のカットされた周波数が調べられる showspectrumpic
    音声波形を表示する showspectrum, showwaves の使い方

    Continue reading “音声のPSNRを調べるapsnr、信号の歪み比を調べるasdr”

    D3D11経由でデスクトップ画面を取り込むddagrab

    D3D11経由なので同じメモリ上からエンコードできるNVENC, AMFのエンコーダには処理が速くなる。Windowns向けのDesktop Duplication APIを使う。

    Continue reading “D3D11経由でデスクトップ画面を取り込むddagrab”

    ARIB字幕をdemuxするlibaribcaption

    FFmpeg 6.1から使える予定のデコーダ。今まであったlibaribb24からDRCSに対応してきれいにレンダリングできるlibaribcaption。現時点ではgyan.dev、BtbNのFFmpegが対応している。

    Continue reading “ARIB字幕をdemuxするlibaribcaption”

    複数の音声入力を合わせてレイアウトを指定するjoin

    amergechannelmapフィルタを合わせたもの。

    音声ストリームのチャンネルレイアウトを指定する amerge
    音声のチャンネルレイアウトを変えるchannelmap

    Continue reading “複数の音声入力を合わせてレイアウトを指定するjoin”

    動画比較に便利なvideo-compare

    クロスプラットフォームに対応し、フィルタの有無、エンコード設定の差異による目視確認に便利なvideo-compareの紹介。WindowsバイナリはReleasesページで配布している。コンソールから起動する。

    GitHub – pixop/video-compare: Split screen video comparison tool using FFmpeg and SDL2

    Continue reading “動画比較に便利なvideo-compare”

    2つの映像の相関関係を調べるcorr

    同じ解像度、フレームレート、ピクセルフォーマット、タイムベースの2つの映像の相関関係を調べるcorrフィルタの使い方。似た用途のフィルタにssimmsadフィルタがある。

    2つの映像の画質評価をする SSIM
    2つの映像の差の絶対値の合計平均を調べるmsad

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

    Continue reading “2つの映像の相関関係を調べるcorr”

    ffmpeg 6.0リリース

    2023年2月28日にffmpeg 6.0 Von Neumann(ジョン・フォン・ノイマン – Wikipedia)がリリースされた。今回のリリースはメジャーアップデートとなり、5.1以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやエンコーダ、デコーダ等の新機能が全て取り込まれた。

    気になる新機能

    • Windowsのデスクトップキャプチャddagrab。HW支援しやすいピクセルフォーマットになっている
    • NVENC(av1_nvenc)、QSV(av1_qsv)、VCE(av1_amf)のAV1エンコード対応
    • QSVの新しいSDK、oneVPL対応
    • MediaCodecのエンコーダ、デコーダ対応でAndroid向けにHW支援
    • VA-APIの10/12bit 422、10/12bit 444 HEVCとVP9のエンコーダ、デコーダ
    • エンコードログを見やすく出力できる

    前回記事:ffmpeg 5.1リリース

    5.1以降に取り込まれた機能の一覧:Changelog 5.1 to 6.0 < git.videolan.org Git

    ffmpeg -filters using Gyan ffmpeg

    FFmpeg 6.0 Released With NVIDIA NVENC AV1, VA-API Improvements – Phoronix

    エンコード前後のフレーム数やサイズを調べる

    ffmpeg 6.0から使える予定の-stats_enc_pre、-stats_enc_post、stats_mux_preの使い方。フレーム数やPTS、DTS、サンプル数、サイズ、平均ビットレートなどがストリームごとに調べられる。従来は-vstats -vstats_file foo.txtでエンコードログを出力できたが、一層パースしやすい形で出力できる。

    Continue reading “エンコード前後のフレーム数やサイズを調べる”