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

Delicious画像APIが過負荷で繋がりにくい場合のJavaScriptで対応方法

以前に、ボクが作って公開したDeliciousのブックマーク数を画像で表示するAPIですが、 ・Delicious2.0 の被ブックマーク数画像取得APIを作りました [C!] ありがたい事にものすご …

WordPressテーマ作成の第一歩。ファイル・テンプレート構造を理解する

Movable Typeでブログを続けて7年目の@yagerです。特にこのブログをWordPressに変えようとかって話ではないんですが、メインで開発している言語がPHPだったりもしますし、新しいサイ …

no image

第14回:JaikuのJavaScript BadgeをJSONから作ってみる

JaikuがGoogleに買収されるという事でにぎわっていますね。 Googleは、フィンランドのヘルシンキを拠点とするモバイルソーシャルネットワーキングプロバイダJaikuを買収する。Jaikuは、 …

Googleドキュメントのフォーム機能からGoogle Apps Scriptを使ってメール送信

【2014/12/26:追記】 この記事はGoogleの仕様変更などで内容が古くなっていたため、最新の情報で書き換えました。 リンク先の記事を参照してください。 Googleドライブのフォーム機能から …

第3回:JavaScriptで画像サイズと合ったポップアップウィンドウを開く

[追記:2008/07/04] 更に改良したスクリプトをつくりましたので下記エントリーの方を参照して下さい。 ・Re2: 第3回:JavaScriptで画像サイズと合ったポップアップウィンドウを開く …

スポンサードリンク

スポンサードリンク