最近、PCでゲームをプレイすることが多いのですが、どうせならと録画しながらやることが多くなってきました。
が、録画していることを忘れてゲームに熱中すると、録画した動画データが10時間超え、とかざらにあるわけです。
流石に10時間もの動画データをそのまま再生しようとするとプレイヤー処理も重いですし、編集等しようものならソフトウェアによっては読み込んでくれないものもあります。
ので、今回は長尺動画データを分割して保存する方法を整理したいと思います。
まあ、ほぼ自分用ですが・・・
ffmpegで動画分割
今回動画の分割に使用するソフトウェアは「ffmpeg」です。
昔からある動画編集(?)ソフトで、簡単な編集であればこのソフトウェア1つで十分です。
また、CLIで使用できるのがかなり大きいですね。
長尺動画をGUIでカット等しようとするとかなり処理が重い場合がありますから・・・
インストール方法
まずはffmpegの公式サイトにアクセスします。
すると、トップに以下の表示があると思いますので、Downloadをクリック。

ダウンロードページに推移するので、Windows用のものをダウンロードします。
Windowsのアイコンにマウスカーソルを合わせて、下に表示されるWindows Buildsをクリックします。
すると、ダウンロードページその2が表示されます。

以下画像の緑枠の部分で、試用しているOSを選び、Download Buildsをクリック。
するとffmpegのダウンロードが開始されます。

解凍するとこんな感じ。
bin以下にffmpeg本体があるので開きます。


そのままでも一応使えないこともないのですが、使いやすくするために
ffmpeg.exeをC:\Windows\System32にコピーしておくと楽です。
※以降手順ではC:\Windows\System32配下にffmpeg.exeがある前提で記載しております。

これでffmpegのインストールは完了です!
分割手順
まずはコマンドプロンプトを開きます。
※開き方はググってください。Windowsでcmdと検索すれば出てくるはず。

そしてcmdにて以下のコマンドをたたきます。
C:\Windows\System32\ffmpeg.exe -ss [切り出し開始時間(HH:MM:SS)] -t [切り出し終了時間(HH:MM:SS)] -i [読み込む動画ファイルパス] -vcodec copy -acodec copy [保存するファイルパス]
今回は以下の動画(E:\Videos\SavedMovie\Remnant-Win64-Shipping.exe\remnant01.mp4)の00:00~30:00を抽出したい。

ので、コマンドはこんな感じです。
C:\Windows\System32\ffmpeg.exe -ss 00:00:00 -t 00:30:00 -i E:\Videos\SavedMovie\Remnant-Win64-Shipping.exe\remnant01.mp4 -vcodec copy -acodec copy E:\Videos\SavedMovie\Remnant-Win64-Shipping.exe\remnant01-01.mp4
これで、
E:\Videos\SavedMovie\Remnant-Win64-Shipping.exe\remnant01.mp4 の
00:00~30:00の範囲を
E:\Videos\SavedMovie\Remnant-Win64-Shipping.exe\remnant01-01.mp4 として出力する
みたいなコマンドになります。
実際に実行してみるとこんな感じ。

んで、無事に完了するとこんな感じで出力されます。

これを、次は00:30:00~01:00:00、01:00:00~01:30:00と動画の最後まで繰り返すことで動画の分割ができます。
「え、結局手動かよ、なんか自動的にやってくれないの?」
って思う方もいると思いますが、CLIで操作できるので自分でスクリプトを組めばそういう自動化もばっちり可能です。
これはGUIでの動画編集ソフトにない強みですね。
まとめ
- 長尺動画データはffmpegで簡単に分割可能。
- CLI操作なのでスクリプト作成も容易
取りあえずpythonにもffmpegを利用するモジュールみたいなのがあるっぽいので、作成したら公開しようと思います。
コメント
-t は終了時刻でなく、切り出す長さですよ。