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
このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

スポンサードリンク

関連コンテンツ

Comments
  1. […] FFmpeg を使って動画の一部分を切り出す/分割する | IT 底辺脱却ブログ […]

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です