使う動画ファイルはh264/aacで3時間超ありファイルサイズにして6GB超ありますが、うち1か所をカットした動画を作るのに30秒ほどで完了しました。
Windows環境での作業を前提に記載しています。
準備
この記事ではffmpegというコマンドラインツールがインストールされ、パスが通っている状態での説明になっています。
(もし入っていない場合はffmpegのzipを入手して、解凍して、binフォルダを動画の作業フォルダにしてしまって、
以降のffmpeg
コマンドを./ffmpeg
コマンドとして読み替えるのが手っ取り早いです。)
適当な作業用フォルダにsource.mp4
というファイル名で配置します。
そのフォルダの何もないところをShift+右クリックして、
(Windows11の場合)「Windowsターミナルで開く」を選択します。
(Windows10の場合)「PowerShellウィンドウをここで開く」を選択します。
ffmpeg
とコマンドを打ってバージョン情報などが出ることを確認します。
AパートBパートを切り出し
今回source.mp4の10秒~20秒の間を削除した動画を作りたいとして、カット部分より前をAパート、後ろをBパートとして2ファイルに切り分けます。
ffmpeg -i source.mp4 -c copy -to 0:00:10 video-A.mp4
ffmpeg -i source.mp4 -c copy -ss 0:00:20 video-B.mp4
結合
ffmpegではここが少し手間で、結合したいファイルを列挙したテキストファイルをlist.txt
として設置します。
file video-A.mp4
file video-B.mp4
テキストファイルが用意できたらAとBを結合したvideo-AB.mp4
を生成します。
ffmpeg -f concat -i list.txt -c copy video-AB.mp4
補足:複数個所のカット
中間を切り出す時は-to
と-ss
両方指定します。
ffmpeg -i source.mp4 -c copy -ss 0:10:00 -to 0:20:00 video-B.mp4
list.txt
側も3ファイル以上列挙されることになります。
あるいはvideo-AB.mp4
をsource.mp4
にリネームして同じ手順を実行することもできます。