CUDA を使ったハードウェアアクセレーションフィルタのまとめ
m-ab-s/media-autobuild_suite で調べたところ、–enable-ffnvcodec –enable-cuda –enable-cuvid –enable-nvenc –enable-nvdec を基本に、–enable-libnpp –enable-nonfree で scale_npp, transpose_npp フィルタが使え、–enable-cuda-llvm...
View ArticleARIB字幕をdemuxする libaribb24
日本のテレビで表示されるARIB(アライブ)字幕を動画のエンコードと一緒に字幕もつけることができる。今までは映像と音声のエンコードと字幕を同時に扱うことはできなかった。 標準規格概要(STD-B24)|一般社団法人 電波産業会 ARIB外字 – Wikipedia ffmpeg 4.2 から対応し、VLC 3.0 から動画再生に字幕を表示できるようになった。 ffmpeg 4.2 リリース VLC...
View Articleremove.bg でゲットした小さな透過画像を元画像に取り入れる
画像の背景を削除して被写体を切り抜くウェブサービス remove.bg で手に入れた低解像度の透過画像をオリジナルの画像に透過情報を適用する。解像度が異なるのでオリジナルのサイズを手動で指定する。 Remove Background from Image – remove.bg...
View Articleハードウェアデコーダ、フィルタ、エンコーダを組み合わせる
デコーダにはQSV、DXVA2、D3D11、NVDEC。フィルタにはQSV、OpenCL、NPP。エンコーダにはQSVとソフトウェアエンコーダのlibx264のコマンド例のまとめ。コマンド例はぞれぞれ上にQSV、下にlibx264を併記し、filter...
View Article任意のラウドネス値に音量を調整する loudnorm
目標となる LUFS とラウドネスレンジ、トゥルーピークを調整する loudnorm フィルタの使い方。1回の処理で行うのと、1回目の解析結果を使って2回の処理を行う方法の2種類がある。loudnorm フィルタを当てるとサンプリング周波数が192kHzにリザンプルされるので、-ar や aresample フィルタで目標のサンプリング周波数を指定する。 適切な音量が調べられる ffmpeg の...
View ArticleARIB字幕をVTTにしてHLSで視聴する
現状の ffmpeg では VTT字幕と、映像と音声のセグメントを合わせたマスタープレイリストを作れないので、マスタープレイリストを編集しなければならない。多くのブラウザがプレイリストの直接再生に対応していないのでライブラリを使う。 ffmpeg で Apple HTTP Live Streaming(HLS)を扱う 準備 HTML5 プレイヤの例 video-dev/hls.js:...
View Article映像の特定領域だけ品質を変える addroi
ゲーム配信などでレイアウトを決めるときに映像が全く変わらない部分。例えばRTAのチャートの部分とか、レトロゲームを模したフレームとかそういったところの品質を下げると他の部分で使えるビットレートが増えて全体の品質が向上する。対応コーデックは H.264、H.265、VP8、VP9 など。 Encode/H.264 – FFmpeg Encode/H.265 – FFmpeg...
View Article指定した色の色彩を残してそれ以外をグレーに変える colorhold
出力フォーマットは BGRA。アルファチャンネルは透過しない。 基本コマンド 緑を保持して他の色をグレーにする。 ffmpeg -i input -vf colorhold=color=green:similarity=0.5:blend=0 -vframes 1 output.jpg ffplay -i input -vf colorhold=green:0.5:0 colorhold...
View Article複数ファイルの映像のピクセル中央値を返す xmedian
複数画像や映像の異なるフレームのピクセル中央値を返すことで長時間露光したような動く部分だけが消えて背景だけの映像が作れる。入力するファイル数や参照フレームを多くしたり、解像度やフレームレートが高いとそれだけ負荷も高くなる。 基本コマンド 3つの画像のピクセル中央値にした画像に変換。 ffmpeg -i img1.jpg -i img2.jpg -i img3,jpg -filter_complex...
View Articleレナ (画像データ)をffmpegで使いやすいように加工する
レナ (画像データ) – Wikipedia レナ(Lenna または Lena)とは、PLAYBOY誌1972年11月号に掲載された女性ヌード写真の一部。画像圧縮アルゴリズムのサンプルに、広く使用されている画像データである。 全身写真 400×855。 http://www.lenna.org/full/len_full.jpg 全身写真をカットして顔周辺の 192×192。 ffmpeg -i...
View Article1フレーム内のメディアンフィルタ median
ffmpeg 4.3 から使える予定のフィルタ。映像の指定したピクセル内のピクセル中央値を返すのでマスクしてデノイズするのに使える。マスクは colorkey、chromakey フィルタで作れる。 ffmpeg でクロマキー合成 ffmpeg でクロマキー合成 その2 複数ファイルの中央値を返すのなら xmedia フィルタを使う。 複数ファイルの映像のピクセル中央値を返す xmedian...
View Article映像を上下左右にスクロールする scroll
ffmpeg 4.3 から使える予定のフィルタ。今までは stack フィルタで映像を並べて overlay フィルタで映像を動かしていたのが、scroll フィルタだけでスクロールできるようになった。出力フォーマットは GBRP なので適宜 format フィルタで出力形式に合わせて変換する。 基本コマンド 下から上に1フレーム毎に5%づつスクロールする。ffplay で再生確認するときは...
View Articleてんかん患者に配慮したシーンチェンジブラー photosensitivity
ffmpeg 4.3 から使える予定のフィルタ。急激な輝度変化で明るくなるシーンチェンジにフレーム平均ブラーを掛けて輝度変化を緩やかにする photosensitivity(いわゆる光過敏性発作対策)フィルタの使い方。 ポケモンショック – Wikipedia 基本コマンド 既定値のコマンド例。 ffmpeg -i input -vf...
View Article各チャンネルのノイズ係数を調べる bitplanenoise
YUV、RGB それぞれのチャンネルにどれくらいのノイズが含まれているか、0 から 1 までの範囲で調べられる bitplanenoise フィルタの使い方。ノイズ計数は 1 に近いほどノイズが多い。ログの表示に metadata、drawtext フィルタを使っている。 文字を描写する drawtext 各映像チャンネルを分離する extractplanes メタデータをコンソールに表示する...
View Articleエッジ保持のスムースフィルタ bilateral
ffmpeg 4.3 から使える予定のフィルタ。軽めにフィルタを当てるとエッジ保持してノイズをうまく消せるが、既定値以上の設定だと細部が消えて油絵のような効果になる bilateral フィルタの使い方。 基本コマンド 既定値のオプション内容。 ffmpeg -i input bilateral=sigmaS=0.1:sigmaR=0.1:planes=1 -c:a copy output...
View Articleエッジ保持のブラーフィルタ yaepblur
ffmpeg 4.3 から使える予定のフィルタ。アルゴリズムについては、”J. S. Lee, Digital image enhancement and noise filtering by use of local statistics, IEEE Trans. Pattern Anal. Mach. Intell. PAMI-2, 1980.” を参照。yaepblur は “yet...
View Articleニコニコのコメントを表示する AviSynth プラグイン AviSynthNicoComment
ニコニコ動画やニコニコ生放送のコメントを映像の上にオーバーレイ表示するプラグイン。アンケートの表示は対応予定。ue shita big small などのコマンドは未対応。ffmpeg は --enable-avisynth で avisynth に対応し、--enable-vapoursynth で vapoursynth に対応している。avisynth...
View Article絶対値の差の大きい小さいを返す maskedmax, maskedmin
ffmpeg 4.3 から使える予定のフィルタ。3つの映像から1入力目と比較し絶対値の大きい、小さいほうのピクセル値を返す maskedmax、maskedmin フィルタの使い方。 基本コマンド 効果がわかりやすいように lutyuv...
View Articleコントラストに応じたシャープフィルタ cas
ffmpeg 4.3 から使える予定のフィルタ。cas は “Contrast Adaptive Sharpen” の略。似たフィルタに unsharp がある。 基本コマンド 既定値だと strength=0 なのでフィルタの影響がない。 ffmpeg -i input -vf cas=strength=0:planes=7 -c:a copy output ffplay -i input -vf...
View Article映像のトランジションの設定ができる xfade
ffmpeg 4.3 から使える予定のフィルタ。映像の切り替えにフェード、スライド、ワイプ、ディゾルブなどのトランジションを追加する xfade フィルタの使い方。1つめの映像の最後につなげるフィルタとは限らず、指定時間から指定時間秒トランジションを行う。 関連フィルタ フェードイン、フェードアウトの設定ができる fade 基本コマンド 映像を xfade...
View Article