動画圧縮
bsahd.icon
コーデック
h.264がおすすめ
互換性
もちろんだ
速度
x264はかなり早いので、実時間の5倍ほどで変換ができる Theora+Vorbis(ogg)
互換性
mp4ほどではないがほとんどのPC・スマホで再生できる
圧縮率はH.264より低い
最初
ffmpeg -i ${入力ファイル名}
解像度
4:3
240p -s 320x240
360p -s 480x360
480p -s 640x480
720p -s 960x720
16:9の映像の上下余白をつけるとき
-vf setsar=1,pad=y=-1:aspect=4/3
コーデック指定 -c:v libx264 -c:a aac -aac_coder twoloop
-c:v libopenh264 -c:a aac -aac_coder twoloopの場合、x264ではなくopenh264が使われる VP8(webm) -c:v libvpx -c:a libopus
遅い場合は-cpu-used <0-5 大きいほど早く、低画質>
theora -c:v libtheora -c:a libvorbis
画質指定 -b:v 映像bitrate -b:a 音声bitrate
合計256kbps-b:v 208k -b:a 48k
1分辺り1920KB(キロバイト)
低画質(240p)
合計96kbps -b:v 64k -b:a 32k -r 15
1分辺り720KB(キロバイト)
実際には144p相当の画質になる
ただ、解像度が高いと動きが少ない場面で文字が見やすくなる
かなり画質が悪くなるため、フレームレートを下げる
合計128kbps -b:v 96k -b:a 32k
1分辺り960KB(キロバイト)
一時間撮ってもたったの60MB
高画質 480p -b:v 448k -b:a 64k
合計512kbps
1分辺り3840KB(キロバイト)
高画質 720p -b:v 704k -b:a 64k
合計768kbps
1分辺り5760KB(キロバイト)
フレームレート -r XX
10fps 限界
15fps ギリギリ滑らかに見える
24fps
30fps 一般的な動画
ビットレートが低いときは15~20fpsほどまで下げたほうがいいかも
チューニング(x264)
-tune <type>
film – 高画質の実写動画用;少ないデブロッキング
animation – アニメーション用; 多くでブロッキングを使いさらに追加の参照フレームを使う
grain – ざらざらの残るフィルム
stillimage – スライドショーなど
fastdecode – 携帯電話など低スペックの再生機器向け。画質は悪くなる
zerolatency – 高速エンコードと低遅延ライブ用
psnr – 開発用
ssim – 開発用
最後 ${出力ファイル名}
遅いPCの場合-preset fasterをつける(x264の場合)
openh264の場合は使えない
-preset [ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo]
サンプル
360p
$ ffmpeg -i ${入力} -vf scale=-2:360 -c:v libx264 -c:a aac -aac_coder twoloop -b:v 208k -b:a 48k ${出力}