FFmpegで動画ファイルから開始位置から終了位置までの一部を切り取る
30分の動画ファイルがあるのですが、00:09:23から00:25:33までの動画を切り取りたいのですが
開始位置は-ss
で定義できるのですが、終了位置のものが見つかりませんでした。何かご参考になれば幸いです。
30分の動画ファイルがあるのですが、00:09:23から00:25:33までの動画を切り取りたいのですが
開始位置は-ss
で定義できるのですが、終了位置のものが見つかりませんでした。何かご参考になれば幸いです。
必ず 最新版のffmpeg
をダウンロードしてをインストールしてください。
ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4
ここで、オプションの意味は以下の通りです:
[start]
は開始時刻を指定します。 [duration]
はクリップの持続時間を指定します(同じフォーマット)。 -ss
で終了時間を指定するフラグもあります。これにより、品質を損なうことなく、数秒以内にコマンドを実行することができます。 再エンコードしてカットするには 00:01:23.000
オプションを省略すると、83
は自動的に選択したフォーマットに従って出力されたビデオとオーディオを再エンコードします。高品質のビデオとオーディオを使用するには、 x264 エンコードガイド と AAC エンコードガイド を参照してください。
例:
ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4
あなたはこれらを使用することができます WindowsとLinuxで動作する2つの方法
ffmpegでビデオファイルを分割する方法は2つあります。最初のものは、それ以上に、それ自体は良いです - それはより高速ですが、時には特定の欠陥を持つ出力ファイルを作成します。だから、これらのケースのためにビデオファイルを分割する第二の方法があります:それはかなり遅いですが、出力ファイルが大きくなっていますが、それは彼らが使用される入力ファイルと同じ品質レベルの常にあるようです。フォーマット:
<start>
、時:分:秒:ミリ秒を意味します。
00:00:00.0000
- ビデオffmpegの部分の持続時間を切り出します。上記と同じ形式です。例:
ffmpeg -ss <start> -i in1.avi -t <duration> -c copy out1.avi
ffmpegは1時間19分0秒から始まる動画ファイルの一部を切り出します。切り出した動画の持続時間は5分0秒です。
ffmpefで動画をカットするには、以下のような構文を使っています:
ffmpeg -sameq -ss [start_seconds] -t [duration_seconds] -i [input_file] [outputfile]
-tは秒単位で時間を設定します。