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
オプション
- size, s[image_size]
映像での出力解像度
既定値:hd720(1280×720) - opacity, o[float]
透過指定。1 が透過しない。0 が完全透過
既定値:0.9 - mode, m[int]
ログの表示指定
0, full:全部(既定値)
1, compact:一部 - flags, f[flags]
表示内容の指定。+ を先頭につける。複数指定する場合はその都度 + でつなげる - queue:フィルタ間の入力番号
- frame_count_in:入力時のフレーム数
- frame_count_out:出力時のフレーム数
- pts:pts 時間
- time:秒時間
- timebase:タイムベース
- format:フォーマット
- size:解像度
- rate:フレームレート
- rate, r[video_rate]
描写のフレームレート指定
既定値:25
応用例
rgba で出力されるので元映像に乗せた方が見やすい。
ffplay -i input -vf split[v],graphmonitor=1280x720:o=.6:f=frame_count_in+time:r=24000/1001:m=1,[v]overlay
agraphmonitor
フィルタを使う場合。
ffplay -f lavfi -i movie=input.mp4[v];amovie=input.mp4,asplit[out1],agraphmonitor=1280x720:o=.6:f=time:r=24000/1001,[v]overlay[out0]
文字の色は白のままなのでcolorkey
フィルタでバックの黒だけ透過させ、lutrgb
フィルタで別の色に変える。
ffplay -i input.mp4 -vf split[v],graphmonitor=1280x720:o=1:f=rate+size:r=24000/1001:m=1,colorkey=black,lutrgb=255:255:0,[v]overlay
ffmpeg でクロマキー合成 : colorkey
Windows の ffmpeg で生放送する方法 : lutrgb