mieki256's diary



2021/07/03() [n年前の日記]

#1 [love2d] ffmpeg勉強中

RGBA動画(UtVideoフォーマットの.avi)の透明部分を、ffmpegだけを使って黒くしてRGB動画として出力できないか試しているところ。以前は AviUtl + 拡張編集プラグインを使って作業したけど、ffmpeg を使って同じことができれば自動化できそうだなと。

環境は、Windows10 x64 20H2 + ffmpeg version 4.4-full_build-www.gyan.dev。

以下の説明ページを参考にしながら作業中。

_透過部分だけに色を付ける | ニコラボ
_映像の上に映像をのせる overlay | ニコラボ

しかし、上手く行かない…。30フレームある動画が、31フレームの動画として出力されてしまったり、UtVideoで出力しようとすると RGB にならなかったりで。

以下のページを参考にしてフレームレートの指定を色々試してたら、それらしい動画が出力できた。

_ffmpeg でのフレームレート設定の違い | ニコラボ

ffmpeg -framerate 60 -i black.png -r 60 -i rgba.avi -filter_complex "overlay=x=0:y=0" -vcodec utvideo rgb.avi
おそらくだけど、-framerate 60 や -r 60 を入れる位置によって結果が変わるのだろうなと…。

ただ、RGB動画として出力したいのに、RGBA動画として出力される点は変わらず。

ダメな指定。 :

フレームレートだかフレーム数だかがおかしなことになってしまった際の指定は以下。
ffmpeg -i rgba.avi -filter_complex "color=000000,format=rgb24[c];[c][0]scale2ref[c][i];[c] [i]overlay=format=auto:shortest=1,setsar=1" -vcodec utvideo -r 60 -pix_fmt rgb24 rgb.avi

ffmpeg -i black.png -r 60 -i rgba.avi -filter_complex "overlay=x=0:y=0" -vcodec utvideo -r 60 rgb.avi

ffmpeg -i black.png -framerate 60 -i ..\render\%04d.png -filter_complex "overlay=x=0:y=0" -vcodec utvideo -r 60 rgb.avi
ちなみに、black.png は、1280x720、黒一色(RGB=0,0,0)のpng画像。

以上です。

過去ログ表示

Prev - 2021/07 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project