映像、音声情報を映像に表示する graphmonitor, agraphmonitor

ffmpeg 4.1 から使えるフィルタ。フィルタ間のフレーム数、時間、解像度、フォーマット、フレームレートを映像に表示するgraphmonitor, agraphmonitorフィルタの使い方。文字の描写にdrawtextフィルタを使わないので、fontconfig 関係のライブラリが不要。出力フォーマットは rgba になるのでoverlayフィルタを使うと透過して下の映像が映る。

基本コマンド

ffplay -i input -vf graphmonitor=s=hd720:o=0.9:m=full:f=queue
ffplay -i input -vf graphmonitor

公式ドキュメント:FFmpeg Filters Documentation : graphmonitor, agraphmonitor

Continue reading “映像、音声情報を映像に表示する graphmonitor, agraphmonitor”

解像度が一致しなくても映像を並べられる xstack

ffmpeg 4.1から使えるフィルタ。overlay, stackフィルタを合わせたようなxstackフィルタの使い方。解像度が異なっていても使えるのが特徴で、上下左右にも映像の上にも重ねられる。重なる順番は1入力から順に上に重なる。余白部分は1入力が YUV なら [0:0:0] の濃い緑、RGB なら [0:0:0] の黒になり、フレームレートが一致しないと小さい方に合わされる。解像度が異なる複数画像を並べるのに便利。余白部分の色はfill指定できるようになった

overlayフィルタのように映像の上に重ねることもできるが、透過情報は引き継げないのできれいに色が抜けない。overlayフィルタよりも処理が早いので透過させないならこちらの方がよいが、overlay_opencl, overlay_qsvが使えるのならその限りではない。

Continue reading “解像度が一致しなくても映像を並べられる xstack”

2018年10月のニコ生統計

集計期間は週間のニコ生統計の1ヶ月分である。2018年からカテゴリタグの割合は今までと変わらないが、1枠30分の割合が少なくなったので来場者数とコメント数の6000以上を除かないすべての放送を対象にした。それに伴い平均値は除外した。来場者数はTS視聴可能時間が来れば増え、TS来場者数を含まずに計算することは困難な仕様なので、翌日(当日)の朝に前日の6時から当日の6時までを取得している。

全放送を対象にしたので改めて以前の放送のデータを使って調べ直している。

2018年9月25日から2018年10月1日までの間、ログイン不要で生放送が見られるようになっているのでいつも以上に来場者数が多くなっている。

【10/1更新】【ニコニコ生放送】来場者数集計方法変更のお知らせ|ニコニコインフォ

Continue reading “2018年10月のニコ生統計”

ffmpeg で動画にロゴ画像を追加し透過させる

具体的にはoverlayフィルタを使って画像を映像の上に載せるが、そのままだと画像が透過しないのでformatフィルタでアルファチャンネルを追加し、lutyuvフィルタで透過具合を指定する。画像が動画よりも縦横のどちらかの解像度が超えている場合は予めリサイズするか、フィルタで小さくする。

ロゴ画像がアニメGIF、アニメPNGの場合は、-ignore_loop 0を入力ファイルの前に付ける。

プレビュー例。
ffmpeg -re -i movie.mp4 -loop 1 -i input.jpg -filter_complex [1]format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -an -f sdl -

透過64でオーバーレイ、big buck bunny

アニメGIFの場合。
ffmpeg -re -i movie.mp4 -ignore_loop 0 -i input.gif -filter_complex [1]format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -an -f sdl -

動画で出力。
ffmpeg -i movie.mp4 -loop 1 -i input.jpg -filter_complex [1]format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -c:a copy output.mp4

画像を半分にリサイズする。
ffmpeg -i movie.mp4 -loop 1 -i input.jpg -filter_complex [1]scale=iw/2:ih/2,format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -c:a copy output.mp4

左上を基準で半分にクロップする。
ffmpeg -i movie.mp4 -loop 1 -i input.jpg -filter_complex [1]crop=iw/2:ih/2:0:0,format=yuva420p,lutyuv=a=64,[0]overlay=x=10:y=20 -c:a copy output.mp4

Adding GIF as Watermark and Loop FFMPEG – Stack Overflow

ffmpeg 4.1 リリース

2019年7月9日 4.1.4 がリリースされた。更新が空いたので 4.2 が来るかと思ったがまだ 4.1 系列のリリースとなった。アップデート内容は修正ばかりで新しいフィルタは入ってない。

Changelog: update – ffmpeg.git/commitdiff
git.videolan.org Git – ffmpeg.git/shortlog : n4.1.4

Continue reading “ffmpeg 4.1 リリース”

2018年9月のニコ生統計

集計期間は週間のニコ生統計の1ヶ月分である。2018年からカテゴリタグの割合は今までと変わらないが、1枠30分の割合が少なくなったので来場者数とコメント数の6000以上を除かないすべての放送を対象にした。それに伴い平均値は除外した。来場者数はTS視聴可能時間が来れば増え、TS来場者数を含まずに計算することは困難な仕様なので、翌日(当日)の朝に前日の6時から当日の6時までを取得している。

全放送を対象にしたので改めて以前の放送のデータを使って調べ直している。

2018年9月25日から2018年10月1日までの間、ログイン不要で生放送が見られるようになっているのでいつも以上に来場者数が多くなっている。

【10/1更新】【ニコニコ生放送】来場者数集計方法変更のお知らせ|ニコニコインフォ

Continue reading “2018年9月のニコ生統計”

2018年8月のニコ生統計

集計期間は週間のニコ生統計の1ヶ月分である。2018年からカテゴリタグの割合は今までと変わらないが、1枠30分の割合が少なくなったので来場者数とコメント数の6000以上を除かないすべての放送を対象にした。それに伴い平均値は除外した。来場者数はTS視聴可能時間が来れば増え、TS来場者数を含まずに計算することは困難な仕様なので、翌日(当日)の朝に前日の6時から当日の6時までを取得している。

全放送を対象にしたので改めて以前の放送のデータを使って調べ直している。

Continue reading “2018年8月のニコ生統計”

2018年7月のニコ生統計

集計期間は週間のニコ生統計の1ヶ月分である。2018年からカテゴリタグの割合は今までと変わらないが、1枠30分の割合が少なくなったので来場者数とコメント数の6000以上を除かないすべての放送を対象にした。それに伴い平均値は除外した。来場者数はTS視聴可能時間が来れば増え、TS来場者数を含まずに計算することは困難な仕様なので、翌日(当日)の朝に前日の6時から当日の6時までを取得している。

全放送を対象にしたので改めて以前の放送のデータを使って調べ直している。

Continue reading “2018年7月のニコ生統計”

フレームがインターレースかどうかを調べる idet

入力フレームがインターレース、プログレッシブ、トップフィールドファースト(tff)、ボトムフィールドファースト(bff)のどれであるかを調べるidet(interlace detect type) フィルタの使い方。また、隣り合うフレーム間で重複するフィールド(テレシネのサイン)も調べられる。

櫛状態を調べる方法にfieldmatchフィルタのcombdbgでデバグログを調べることもできる。
前後フィールドを考慮して逆テレシネするfieldmatch

Continue reading “フレームがインターレースかどうかを調べる idet”