2011年まで「俺的な非 UN*X 環境をめざして」という題でしたが、 「UNIX系」と「非UNIX系」の区別がだんだん難しくなってきましたので、 あれこれ区別しないことにしました(^_^;
[前] SSH/SCPをWin10で! 2020/10a |
[ [memo] FFmpeg 自分用覚書 ] のページ、ときどき 追記してるんですけど。その結果、ちょっと分量が多くなりすぎたかなー、と感じましたので、 一部内容を切り出して別ページにしました。それが本ページです。
[Table of Contents]
ただ何回もこれ繰り返してると、徐々に画質が落ちていく気がするんだよな‥と、 それが気になるときには出力する動画の画質を指定する -crf nn オプションを 指定するといいのかな? 指定しないときは -crf 21 で、ここで指定する数字の 値が小さくなるほど画質は良くなります。
ところで、動画の音声を埋め込む方(小さいほう)にしたいときは "-map 1:a:0" オプションを 付ければいい‥のかな? (私の理解では、"-map 1:a:0" というのは(数字は0から始まるのを前提として)「1番目の入力ファイルのa(udio)を0番目の出力ファイルのa(udio)として割り当てる」という意味になるはずです)
[Table of Contents]
んで。たとえば、四角い動画を埋め込むんじゃなくて、角をとった丸い感じ、 もしくは四隅を斜めに落とした八角形の動画を埋め込みたい、なんてときは埋め込み動画を ちょっと加工するといいのかな? 具体的には、まず右図右のような画像ファイル mask.png を用意する。 これはWindows標準装備の「ペイント」アプリで作ってみたものである。 mask.png は縦横のドット数が埋め込み動画(右図左)と同じであり、 埋め込み動画の中では使われていないはずの色(ここでは赤)で外枠を作ってある。
まずこの PNG ファイルの白部分を透過加工する。オレ的にいちばん楽なのは ImageMagick の convert コマンドを使う方法。 こんな感じ:
これで元画像の白部分が透過となった maskt.png というファイル(右図左)が作成されるので、これを使って元動画 in.mp4 から枠付きの動画を作成する。こんな感じ:
ここでは動画をいろいろ用意するのが面倒なので in.mp4 に box-src.mp4 を埋め込むことにしたいんだけど、 そのために box-src.mp4 の縦横ドット数を半分にした埋め込み用の動画 box-small.mp4 を臨時に作成する。こんな感じ:
こうして用意した in.mp4 と、赤枠付きの小さい動画 box-small.mp4 (右図左)は 以下のようにして合成可能。この結果、内容は同じで解像度だけが異なる2つの動画が 合成された動画 out.mp4 (右図右)が生成される。 合成した場所にうっすらと赤が残ってますけど、とりあえずそれは気にしない方向で‥
[次] [memo] FFmpeg 自分用覚書 2020/09b |