月別アーカイブ: 2015年6月

colorchannelmixer の使い方

RGBA からそれぞれの RGBA にミックスして色を変えるフィルタ colorchannelmixer フィルタの使い方。

基本コマンド

自らの RGBA だけ 1 にしているので色は変わらない。
ffmpeg -i input -vf colorchannelmixer=1:0:0:0:0:1:0:0:0:0:1:0:0:0:0:1 output

自らの値(rr, gg, bb, aa)だけ既定値は 1 でそれ以外は 0。
指定できる範囲は -2 から 2 の float

引数は r, g, b, a にそれぞれの r, g, b, a を掛けて 4×4 の 16 通りある。引数の順番は以下の通り。

rr, rg, rb, ra, gr, gg, gb, ga, br, bg, bb, ba, ar, ag, ab, aa

RGB の計算式は R を例にすると。

red=red*rr + blue*rb + green*rg + alpha*ra

公式ドキュメント:FFmpeg Filters Documentation : colorchannelmixer
続きを読む colorchannelmixer の使い方

ffmpeg でクロマキー合成

ffmpeg に colorkey フィルタが取り込まれたことにより、クロマキー合成や特定色に個別のフィルタを当てられるようになった。

ffmpeg 2.7.1 以降か master を使っていれば colorkey フィルタが使える。
avfilter/vf_colorkey: Add colorkey video filter

colorkey は指定した色の部分をアルファチャンネルにして、それ以外を RGB の RGBA で出力する。指定する色は16進数の ffffff 形式か、色名を指定する。入力映像が RGB の方が YUV よりも処理が早い。

YUVA で処理する chromakey はこちら:ffmpeg でクロマキー合成 その2

16進数と色の説明:FFmpeg Utilities Documentation :: Color

続きを読む ffmpeg でクロマキー合成

ニコ動の SWF 投稿が出来なくなる

2015年6月18日の14時過ぎにニコるとスピードチェッカーも一緒に SWFファイルが投稿できるサービスは終了した。ニコられると動画右のコメント欄が黒く、よりニコられると赤くなる仕様だったが押し間違いや、押したことによるアカウント通知機能がうまくいかずに終了したことになる。

最後の魚拓:ニコるってイイね!|niconico

SWFファイルはフラッシュプレイヤー依存の動画で、フラッシュに依存しない再生環境を揃えるためだと思う。SWF の映像には VP6 か H.263 が用いられるが、フラッシュに依存しない H.264 にエンコードした場合に画質の劣化がどうしても起きるので、再エンコード後の再生の互換性と保守の面から仕方ない判断である。

【一部機能の提供終了に関するお知らせ】swfファイルでの動画投稿/ニコる/スピードチェッカー‐ニコニコインフォ

最後の SWF 動画
cry.swf – ニコニコ動画:GINZA

この方法 Icy Cellar 3 – ニコニコ動画 – SWF形式のアップロードについて で従来は投稿できたが、ニコニコムービーメーカー経由でなくても投稿できなくなった。

SWF を投稿するとこのエラーが返ってくる

ffmpeg で OpenCV フィルタを使う

追記 2015年7月17日
同じ効果のフィルタがネイティブフィルタに取り入れられた。
avfilter: add erosion, dilation, deflate & inflate filter :: git.videolan.org Git – ffmpeg.git/commitdiff

追記ここまで

Win 用の配布バイナリには OpenCV が有効になっていないのでこれを有効にして使える3つのフィルタについて。
続きを読む ffmpeg で OpenCV フィルタを使う

ffmpeg で使える frei0r フィルタの使い方

Zeranoe FFmpeg では有効化されているものの、予め DLL を読み込ませないとフィルタが使えない frei0r フィルタの使い方。

Zeranoe FFmpeg のフォーラムから Win32、Win64 の使うバージョンを保存し解凍する。

顔認識のライブラリは frei0r-1.4.7z – osspack32 – frei0r 1.4 complete plugins for ffmpeg – Unofficial OSS packages compiled with MinGW (mainly 32bit only) – Google Project Hosting で配布している。

次に、set FREI0R_PATH で DLL のディレクトリを読み込ませる。

set FREI0R_PATH=frei0r-20121203-git-f4bac51-filters-win64

すると frei0r フィルタが使えるようになるが、mixer2 や、mixer3 のフィルタの使い方がよく分からない。ここで言う mixer2 や、mixer3 のフィルタとはソースコードの src ディレクトリにあるフィルタのことである。出力は全てのプラグインで RGBA になるので動画にする場合は用途に応じてフォーマット変換 format が必要。

公式サイト:Frei0r :: Free Video Effects collection
ソース:frei0r – minimalist, cross-platform, shared video plugins
Git:git://code.dyne.org/frei0r.git

ffmpeg の公式サイトやヘルプコマンドで見てもフィルタの使い方が詳しく書いてないので別のページからフィルタの使い方を調べる。

公式ドキュメント:FFmpeg Filters Documentation : frei0r
frei0r の引数が調べられる:PluginsFilters < MLT < TWiki
フィルタの説明:frei0r

frei0r フィルタの中には ffmpeg と同名のフィルタもあったりするが、ffmpeg のネイティブフィルタの方が速いので同名のフィルタの場合は ffmpeg のを使う方がよい。また bool 型は 0, 1 ではなくて n, y で指定する。

続きを読む ffmpeg で使える frei0r フィルタの使い方