ffmpeg を使用してビデオを複数のポイントで分割する

ffmpeg を使用してビデオを複数のポイントで分割する

before the gameフットボールの試合のビデオがあります。時間をカットして、during half time最後に試合の終わりを撮りたいです。

クリップの合計長さ1h 51mまたは111m

理想的なカットと時間は次のとおりです。

+------------+-------------+---------------------+
| Start Time | Finish Time |    Clip Duration    |
+------------+-------------+---------------------+
| 1:30       |   47:30     |  47:30              |
| 53:00      |   100:00    |  47                 |
+------------+-------------+---------------------+

しかし、私のビデオは

ffmpeg -ss 00:01:30 -i Tripod_Camera.mp4 -t 00:47:30 -ss 00:53:00 -t 00:47:00 -c copy VideoClip.mp4

答え1

  1. input.txt切り取るタイムスタンプ(秒単位)を含むものを作成します。

    file 'input.mp4'
    inpoint 90
    outpoint 2850
    file 'input.mp4'
    inpoint 3180
    outpoint 6000
    
  2. 実行ffmpegして連結する連結デマルチプレクサ:

    ffmpeg -f concat -i input.txt -c copy output.mp4
    
  • この意志ストリームコピーなので、再エンコードは行われず、プロセス全体が高速になり、品質が維持されます。ただし、キーフレームでカットが行われるため、精度が十分でない可能性があります。より高い精度が必要な場合は、再エンコードを必要とする (a)trim、(a)setpts、および concat フィルターを使用するなど、はるかに遅い方法を使用する必要があります。

  • A/Vの同期がずれる場合はキーフレームのタイムスタンプを取得する、キーフレームのタイムスタンプを として使用しますinpointが、 の各inpointタイムスタンプに 0.001 を追加しますinput.txt

答え2

使用ビデオカットこれはこの目的のために私が書いたものです。独自のマルチプレクサーにより、ffmpeg よりも正確で、グラフィカル インターフェイスが提供されます。

ffmpeg (またはそのライブラリ) に基づいているため、カットはロスレスです。 ここに画像の説明を入力してください

関連情報