サンプリング周波数を変えずにテンポとピッチを変える rubberband
今まではテンポ(再生速度)を変えるには atempo を、ピッチ(高低)を変えるには asetrate を使っていたが、rubberband は asetrate で変わる周波数を変えずにピッチとテンポを変えることができる。 rubberband は別途ライブラリをインストールしないと使えないのと、現在は 64bit に未対応である。 続きを読む インストールする git clone...
View Articleffmpeg 2.8.1 リリース
ffmpeg 2.8.1 が2015年10月14日リリースされた。今回のアップデートは修正が主で最新gitで公開されている新規のフィルタは追加されていない。 Update for 2.8.1 : git.videolan.org Git – ffmpeg.git/blobdiff – Changelog 最新git で公開されているフィルタはこちらから git.videolan.org Git –...
View ArticleRGB, CMYK を個別に調整できる selectivecolor
現時点では最新git からでしか使えない。 RGB を個別に明るくしたり暗くしたりできるフィルタに colorbalance があるが、このフィルタは RGB だけではなく CMYK に対しても明るくしたり、暗くしたり、他の色を混ぜたり出来る。Adobe Photoshop の 特定色域の選択ツールに似ていて、Photoshop の .asv が読み込める。...
View Articleトーンカーブで RGB の調整が出来る curves
個別の RGB でも RGB すべてでもトーンカーブで色の調整ができる curves は Adobe Photoshop や Gimp などのペイントツールによくある機能でこれが ffmpeg でも使える。ペイントツールで同時に表示されるヒストグラムは histogram で表示できるが、Photoshop のようなメリハリの付いたグラフではなくて Gimp に近い感じになる。また...
View ArticleZライブラリを使ったリサイズフィルタ zscale
scale と同じようにリサイズ出来るフィルタだが、それとは別のリサイズ方法 point, spline16, spline36 が使える。ただし scale と比べ処理が速くないのでリアルタイムエンコード、つまり配信用途なら処理が遅くても問題ない。scale と違ってインターレース保持のリサイズは出来ない。現時点では ffmpeg の master で使える。 ffmpeg の scale...
View Article特定の区間だけフィルタを当てるタイムライン編集について
ffmpeg のフィルタの中には区間、以上、未満、毎の時間の条件をつけることができるものがある。これらをつけられるのは filters で調べたときに T と表示されるフィルタである。 ffmpeg -filters 使い方 10秒から180秒まで smartblur をかける smartblur=enable='between(t,10,3*60)' 3秒以降から curves のプリセット...
View Articleffmpeg で無限入力が可能に
今までは -loop 1 で画像の無限入力はできていたが、これからは音声や映像も無限に入力できるようになった。 対象コミット:support infinite loop for the loop option : git.videolan.org Git – ffmpeg.git/commitdiff 公式ドキュメント:Main options : ffmpeg Documentation...
View Article輝度の階調を減らして容量を減らす試み
ffmpeg のフィルタで容量を減らすと言えばたいていの場合デノイズしてのっぺりさせてきたが、今回はデノイズではなくてYチャンネル(輝度)の階調を間引いて容量を減らしてみた。この方法のデメリットはのっぺりしたりぼやけたりはしないが階調が単純化されるのでグラデーションがきれいではなくなる(バンディングがのる)のと、処理が遅いのでリアルタイムエンコード(配信)向きである。...
View Articleffmpeg 2.8.2 リリース
今回も前回同様に修正がメインで新機能は追加されていない。ショートログを見ると分かるがあまりコミットされていない。 http://git.videolan.org/?p=ffmpeg.git;a=shortlog;h=refs/tags/n2.8.2 master で新たに追加されたフィルタでブログで紹介しているのは zscale filter だけである。 Zライブラリを使ったリサイズフィルタ...
View Articleニューラルネットワーク予測を使ってインターレース解除する nnedi
ニューラルネットワーク予測のエッジ補正からインターレースを解除するフィルタ nnedi の使い方。既存のインターレース解除フィルタ yadif や w3fdif、現時点では master の bwdif に比べてかなり処理速度の遅いフィルタである。今までは AviSynth や Vapoursynth で使われているフィルタなのでそちらで検索すると使い方を調べることができる。rpow...
View Article映像の2カ所を入れ替える swaprect
指定した座標から四角い範囲を入れ替える swaprect の使い方。数値に n、t、pos が使えるので時間の経過で座標を変えることができる。 基本コマンド テストソース 左上と右下を入れ替える ffplay input -vf swaprect=w=w/2:h=h/2:x1=w/2:y1=h/2:x2=0:y2=0 左上と右下を入れ替える 右上と左下を入れ替える ffplay input -vf...
View Article指定したチャンネルの周波数帯の音量を変える anequalizer
指定したチャンネルの周波数帯の音量を変えられる anequalizer の使い方。チャンネル毎に設定でき、設定方法も直感的なので使いやすい。似たフィルタに compand があるが、こちらは DTM の設定になれている人向け。 Windows の ffmpeg で生放送する方法 : compand 基本コマンド ステレオ音声を読み込み c0(FL)の周波数4000Hzの前後100Hzを...
View Articleこもった音や割れた音に変える aemphasis
LPレコードやCDなどのフィルタカーブで強調された素材を作成または復元する aemphasis の使い方。音割れさせたりこもった音に変えたりできる。 基本コマンド ffplay input -af aemphasis=level_in=1:level_out=1:mode=reproduction:type=cd 公式ドキュメント:FFmpeg Filters Documentation ::...
View Article音量を脈打つように上げ下げできる apulsator
apulsator はオートパンやトレモロの中間的なフィルタである。ffmpeg では pan や tremolo で使える。左右のチャンネルの位相や波形をずらしたりする LFO (low frequency oscillator) を元に音量を変える。オフセットが 0 のときはトレモロと同じように左右のチャンネルを等しく変える。オフセットが 0.5...
View Article音声統計データを表示する astats
音声統計データを表示する astats の使い方。メタデータ対応しているので出力したログの加工が容易になる。 公式ドキュメント:FFmpeg Filters Documentation :: astats 基本コマンド ffprobe ffprobe -f lavfi -i amovie=input,astats=length=0.05:metadata=0:reset=0 ffprobe -f...
View Articleメタデータをコンソールに表示する metadata, ametadata
特定のフィルタで出力されるメタデータを扱うことができる metadata の使い方。ametadata も同じオプションで使うことができる。こちらはコンソールに出力するに対して drawgraph は映像にテキストやグラフで出力する。drawgraph と比べて出力範囲を指定しなくても良いので使いやすい。 メタデータを映像化する drawgraph 基本コマンド signalstats から...
View Articleループ回数を指定できる loop, aloop
ffmpeg で無限入力が可能に で追加されていたが、フィルタを掛けて加工することはできなかった。今回はフィルタ内でループするのでループ回数やループした部分にもフィルタが当てられる。 基本コマンド 1回ループして2回読み込む ffmpeg -i input -filter_complex loop=1:32767:0;aloop=1:2.14748e+009:0 オプション loop...
View Articleフィルタのベンチマークを調べることができる bench, abench
平均負荷と最大負荷、最小負荷を調べることができる。 基本コマンド 縦横半分に scale でリサイズしたベンチマーク ffplay input -vf bench=start,scale=iw/2:-1,bench=stop compand のベンチマーク ffplay input -af abench=start,compand,abench=stop Windows の ffmpeg...
View ArticleCIE 色度図を表示する ciescope
CIE 色度図を表示する ciescope の使い方。出力フォーマットは rgba64le なので余白部分をオーバーレイで透過できる。 基本コマンド ffplay input -vf ciescope=system=0:cie=0:gamuts=ntsc:s=512:i=.001:contrast=.75:corrgamma=1:showwhite=0:gamma=2.6 ffplay input...
View Article手動でフィールド処理を行う fieldhint
フィールドオーダーが予め分かっている場合に、テキストファイルに正しいフィールドオーダーを記載することでどのインターレス解除フィルタよりも高速にプログレッシブ化できる fieldhint の使い方。いわゆる手動インターレース解除フィルタである。間引くフレームも分かるので decimate ではなく trim を使うことでより正確に処理ができる。フィールドを選択できるのが fieldhint...
View Article