1. カメラ
  2. カーオーディオ・エレクトロニクス
  3. ホームオーディオ
  4. パーソナルオーディオ
  5. テレビ
  6. スマートホーム
  >> 電子技術 >  >> カメラ >> アクションカメラ

FFMPEGを使用してビデオをクリップするにはどうすればよいですか?

FFMPEGは、最初から終了してからトリミングするか、タイムスタンプを使用して特定のセクションを選択するかどうかに応じて、ビデオをクリップするいくつかの方法を提供します。最も一般的な方法は次のとおりです。

方法1:最初から/または終了からトリミング( `-ss`および` -to`を使用)

これは、最初および/または終了からビデオをトリミングするための最も簡単な方法です。 `-ss`は開始時間を設定し、` -to`は終了時間を設定します。 どちらも多種多様な時間形式を受け入れます(以下を参照)。

* 最初からのトリム:

「バッシュ

ffmpeg -i input.mp4 -ss 10 -to 30 output.mp4

`` `

このコマンドは、10秒から始まり、30秒で終了する「input.mp4」をトリミングします。

* 最後からのトリム:

「バッシュ

ffmpeg -i input.mp4 -ss 0 -to 20 output.mp4

`` `

このコマンドは、最初から「input.mp4」をトリミングします。

* 開始と終了の両方をトリム:

「バッシュ

ffmpeg -i input.mp4 -ss 10 -to 60 output.mp4

`` `

このコマンドは、「input.mp4」を10秒から60秒にトリミングします。

メソッド2:タイムスタンプを使用して特定のセクションを選択します(「-ss」を使用して、より正確な形式で `-to`)

より正確な制御のために、「HH:MM:SS.MS」形式を使用して時間を指定できます。

「バッシュ

ffmpeg -i input.mp4 -ss 00:00:10 -to 00:00:30 output.mp4

`` `

これは、方法1の最初の例と同等です。分数秒(ミリ秒)を使用することもできます。

方法3:より効率的なトリミング( `-i`の前に` -ss`を使用)

大きなファイルの場合、「-i`入力ファイルの前に「-ss」を配置すると、不要なフレームが解読されないため、大幅に効率的です。 これは、より長いビデオに強くお勧めします。 ただし、精度を求めることはわずかに正確ではない場合があります。

「バッシュ

ffmpeg -ss 10 -i input.mp4 -to 30 output.mp4

`` `

`-ss`および` -to`:によって受け入れられた時間形式

* `hh:mm:ss.ms`(hours:minutes:seconds.milliseconds)、` 01:23:45.123`

* `mm:ss.ms`(議事録:seconds.milliseconds)、` 02:15.500`

* `ss.ms`(seconds.milliseconds)、` 10.750 `

* `ss`(秒)、` 10`

重要な考慮事項:

* キーフレーム: FFMPEGは、より良い品質のためにキーフレームでカットしようとします。キーフレームではない時間を指定すると、最寄りのキーフレームが見つかり、クリップの長さがわずかに異なる場合があります。 `-copyts`オプションを使用すると、タイムスタンプを保存できますが、常に完全に機能するとは限りません。

* ファイルサイズ: ビデオをトリミングすると、新しいファイルが作成されます。 出力ファイルのサイズは、クリップの長さによって異なります。

* エラー処理: コマンドを実行した後、エラーを確認することをお勧めします。 タイムスタンプが無効である場合、または入力ファイルが存在しない場合、エラーが表示される場合があります。

`input.mp4`および` output.mp4`を実際のファイル名に置き換えることを忘れないでください。 ニーズに最適な方法を選択し、編集を実行する前に元のビデオをバックアップすることを常に忘れないでください。