グレイはカットしない部分で、ブラックがカットする部分。copyすれば無劣化になり、コーデックを指定すれば再エンコードになる。[duration] は秒時間指定と、hh:mm:ss 指定が出来る。4番目はプレイヤで再生しているときの再生時間でカットするのに便利なコマンド。
こちらも参照
詳細な分割設定ができる Segment
ffmpeg で指定秒ごとに分割する方法
ffmpeg で時間単位やフレーム単位でカットする方法
ファイルを連結してつなげる場合はこちらを参照
concat を使い分ける
-
最初から最後まで出力する。つまりカットしない
ffmpeg -i input.mp4 -c copy output.mp4
-
開始0秒から指定秒間を出力する
ffmpeg -i input.mp4 -t [duration] -c copy output.mp4
-
開始指定秒までカットし、最後まで出力する
ffmpeg -ss [duration] -i input.mp4 -c copy output.mp4
-
開始指定秒までカットし、指定した再生時間まで出力する。ここの to は秒時間よりも hh:mm:ss のほうが使いやすい
ffmpeg -ss [duration] -to [hh:mm:ss] -i input.mp4 -c copy output.mp4
-
開始指定秒までカットし、指定秒間を出力する
ffmpeg -ss [duration] -i input.mp4 -t [duration] -c copy output.mp4
-
開始指定秒までカットし、最後も指定秒([back-duration]-[front-duration] )カットして出力する。詳しくはここ
ffmpeg -ss [front-duration] -i input.mp4 -ss [back-duration] -i input.mp4 -c copy -map 1:0 -map 0 -shortest -f nut - | ffmpeg -f nut -i - -map 0 -map -0:0 -c copy output.mp4
-
開始0秒から、最後から指定秒までを出力する
ffmpeg -i input.mp4 -ss [back-duration] -i input.mp4 -c copy -map 1:0 -map 0 -shortest -f nut - | ffmpeg -f nut -i - -map 0 -map -0:0 -c copy output.mp4
-
最後から指定秒さかのぼり、最後まで出力する。sseof はマイナス時間を指定
ffmpeg -sseof -[duration] -i input.mp4 -c copy output.mp4
-
最後から指定秒さかのぼり、指定秒間を出力する
ffmpeg -sseof -[duration] -i input.mp4 -t [duration] -c copy output.mp4
公式ドキュメント:ffmpeg Documentation : Main options