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

第7回:サムネイル作成APIをJavaScriptで簡単に切り替える方法

SimpleAPIをはじめたくさんのサムネイルAPIサービス(もちろん無料)のおかげで、簡単にサイトのスクリーンショットをサムネイル画像として自分のブログに貼り付ける事ができるようになりました。すでに …

ハイビジョン映像(AVCHD)を記録するとMTSファイルになって扱いにくいのでffmpegでmp4に変換

手持ちのビデオ撮影機材が予算の関係で中古で購入したミラーレス一眼(GF1、GF3、GX1、なぜか全てPanasonic LUMIX)なんですが、高画質で録画しようとするとAVCHDのMTSファイルにな …

no image

第8回:Twitter JavaScript Badges の日付フォーマットを自由にカスタマイズ

久しぶりに twitter ネタです。 というかシツコク JavaScript badges のお話。 以前のエントリーで IE での日付表示がおかしい件に対応しました。 そのエントリーにフォローする …

no image

PHPでWEBページのタイトルを抜き出すサンプル

いきなりPHPなネタですが。 マッシュアップ系のサービスを作っていると、指定されたURLのページタイトルを取得したい時が頻繁にあります。そんな時、いわゆるスクレイピングしてタイトルを抜き出すんですが、 …

no image

ブログデザインをリニューアルしました!これからはCreazy!

1年以上も寝かし続け、いっそなかった事にしようと思っていたリニューアルをついに公開しました! 4回に渡って実施されたブログデザイン勉強会の後押しもあり、途中脳内が血みどろになるほど苦労してここまでこぎ …

スポンサードリンク

スポンサードリンク