No Such Blog or Diary
ffmpeg がごちゃごちゃしてくる
- 2020-06-14 (Sun)
- 一般
背景画像にオーバーレイで動画を2つスケーリングしつつ入れて,さらに別の静止画をある程度の後に2枚オーバーレイするということをした.これでもワンライナーで済むあたりが ffmpeg の素晴らしさに違いない:ffmpeg -y -f image2 -r 30 -loop 1 -i background.PNG -i mov1.mp4 -i mov2.mp4 -f image2 -r 30 -loop 1 -i face1.PNG -f image2 -r 30 -loop 1 -i face2.PNG -filter_complex "[1:0]scale=720:405 [ov1],[2:0]scale=720:405 [ov2],[3:0]scale=300:300 [ov3],[4:0]scale=300:300 [ov4],[0:0][ov1]overlay=215:616[bgov1],[bgov1][ov2]overlay=1180:616[bgov1ov2],[bgov1ov2][ov3]overlay=enable='between(t,5,9)':x=215+(720-300)/2:y=616+(405-300)/2[bgov1ov2ov3],[bgov1ov2ov3][ov4]overlay=enable='between(t,2.4,9)':x=1180+(720-300)/2:y=616+(405-300)/2" -t 9 result.mp4
まあ,もうちょい読みやすいコードからワンライナーに変換しろよと思わなくもない.そういう言語あるのだろうか.
なお,drawtext で顔文字を上手く出せなかったのがオーバーレイしまくりの原因.とりあえず別に画像用意してオーバーレイしちゃえば済むので安直にそれで解決した.もうちょいマシな解決は今後の課題.
- Comments: 0
- TrackBack (Close): -
ソニーのSDカードの無償交換
- 2020-06-13 (Sat)
- 一般
SF-M/SF-G のタフ仕様の一部製品に「記録済みデータを破壊する」という不具合があるらしく,無償交換の連絡が来た.手元のやつは無償交換対象だった.なんと面倒な.
ということで,情報の書いてあったソニーのページからオンラインチャットによるサポートへ飛ぶ.そして自動応答のチャットで選択肢を選んですすんでって,最後に住所とかの情報を入れて申し込み完了.あとは 1週間ほどで返送用の封筒が来るらしいので,それにカードを入れて返したら新しいのがやってくる(更に1週間後).
とりあえず封筒来たら中身を消すのを忘れないようにせねば.
- Comments: 0
- TrackBack (Close): -
三脚のパーツが壊れる
- 2020-06-12 (Fri)
- 一般
三脚の壊れたパーツを 3Dプリンタで印刷したのが 4年前.そして今日,とうとうそのパーツが割れた.耐久度4年.十分な活躍に感謝.
ということで,改めてパーツを印刷 & 組込み.印刷時間を含めてトータル20分程度.これでまた暫く仕事してくれると期待.
- Comments: 0
- TrackBack (Close): -
疲れた
- 2020-06-11 (Thu)
- 一般
うん,トータル2分の発言内容を丸暗記して何も見ずにトチらず想定ペースで出力するのは難しい.疲れた.
だがしかし,ジンバルの電池切れましたとか常識的にはありえん態度だと思う.
- Comments: 0
- TrackBack (Close): -
また面倒ごとが降ってくる
- 2020-06-10 (Wed)
- 一般
10年分のアドホックな対処のツケ(?)のせいでメンドイ.とりあえずもっと早くに情報よこせやという感想.
- Comments: 0
- TrackBack (Close): -
ffmpeg をちょっと覚える
- 2020-06-09 (Tue)
- 一般
ちょっと ffmpeg つかう用事があったので使い方を学んだ.
とりあえずライムラプス的な連番の画像を動画にしてみる.-f image2 で入力を画像だと指定した上で -r 30 を -i の前において入力フレームレートを指定.これをしとかないと 24fps とかにされてしまう.あとは普通のオプション: ffmpeg -y -f image2 -r 30 -i ./image%03d.jpg -vcodec libx264 -pix_fmt yuv420p -an -r 30 ./movie.mp4
1枚の画像を流し続けるだけの動画を作る.基本的に -loop つけてループしとけばいい: ffmpeg -y -f image2 -r 30 -loop 1 -i hoge.png -vcodec libx264 -pix_fmt yuv420p -an -r 30 -t 6 ./hoge.mp4
そしてど真ん中にキャプションを半透明黒の背景付きで入れてみる.filter_complex で何でもできる気分.WSL で Windows のフォントを使う感じで: ffmpeg -y -i ./movie.mp4 -filter_complex "drawbox=w=350:h=200:x=(iw-w)/2:y=(ih-h)/2:t=max:color=black@0.4,drawtext=fontfile=/mnt/c/Windows/Fonts/UDDigiKyokashoN-B.ttc:text=ほげ:fontcolor=white:fontsize=192:x=(w-text_w)/2:y=(h-text_h)/2" ./movie-cap.mp4
さらに同じサイズの4つ動画を 2x2 に積む.ついでに境目に白い線を引いとく(極細の長方形を描く):ffmpeg -y -i movie1.mp4 -i movie2.mp4 -i movie3.mp4 -i movie4.mp4 -filter_complex "[0:0][1:0]hstack[top];[2:0][3:0]hstack[bot];[top][bot]vstack,drawbox=w=iw:h=8:x=(iw-w)/2:y=(ih-h)/2:t=max:color=white,drawbox=w=8:h=ih:x=(iw-w)/2:y=(ih-h)/2:t=max:color=white" ./movie-2x2.mp4
最終的に,filter_complex 芸に走れば色々何でもできそうだという結論.便利.
- Comments: 0
- TrackBack (Close): -