RGBをトーンカーブで色調調整ができるcurves
フィルタの使い方。ペイントツールで同時に表示されるヒストグラムはhistogram
フィルタで表示できるが、Photoshopのようなメリハリの付いたグラフではなくてGIMPに近い感じになる。またPhotoshopのトーンカーブプリセットファイルのACVが読み込める。
RGB, CMYK を個別に調整できる selectivecolor
ffmpeg 3.0 から使えるフィルタ。RGB を個別に明るくしたり暗くしたりできるフィルタにcolorbalance
があるが、このselectivecolor
フィルタは RGB だけではなく CMYK にも対して明るくしたり、暗くしたり、他の色を混ぜたり出来る。ただし RGB を CMYK 形式に変換しての保存はできない。
Adobe Photoshop の 特定色域の選択ツールに似ていて、Photoshop の .asv が読み込める。具体的にどのようなことができるかは「photoshop 特定色域の選択(bing)」で検索するといろいろ見つかる。
Windows の ffmpeg で生放送する方法 : colorbalance
基本コマンド
色のオプションは4つまでスペースを挟んで指定でき、順番に CMYK(cyan, magenta, yellow, key plate)の色を混ぜることが出来る。出力カラーフォーマットは bgr0 になる。使い方は調整したい色を指定し、4つの引数で順番に CMYK の混ぜたい色の割合を指定する。
緑の部分にシアンを50%増して黄を33%減らし、青の部分にマジェンタを27%増す
ffplay input -vf "selectivecolor=greens=0.5 0 -0.33 0:blues=0 0.27"
MySelectiveColorPresets フォルダにある Misty.asv を読み込む
バイナリデータなのでテキストエディタでは編集できない。サンプルファイル
ffplay input -vf "selectivecolor=psfile=MySelectiveColorPresets/Misty.asv"
ツイキャスの高画質配信の録画方法
PCから高画質ゲーム配信(外部ツール配信)をするには – ツイキャス
高画質ゲーム配信ができるアカウント
高画質配信ができるアカウントは全て、高画質ゲーム配信ができます。
レベル24以上のユーザーは高画質(ゲーム)配信できます。
高画質配信へのお申込みはこちらです。(企業・団体さま・アーティストさま向け)
高画質配信ができるユーザーから招待を受けると、高画質(ゲーム配信)ができるようになります。
記事にあるように“高画質ゲーム配信“であり、高画質ウェブカメ雑談配信は対象になっていない。
配信はPCのブラウザからは RTMP のストリーミングで、iOS などのモバイル端末は HLS の再エンコード映像として配信されている。
配信の録画には RTMP ではまず以下にアクセスして
http://twitcasting.tv/streamserver.php?mode=view&appid=TCViewerFlash&rtmp=1&target=ユーザーID
以下のようなレスポンスが有り
edge101.moi.st/publisher/123456789-123456789012345.stream?is_publisher=0:1935:GET :ユーザーID:123456789
rtmpdump では以下のコマンドで録画できる
rtmpdump -r rtmp://edge101.moi.st/publisher/123456789-123456789012345.stream -y publisher/123456789-123456789012345.stream?is_publisher=0 -y ユーザーID -o output.flv
ffmpeg では
ffmpeg -i "rtmp://edge101.moi.st/publisher/123456789-123456789012345.stream app=publisher/123456789-123456789012345.stream?is_publisher=0 playpath=ユーザーID" -c copy output.flv
ffmpeg 2.8.1 リリース
ffmpeg 2.8.1 が2015年10月14日リリースされた。今回のアップデートは修正が主で最新gitで公開されている新規のフィルタは追加されていない。
Update for 2.8.1 : git.videolan.org Git – ffmpeg.git/blobdiff – Changelog
master で公開されているフィルタはこちらから
git.videolan.org Git – ffmpeg.git/blob – Changelog
extrastereo filter ocr filter alimiter filter stereowiden filter stereotools filter rubberband filter tremolo filter agate filter chromakey filter maskedmerge filter displace filter selectivecolor filter
この中で既に書いているのが、
stereowidenWindows の ffmpeg で生放送する方法 : stereowiden(立体音響化)
rubberbandサンプリング周波数を変えずにテンポとピッチを変える rubberband
chromakeyffmpeg でクロマキー合成 その2
maskedmergeマスクして2入力を合わせる maskedmerge
別途ライブラリが必要な ocr は学習させないと日本語がほとんど読み取れないので日本語での実用性はかなり低い。selectivecolor は次回更新予定。
サンプリング周波数を変えずにテンポとピッチを変える rubberband
今まではテンポ(再生速度)を変えるにはatempo
フィルタを、ピッチ(高低)を変えるにはasetrate
フィルタを使っていたが、rubberband
フィルタはasetrate
フィルタで変わる周波数を変えずにピッチとテンポを変えることができ、atempo
フィルタよりも品質がよい場合がある。
rubberband
フィルタは別途ライブラリをインストールしないと使えないのと、現在は 64bit に未対応である。
標準フィルタを使う場合。
映像と音声の pts を扱う setpts, asetpts
ピッチを任意の周波数に変更するasetrate
マスクして2入力を合わせる maskedmerge
3入力目をマスクにして、1入力目の映像と2入力目の映像をマスクに合わせて出力する。マスクをどの程度指定するかで1入力目と2入力目の割合を指定できる。アルファチャンネルを追加するalphamerge
フィルタと負荷は変わらない。
別ファイルの情報から元映像を透過させる alphamerge
マスクの各チャンネル(YUVA、RGBAなど)の値から1、2入力に対応したチャンネルがブレンド、またはスルーされ、スルーされるときは1入力目がそのまま出力される。3入力目の各チャンネルのピクセル値が0ならば1入力目を、255(8bit)ならば2入力目が出力させる。既定値は1、2入力がブレンドされる。アルファチャンネルは0が完全透過になる。
マスクの指定には別ファイルを使う方法と、フィルタを当てて各チャンネルを調整する方法とがある。各チャンネルを調整にはlut
フィルタが使いやすい。別ファイルを使う場合にはモノクロ映像を使うことでその部分にだけフィルタを当てるのが手軽になる。
ffmpeg でクロマキー合成 その2
chromakey
フィルタは指定した色の部分が透過した YUVA で出力し透過した部分にオーバーレイして別の映像を映すのに使う。バージョンは3.0 以降から使える。
RGBA で処理するcolorkey
はこちら:ffmpeg でクロマキー合成
基本コマンド
colorkey
と基本的には同じ。
ffmpeg -i input1 -i input2 -filter_complex [1:v]chromakey=red:.03:.1[1v];[0:v][1v]overlay output
ffmpeg -i input1 -i input2 -filter_complex [1:v]chromakey=0xff0000:.03:.1[1v];[0:v][1v]overlay output
音声をベクトルスコープで表示する avectorscope
位相をベクタスコープで映像化するavectorscope
フィルタの使い方。表示する色の設定とフェードの色設定、リサジュー図形での描写が可能。出力フォーマットが rgba になるので背景部分が透過してoverlay
フィルタを使ってかぶせることも容易にできる。
2チャンネルの値を2次元で表示する vectorscope
histogram
フィルタに含まれていたcolorオプションが個別のフィルタになった。出力フォーマットが GBRP、YUVA になるので背景部分が透過してoverlay
フィルタを使ってかぶせることも容易にできる。透過させて表示するなら入力フォーマットにアルファチャンネルをあらかじめつけておく。
前回書いた記事:ffmpeg でヒストグラムを表示する
基本コマンド
ffmpeg -i input -vf vectorscope -c:a copy output
ffplay -i input -vf vectorscope=m=1:x=1:y=2:i=.04:e=0
ffmpeg で YUV, RGB波形を表示する waveform
histogram
フィルタに含まれていたwaveformオプションが個別のフィルタになった。高ビット深度に対応。
前回書いた記事:ffmpeg でヒストグラムを表示する