ffmpeg で動画の速度変換 †ニコニコ動画に試しに動画を上げてみようか,という気分になった. 昔撮影した,林道を走るビデオがあったので,こいつをネタにしようとする. が,走っているところを延々と見せられてもだれるだけである. それじゃ早回しにしてみよう,と思いつく. で,手元にあるビデオ編集ソフト(ULEAD VIDEOSTUDIO 6)でそういう変換をさせてみようとするが…そんな機能はないようである. というわけで,ffmpeg なんだけど †というわけで,ffmpeg でそういう機能が無いか,とオプションを探してみる. 一番近そうなのは
というやつである. というわけで,やってみる. ffmpeg -r 48 -i imag0003.avi -vcodec copy -an foo.avi が,これではうまくいかない. フレームレートの設定をいろいろ変えてみて試してみた結果,この -r オプションは入力をリサンプルするだけのもののようである. つまり → t 元 A B C D E … 変換後 AAAABBBBCCCCDDDDEEEE… 欲しいもの ABCDE… 時間方向に対しての伸縮はせずに,その間の刻みを増減するだけのもののようである. 話は脱線するが,-r の値を元ビデオより小さな値にすると「コマ落とし」効果をかけることができる. 元 ABCDEF… 変換後 AACCEE… ビデオカメラで撮影した動画を 8 ミリフィルム風のちょっとカクカクした感じにする,というようなことに使えるでしょう. yuv 形式 †で,ffmpeg のマニュアルを読むと「yuv 形式」なんてのがあるようである. とりあえず,画像部だけを yuv 形式で出力させる. $ ffmpeg -i imag0003.avi imag0003.yuv で,ファイル型式を調べてみると… $ ffmpeg -i imag0003.yuv …(略)… picture size invalid (0x0) [rawvideo @ 0x4226f0e0]Could not find codec parameters (Video: rawvideo, yuv420p) imag0003.yuv: could not find codec parameters ホントに生画像列データのみのようで,画面サイズやフレームレート情報も入っていないようである. ということは,
ということになる. というわけで,試してみる. $ ffmpeg -s 320x240 -r 26.608 -i imag0003.yuv -vcodec copy -an imag0003x2.avi (元の imag0003.avi は 13.304 fps という中途半端なフレームレート) で,生成された imag0003x2.avi を再生してみると…
というわけで,動画像はおっけー. 音声の速度変換 †動画像のほうが2倍速になったのに音声がそのままでは「音ずれ」どころの騒ぎではない. というわけで,音声の方も早回しの速度変換をかけてみる. まず,元動画から音声だけを抜き取る. $ ffmpeg -i imag0003.avi imag0003.wav ここでの変換ログを見ると,imag0003.wav は
という形式になってます. Linux での場合は $ sox -r 16000 imag0003.wav imag0003x2.wav と,sox コマンドで -r オプションで入力ファイルのサンプリング周波数をオーバライドさせることで速度変換をすることができます. Windows 上では,OS 標準添付のサウンドレコーダが使えます.
で2倍速には変換できるようです. 動画像と音声のマージ †動画像と音声の2倍速変換ができたので,マージしてみます. $ ffmpeg -i imag0003x2.avi -i imag0003x2.wav -vcodec copy -acodec copy imag0003x2av.avi ここでは,この後編集ソフトでいじることを考えて,動画像も音声も無圧縮のままマージしています. ここで直に flv ファイルにしてしまいたい場合は $ ffmpeg -i imag0003x2.avi -i imag0003x2.wav imag0003x2.flv でできます. また,慣れてきたら2倍速動画像ファイル (imag0002x2.avi) の生成を省略することもできるでしょう. $ ffmpeg -r 26.608 -s 320x240 imag0003.yuv -i imag0003x2.wav \ -vcodec copy -acodec copy imag0003x2av.avi というわけで †この後編集ソフトで文字を入れて,できた動画がこれ. http://www.nicovideo.jp/watch/sm1476071 本日のツッコミ †
|