ffmpegを使って動画の一部分を切り出す・分割する

   

時間指定で切り出す

秒数指定

-ssで開始時間、-tで出力時間を指定します。
0:30から1分間切り出す場合。

ffmpeg.exe -ss 0:30 -i input.mp4 -t 1:00 -vcodec copy -acodec copy output.mp4
-ss-iより前に指定しないと動画の後半にフレームが出力されない。
確認バージョン:ffmpeg-20180921-c02ff77-win64-static
-vcodec copyはビデオコーデックを変更しないという指定です。-acodec copyはビデオコーデックを変更しないという指定です。

区間指定

-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

 - 未分類 ,