ffmpeg で Twitter に投稿できる PNG に変換する


普通の PNG で投稿しても画質の悪い JPEG に変換されるのでこれを透過PNG で投稿することで PNG のまま投稿できる。

コマンド例

コマンドの説明
nullsrc:映像のテストソース。テストソースの中では一番負荷が軽い
scale2ref:映像フィルタ。2入力して、相手側の解像度に合わせることができる
lutrgb:映像フィルタ。特定のRGBに色を変更する
overlay:映像フィルタ。2映像を重ねる
alphamerge:映像フィルタ。2入力して、2入力のグレースケール具合で1入力を透過させる
palettegen:映像フィルタ。最大256色のパレットを作る
paletteuse:映像フィルタ。パレットから元映像を減色する

24bit透過PNG
ffmpeg -i input -f lavfi -i nullsrc=d=1:s=1x1 -filter_complex [1:0]split[a][b];[a][0:0]scale2ref[a0][0];[a0]lutrgb=r=255:g=255:b=255[a1];[b]lutrgb=r=254:g=254:b=254[b0];[a1][b0]overlay=format=rgb[ab];[0][ab]alphamerge output.png
バッチファイル

8bit透過PNG(減色するので容量が減る)
ffmpeg -i input -filter_complex palettegen palette.png
ffmpeg -i input -i palette.png -filter_complex paletteuse 256colors.png
ffmpeg -i 256colors.png -f lavfi -i nullsrc=d=1:s=1x1 -filter_complex [1:0]split[a][b];[a][0:0]scale2ref[a0][0];[a0]lutrgb=r=255:g=255:b=255[a1];[b]lutrgb=r=254:g=254:b=254[b0];[a1][b0]overlay=format=rgb[ab];[0][ab]alphamerge output.png

バッチファイル

関連記事

比較する動画の解像度に合わせる scale2ref
Windows の ffmpeg で生放送する方法 : オーバーレイ
Windows の ffmpeg で生放送する方法 : LUT(ルックアップテーブル)
ffmpeg で 256色を最適化する:高画質アニメGIFを作る方法

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)