【ffmpeg】倍速再生できる動画にエンコードする

1.5倍速にエンコードする場合には音声の atempo を1.5倍にして、映像の pts を1.5(3/2)の逆数の2/3を指定する。
注:atempoの値に分数は使えない。
注:atempoの値は 0.5 から 2.0 までしか使えないが、多重掛けができるので特に制限はない


pts については以下を参照

コマンド例
ffmpeg -i in.mp4 -vf "setpts=2*PTS/3" -af "atempo=1.5" -vcodec libx264 -preset medium -vprofile main -qmax 51 -qmin 10 -keyint_min 0 -strict -2 out.mp4

倍速動画を作るときにエンコード時間を短くしたい場合は
  • プリセットを軽めにする -preset fast
  • フレームレートを規定値より少なくする -r 20(fps=20)
  • 解像度を小さくする -vf scale=640:360(640x360)
    sar を固定して縦幅360pに固定する場合は -vf scale=-1:360

コマンド例
ffmpeg -i in.mp4 -vf "scale=640:360,setpts=2/3*PTS" -af "atempo=1.5" -vcodec libx264 -preset fast -vprofile main -qmax 51 -qmin 10 -keyint_min 0 -r 20 -strict -2 out.mp4

追記 2013年3月17日 訂正 2013年7月23日
ffplay: add -af option · e96175a · FFmpeg/FFmpeg · GitHub より ffplay で -af が使えるようになったので ffplay 単独で再生速度を 0.5 から 2.0 まで 自由に変えることができるようになった。

1.5 倍速度の再生コマンド
ffplay -i input -vf "setpts=2*PTS/3" -af "atempo=1.5"

追記 2013年7月23日
4 倍速度の再生コマンド
ffplay -i input -vf "setpts=1*PTS/4" -af "atempo=2,atempo=2"

関連記事
初版 2012年10月30日

修正 2016年10月28日
setpts の設定方法が分母に PTS を掛けているように見えるのを分子に掛けているように直した
関連記事

この記事へのコメント

管理人のみ通知 :

トラックバック


ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
プロフィール

Author:ロベルト
お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab
ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
ニコニコ静画
アニメカテゴリ毎時ランキング
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)
アクセス数