MiniTool MovieMaker(無料で使いやすい動画エディタ)によるこの投稿では、FFmpegを使って動画を高速化する方法を学ぶことができます。具体的には、適切なコマンドを使用して動画の再生速度を変更します。

FFmpegで動画を高速化しようとしていますか?FFmpegは動画を含むマルチメディアデータを扱うオープンソースのクロスプラットフォームソフトウェアです。しかし、コマンドラインインターフェースに不慣れな場合、動画の高速化のような簡単な操作でさえも戸惑うことがあります。

そこでこのチュートリアルでは、手順を簡単なステップに分けることで、より簡単に操作できるようにしました。FFmpegを初めて使う方でも、このソフトの正しいコマンドを理解することで、動画映像を高速化したり、タイムラプス効果を作ったり、再生時間を短くしたりすることができるようになります。

FFmpegで動画を高速化する方法

FFmpegを使用して動画を高速化するには、各動画フレームのプレゼンテーションタイムスタンプ(PTS)を操作する必要があります。PTSは、再生中に各フレームが表示されるタイミングを決定し、これらのタイムスタンプを変更することで、動画の速度を制御することができます。

これを行うには、主に2つの方法があります。Setpts動画フィルターを使用するか、動画をrawビットストリームフォーマットにエクスポートし、新しいタイムスタンプを使用して再マックスします。

方法1:Setpts動画フィルター

FFmpegでは、setpts(set presentation timestamp)フィルターは、動画フレームのPTS値を調整することができるツールです。PTSを設定することで、FFmpegで動画を効率的にスピードアップまたはスローダウンすることができます。これは、あなたが提供する数式に基づいてフレームのタイムスタンプを変更します。

例えば、動画の速度を2倍にするには、PTSを元の値の半分にスケーリングします:

ffmpeg -i input.mp4 -vf “setpts=0.5PTS” output.mp4

コマンドの各要素は、次のことを示します:

  • -i input.mp4は入力動画の名前です。
  • -vf “setpts=0.5PTS”は、setptsフィルターを使用してPTSを元の値の0.5倍に設定し、再生速度を2倍にします。
  • output.mp4は出力動画を指定します。
  • setpts=0.5PTS式は、PTSを0.5倍に設定します。つまり、すべてのフレームが2倍の速さで表示され、動画ファイルは2倍速で再生されます。

しかし、setptsフィルターを適用すると、動画の速度が変更されるだけで、オーディオは変更されないことを覚えておくことが重要です。(加速された動画と同期しないので)オーディオトラックも削除したい場合は、以下のように-anオプションを使うことができます:

ffmpeg -i input.mp4 -vf “setpts=0.5PTS” -an output.mp4

一方、動画の速度を元のレートの60倍など大幅に上げるには、“setpts=PTS/60”コマンドを入力すればよいです。このコマンドはPTSを60で割るので、動画は60倍の速さで再生されます:

ffmpeg -i input.mp4 -filter:v “setpts=PTS/60” -an output.mp4

FFmpegで動画を60倍にスピードアップし、特定のFPS(この場合は24FPS)で再生するために再サンプルするには、次のようにコマンドに“fps=24”を含めることができます:

ffmpeg -I input.mp4 -filter:v “setpts=PTS/60,fps=24” -an output.mp4

VLCは動画の再生速度を上げられますか?詳しいガイドはこちらです!
VLCは動画の再生速度を上げられますか?詳しいガイドはこちらです!

VLCメディアプレーヤーで動画の再生速度を調整できますか?VLCで動画再生を高速化する方法は?この投稿は複数の方法を提供します。

もっと見る
提示:
ちなみに、MiniTool MovieMakerは、動画をスピードアップまたはスローダウンするための簡単で手頃なソリューションです。

MiniTool MovieMakerクリックしてダウンロード100%クリーン&セーフ

方法2:Rawビットストリーム

FFmpegで動画を高速化するもう一つの方法は、rawビットストリームを使うことです。これは、動画ストリームをそのままに、動画フレームのタイムスタンプのみを変更するロスレスプロセスです。この方法は、動画の品質やコンテンツに他の変更を加えることなく、再生速度を変更する必要がある場合に最適です。次の操作を行ってください:

ステップ1. 動画をrawビットストリーム形式にコピーする

まず、動画ストリームをrawビットストリーム形式にコピーします。このプロセスでは、新しいタイムスタンプを作成しながら、動画ファイルをFFmpegが簡単に作業できる形式に変換します。

例えば、H.264でエンコードされた動画の場合、以下のコマンドを入力します:

ffmpeg -i input.mp4 -map 0:v -c:v copy -bsf:v h264_mp4toannexb raw.h264

このコマンドは、入力ファイル(input.mp4)から動画ストリームを抽出し、rawビットストリーム形式(この例ではraw.h264)に変換するので、動画の内容は変更されません。

ステップ2. 新しいタイムスタンプをコンテナにマキシングして作成する

動画をrawビットストリームに変換した後、rawストリームをMP4などのコンテナ形式にマキシングして戻すことで、新しいタイムスタンプを作成することができます。このステップでは、希望の再生フレームレートを指定し、出力動画の速度を決定します。例えば:

ffmpeg -fflags +genpts -r 30 -i raw.h264 -c:v copy output.mp4

このコマンドでは:

  • -fflags +genptsはFFmpegに新しいPTS値を作成させます。
  • -r 30は、再生フレームレートを30 FPSに調整します。出力動画の速度を制御するために値を設定することができます。
  • -c:v copyは、動画ストリームが再エンコードされずにコピーされ、元の品質を保持するようにします。

-rの値を変更することで、希望する再生速度を実現できます。フレームレートを上げると動画が速くなり、フレームレートを下げると遅くなります。

クイックガイド:FFmpegで動画を垂直または水平に反転する方法
クイックガイド:FFmpegで動画を垂直または水平に反転する方法

FFmpegをご存知ですか?今すぐこの記事をチェックして、FFmpegツールで動画を反転する方法を学びましょう。

もっと見る

結論

FFmpegで動画を高速化する方法は?上記のように、setpts動画フィルターまたはrawビットストリームを使用することで実現できます。

  • linkedin
  • reddit