映像、音声情報を映像に表示する 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 フィルタの使い方。解像度が異なっていても使えるのが特徴で、上下左右にも映像の上にも重ねられる。余白部分は YUV なら [0:0:0] の緑、RGB なら [0:0:0] の黒になり、フレームレートが一致しないと小さい方に合わされる。

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

Windows の ffmpeg で生放送する方法 : overlay
Windows の ffmpeg で生放送する方法 : stack
qsv 対応の ffmpeg をつくる : 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 フィルタで透過具合を指定する。画像が動画よりも縦横のどちらかの解像度が超えている場合は予めリサイズするか、フィルタで小さくする。

Windows の ffmpeg で生放送する方法 : lutyuv
Windows の ffmpeg で生放送する方法 : overlay
Windows の ffmpeg で生放送する方法 : scale
Windows の ffmpeg で生放送する方法 : crop
ffmpeg を使って透過したオーバーレイ動画を作る

プレビュー例
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 -

動画で出力
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

ffmpeg 4.1 リリース

2018年11月6日に ffmpeg 4.1 al-Khwarizmi(フワーリズミー) がリリースされた。今回のリリースはメジャーアップデートとなり、セキュリティ対応や 4.0 以降に追加された新機能の中からマスターにしか追加されていなかったフィルタやエンコーダ、デコーダ等の新機能が全て取り込まれた。今回は AV1 パーサlibdav1d による AV1 デコーダ
(4.2 以降)
AV1 のビットストリームフィルタlibaomenc による AV1 エンコーダの tile サポートlibxavs2 による AVS2 エンコーダなど新しいコーデックの新機能が追加されている。

libdav1d による AV1 デコーダは 4.2 以降だったので訂正した。

前回記事
ffmpeg 4.0 リリース

RELEASE NOTES for FFmpeg 4.1 “al-Khwarizmi”

4.0 以降に取り込まれた機能の一覧
Changelog 4.0 to 4.1 < git.videolan.org Git

言及し忘れていたが configure の速度が大幅に向上している。

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) フィルタの使い方。また、隣り合うフレーム間で重複するフィールド(テレシネのサイン)も調べられる。

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