ffmpegを使って動画の一部分を切り出す・分割する
ffmpegを使ってコマンドラインで動画をカットする方法。
時間指定で切り出す
秒数指定
-ss
で開始時間、-t
で出力時間を指定します。
0:30から1分間切り出すサンプル
ffmpeg.exe -ss 0:30 -i input.mp4 -t 1:00 -vcodec copy -acodec copy output.mp4
-vcodec copy
- ビデオコーデックを変更しないという指定です-acodec copy
- オーディオコーデックを変更しないという指定です
-ss
は-i
より前に指定しないと動画の後半にフレームが出力されません。確認バージョン:ffmpeg-20180921-c02ff77-win64-static
区間指定
-ss
で開始時間、-to
で終了時間を指定します。
0:30から1:30までを切り出すサンプル
ffmpeg.exe -i input.mp4 -ss 0:30 -to 1:30 -vcodec copy -acodec copy output.mp4
-ss
は-i
より後に指定しないと、-to
が1分30秒間切り出す処理になります(-t
と同じになる)。また、短い時間だと動画の後半にフレームが出力されません。
確認バージョン:ffmpeg-20180921-c02ff77-win64-static
開始時間とフレーム数で切り出す
-ss
で開始時間、-vframes
で出力するフレーム数を指定します。
0秒から100フレーム切り出すサンプル
ffmpeg.exe -ss 0 -i input.mp4 -vcodec copy -acodec copy -vframes 100 output.mp4
-ss
は-i
より前に指定しないと正しく出力されません。確認バージョン:ffmpeg-20180921-c02ff77-win64-static
開始・終了フレーム指定
-an
- 音声なしという指定です
-an
を指定しない場合、音声がそのまま出力されることで秒数がおかしくなります
音声も出力したい場合は秒数指定を使います
ffmpeg.exe -i input.mp4 -vf trim=start_frame=120:end_frame=300,setpts=PTS-STARTPTS -an output.mp4
[…] FFmpeg を使って動画の一部分を切り出す/分割する | IT 底辺脱却ブログ […]