自分用のメモなので大した情報はないです
- Raspberry Pi 3 B+ Rev 1.2
- 1280x720 の動画のエンコードをギリギリリアルタイムでできる程度の能力しかない
- 電源も大した電圧用意できなかったので変えたら変わるかも
- 今回実験で使ったのが Docker なので直に動かしたらもうちょっと改善する?
- ただCPUパフォーマンスを考えると Raspberry Pi 4 とかにするほうがいろいろ手っ取り早い気もする
- ffmpeg
- on Docker
- linuxserver/ffmpeg
docker run --rm -it -e TZ=Asia/Tokyo -v $(pwd):/mnt --entrypoint /bin/bash linuxserver/ffmpeg
- 等倍速モードにするやつ
- 入力に対してエンコードが早くできると困るときに使う
- 使用する場面としては生配信のエンコードぐらいしか思いつかないが
- input
- Video Filterの略 ここ以下になんか色々足していくので読みづらくなる
- 描画エフェクトを複数指定できる
- エフェクト同士の区切りは
,
- エフェクトのオプションに関する区切りは
:
- ネットに転がってるエフェクトを見ると一見難しそうだが↑がわかれば何をしているかが一目瞭然
図形描画
y=(ih-h)
- 出現する箱の y point (縦位置) の指定
ih
は Input Height = 入力している動画の高さh
は Height = 自分自身の高さ
w=iw
- 出現する箱の width (幅)
iw
は Input Width = 入力してる動画の幅
h=110
- 出現する箱の height (高さ)
t=fill
thickness
の略らしい- 数値を指定すると border の幅を指定できる的な雰囲気を感じた
fill
にすると塗りつぶし
color=black@0.8
- 出現する箱の色
@
以降の数値は不透明度
文字描画
fontfile=/mnt/Cica-Bold.ttf
- フォントファイル
- 日本語とかもいけるっぽい
fontsize=30
- フォントサイズ
textfile='/mnt/insert.txt'
- これでテキストファイルを入力することができる
reload=1
- エンコ中にテキストファイルの更新をすると動画内のテキストも切り替える
fontcolor=white@1
- テキスト色指定
@
以降の数値は不透明度
x=w-mod(4*n\,w+tw)
- テキストの x position = 横位置
- このコマンドではスクロールするようにしている
w-mod
は計算式をこういい感じにする4*n
でn
の4倍速でスクロールw
は Width で入力している動画の幅tw
は Text Width の略
y=(h-th/2)-40
- テキストの y position = 縦位置
h
は Height で入力している動画の高さth
は Text Height の略
bordercolor=black@0.8
- 縁取りの色
borderw=1
- 縁取りの太さ