Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

ffmpeg 動画編集 小技集

Ffmpegで60fps動画を30fpsにスローモーション変換する(映像、音声両方)

投稿日:


FFmpegのオプションはいつまで経っても覚えられないので使ったコマンドは書いとかないと絶対忘れますね。というわけで備忘録。
アクションカメラJVC ADIXXION GC-XA2を買ったのもあって動画を撮る機会が増えましたが、あくまで安い機材で楽しんでいるので手持ちのカメラで取れる素材を加工して使ったりすることが多いです。タイムラプスやスローモーションなど速度を変える動画は面白いんですが、iMovieで単純にスローモーション変換してもゆっくりになるだけでコマ落ち感があります。GC-XA2は1080p60fpsで撮影ができるので、30fpsまで感覚を開ければそれなりにスムーズなスローモーション動画が作れるかなと思ってffmpegのコマンドを探ってみた。


結論からいうと下記のようなコマンドで成功した

ffmpeg -i INPUT.mp4 -r 30 -b:v 4000k -b:a 256k -vf "setpts=2.0*PTS" -af "atempo=0.5" OUTPUT.mp4

-b:v : videoのビットレート。指定しないと荒くなる
-b:a : audioのビットレート。videoを指定したので念のため
-vf : videoのフィルター(setptsはvideoのフレーム数を変更します。元が60fpsを30fpsにするので2.0を指定)
-af : audioのフィルター(atempoはaudioのテンポをそろえます。半分の速度にしたいので0.5を指定)
同じ「スローにする」目的なのに、フレーム数をいじる場合は倍に、テンポをいじる場合は半分にするので混乱しがちです。あとaudioのフレーム数を変更するasetptsというオプションもあったんだけど指定の仕方がわからずうまく行かなかった。
ちなみに、動作確認はMac OS X Yosemite 10.10.3、FFmpegは2.4.2でした。

$ ffmpeg -version
ffmpeg version 2.4.2 Copyright (c) 2000-2014 the FFmpeg developers

-ffmpeg, 動画編集, 小技集

執筆者:

関連記事

no image

nslookupをPHPで実装する簡単なサンプル

唐突な思い付きネタですw nslookupはDNSにドメイン情報を問い合わせるためのコマンドで、IPアドレスからホスト名を取得したり、ホスト名からIPアドレスを取得したりできる仕組みです。 すでに、W …

Ffmpegで複数動画を結合して一つの動画に出力

いつも、動画変換においてやりたいことがあってもコマンドを思い出せないFfmpeg。今回もこのごろ良く使うものを自分用のメモを兼ねて記録しておきます。

Google Analytics の検索エンジン定義と独自の検索エンジンを追加する方法

【2009/09/07:追記】 このページで解説している方法が使えなくなりました。 問題の解説と対応策は下記エントリーをご覧ください。 Google Analytics に独自検索エンジンを追加してい …

Safariでページを大回転させるブックマークレット

Safari限定ですが、WebKit transformationを使ってページの表示角度を変えられるんだそうです。 Ajaxianに出てた。Safariブラウザだけの機能。 -webkit-tran …

Raspberry Pi 4 Model B 8GBでライブ配信(1) USB接続のWEBカメラ映像をFFmpegで保存してみる

ブログご無沙汰しております。ヤガーです。 本業のWEB開発と並行して、リモートワーク推奨の影響でライブ配信などの需要が高まっており、以前よりイベントなどで配信をしていた関係で様々な形式でのライブ配信方 …

スポンサードリンク

スポンサードリンク