今回、とあるウェブサービスを実装するにあたり動画を圧縮する必要が出てきた。
圧縮すると画質は劣化するけど、容量を抑えるためには必須だよね。
それで
・サーバー上で実行できること
・コマンドラインで実行できること
・情報が豊富であること
の3拍子揃ったFFMPEGを使うことにした。
使い方はとってもシンプルだった。
mp4 から webm への変換は
$ ffmpeg -i input.mp4 output.webm
これだけ少し待てば output.webm が生成される。
容量はテスト動画だと2分の1になった。
画質は少し文字が見にくくなっている(ぼやけてる)
人によっては嫌う。
この処理をバックグラウンドで非同期に行うには
$ nohup ffmpeg -i input.mp4 output.webm > /dev/null &
でOK
> /dev/null はログを捨てていて
& で非同期にさせている