リサイズ、デバンディング、トーンマッピング、色相調整などができる外部ライブラリのlibplaceboフィルタの使い方。パラメータが多いので一部を抜粋。

haasn/libplacebo: Official mirror of libplacebo
Lypheo/vs-placebo: libplacebo-based debanding, scaling and color mapping plugin for VapourSynth

基本コマンド

ハードウェア支援なくデコードしてyuv420p形式にリサイズする。
ffmpeg -init_hw_device vulkan=vk:0 -filter_hw_device vk -i input -vf "hwupload,libplacebo=1280:720:yuv420p,hwdownload,format=yuv420p" -c:v libx264 -c:a copy output

NvidiaのGPUがあればデコード支援に使い、こちらの方が速い。
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -init_hw_device vulkan=vk:0 -filter_hw_device vk -i input -vf "hwupload,libplacebo=1280:720:nv12,hwupload_cuda" -c:v hevc_nvenc -c:a copy output

10ビット深度でリサイズする。
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -init_hw_device vulkan=vk:0 -filter_hw_device vk -i input -vf "hwupload,libplacebo=1280:720:p010le,hwupload_cuda" -c:v hevc_nvenc -pix_tmt p010le -c:a copy output

cuda – Understanding pixel format and profile when encoding 10-bit video in ffmpeg with nvenc – Super User

HDRからSDRにトーンマッピングする。
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -init_hw_device vulkan=vk:0 -filter_hw_device vk -i input -vf "hwupload,libplacebo=format=gbrpf32le:color_trc=linear:tonemapping=mobius,libplacebo=format=nv12:colorspace=bt709:color_primaries=bt709:color_trc=bt709,hwupload_cuda" -c:v hevc_nvenc -c:a copy output

mpvのhook shadersを使う。glsl形式は読めない。
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -init_hw_device vulkan=vk:0 -filter_hw_device vk -i input -vf "hwupload,libplacebo=custom_shader_path='C\:/Users/owner/AppData/Roaming/mpv.net/shaders/NoChroma.hook',hwupload_cuda" -c:v hevc_nvenc -c:a copy output

デバンディング。
ffmpeg -hwaccel cuda -hwaccel_output_format cuda -init_hw_device vulkan=vk:0 -filter_hw_device vk -i input -vf "hwupload,libplacebo=format=nv12:deband_iterations=1:deband_threshold=4:deband_radius=16:deband_grain=6:force_dither=1:dithering=0,hwupload_cuda" -c:v hevc_nvenc -c:a copy output

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

オプション

ffmpeg -h filter=libplaceboで見られるパラメータ一覧。

以下抜粋。
リサイズアルゴリズムの指定。libplacebo/filters.c · haasn/libplaceboより。

  • upscaler[string]
  • downscaler[string]
    • triangle
    • gaussian
    • sinc
    • catmull_rom
    • mitchell
    • robidoux
    • robidouxsharp
    • bicubic
    • spline16
    • spline36
    • spline64

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)