この質問にはすでに答えがあります:
- ffmpegを使用してビデオ 7の回答 を切り取る
30分のビデオファイルがありますが、00:09:23から00:25:33までのビデオを抽出したいです。
で開始位置を定義できますが-ss
、終了位置の開始位置が見つかりませんでした。助けてください?
この質問にはすでに答えがあります:
30分のビデオファイルがありますが、00:09:23から00:25:33までのビデオを抽出したいです。
で開始位置を定義できますが-ss
、終了位置の開始位置が見つかりませんでした。助けてください?
回答:
必ず最新バージョンのffmpeg
をダウンロードし、ディストリビューションに付属しているバージョン(Ubuntuなど)は使用しないでください。さまざまなディストリビューションのパッケージバージョンは多くの場合古く、期待どおりに動作しません。
または、自分でコンパイルします。
これを使用して、ビデオを[start]
for から切り取り[duration]
ます。
ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4
ここで、オプションの意味は次のとおりです。
-ss
開始時間を指定します。例:00:01:23.000
または83
(秒)-t
クリップの長さを指定します(同じ形式)。 ffmpeg
には、終了時間を提供するフラグもあり-to
ます。-c copy
最初のビデオ、オーディオ、字幕ビットストリームを、再エンコードせずに入力から出力ファイルにコピーします。これにより品質が損なわれることはなく、コマンドが数秒以内に実行されます。-c copy
オプションを省略すると、選択ffmpeg
した形式に従って出力ビデオとオーディオが自動的に再エンコードされます。高品質のビデオとオーディオについては、それぞれx264エンコーディングガイドとAACエンコーディングガイドをお読みください。
例えば:
ffmpeg -ss [start] -i in.mp4 -t [duration] -c:v libx264 -c:a aac -strict experimental -b:a 128k out.mp4
今、次のコマンドを使用できると思います。
ffmpeg -i inputFile -vcodec copy -acodec copy -ss 00:09:23 -to 00:25:33 outputFile
見た目も持っているffmpegのドキュメント、またはこのwikiページを。
ffmpeg -i inputFile -c copy -ss 00:09:23 -to 00:25:33 outputFile
簡単なバージョン
ffmpeg -ss 00:01:00 -i video.mp4 -to 00:02:00 -c copy -copyts cut.mp4
バージョンを使用する必要がありました(で-copyts
)、それ以外の場合は間違ってカット(最初に黒い画面)2番目のリンクをありがとう。
これは、誰もtrim
フィルタを提案しなかったという奇妙なことです。
入力の2分目を除くすべてをドロップします。
ffmpeg -i INPUT -vf trim=60:120
最初の1秒のみを保持します。
ffmpeg -i INPUT -vf trim=duration=1
2番目の13から2番目の58までを除くすべてをドロップします。
ffmpeg -i INPUT -vf trim=13:58 OUTPUT
trim
とatrim
。私は通常、フィルタリング時にこれらを使用しますが、ユーザーはフィルタリングが再エンコードを必要とすることに注意する必要があります。
これらの2つの方法は、WindowsとLinuxで機能します。
ffmpegでビデオファイルを分割する方法は2つあります。最初のものはそれ自体でそれよりも優れています-より高速ですが、特定の欠陥を持つ出力ファイルを作成する場合があります。そのため、これらのケースでは、ビデオファイルを分割する2番目の方法があります。かなり遅く、出力ファイルは大きくなりますが、使用される入力ファイルと常に同じ品質レベルであるようです。
方法1:
ffmpeg -ss <start> -i in1.avi -t <duration> -c copy out1.avi
方法2:
ffmpeg -ss <start> -i in1.avi -t <duration> out1.avi
<start>
–ビデオffmpegの一部の始まりは切り取ることです。形式:00:00:00.0000
、時間:分:秒:ミリ秒を意味します。
<duration>
–ビデオffmpegの一部の期間は切り取られます。上記と同じ形式。例:
ffmpeg -ss 01:19:00 -i in1.avi -t 00:05:00 -c copy out1.avi ffmpeg -ss 01:19:00 -i in1.avi -t 00:05:00 out1.avi
ffmpegは、1時間19分0秒からビデオファイルの一部を切り取ります。ビデオシーケンスの切り取り時間は5分0秒です。