iOS
ffmpeg
動画

iOS で撮影した動画の変換

More than 3 years have passed since last update.


基本編

iOSで撮影した動画をいろいろいじる機会があったので、メモ。

まず、Mac OS Xで動画を変換するにはffmpegが王道なのでインストール。

brew install ffmpeg --with-libvpx --with-libvorbis

※libvpxとlibvorbisをつけないと、webmの変換ができない。

動画の変換はffmpegが拡張子をみて判断してくれるので、mov→mp4 の変換は

ffmpeg -i foo.mov bar.mp4

で完了する(そして、かなりファイルサイズが小さくなるw)


縦向きで撮影した動画

iOSで縦向きで撮影した動画をそのまま変換すると、QuickTime / Safariでは縦向きで再生されるが、Chromeでは90度反時計回りになった動画が再生される。

ffmpeg -i bar.mp4

の出力結果に

rotate: 90

とあるが、rotateして表示するかどうかはクライアントによる実装に任せてあるとのこと。

そこで、

ffmpeg -vf "transpose=1" -i foo.mov bar.mp4

とすれば、Chromeで縦向きで再生されるが、今度はQuickTime/Safariで90度回転された動画が表示される。

transpose=1 + rotate=90 の結果のようだ。

というわけで、transpose=1 + rotate=0にしてあげると、すべてのブラウザで同じように表示されるはず。

ffmpeg -i foo.mov -vf "transpose=1" -metadata:s:v:0 rotate=0 bar.mp4

面倒ですね。