一定間隔で動画を切り出すPythonスクリプトの話
バイク走行映像の切り出しツーリング動画を作るとき、その切り出し作業をiMovieでポチポチと行っていた。これが結構つらいので『自動で行えないか』といろいろ漁ったところ、ffmpegがあるのを思い出した。ffmpegを使って一定間隔で動画を切り出すPythonスクリプトを作るぞという話。
成果物
できたものがこちら。(2025/02/15更新)
準備
brew install ffmpeg
ffmpegをインストールする。(Macの場合)
pip install ffmpeg-python
pipでffmpeg-pythonをインストールする。
(2025/02/15更新)↑不要になった。ffmpeg-pythonが-c=copyのオプションを渡せないので、subprocess.runでffmpegを実行している。
使い方
python ./video_cut.py 動画ファイル 切り出し時間 切り出し間隔 -o 出力ディレクトリ(オプション)
これで一定間隔で動画が切り出される。
例
python ./video_cut.py sample.mp4 3 20 -o out
sample.mp4を20秒ごとに3秒ずつ切り出して、outディレクトリに切り出した動画を出力する。
出力ファイル名
sample_0.mp4
sample_20.0.mp4
sample_40.0.mp4
sample_60.0.mp4
...
出力ファイル名に切り出し頭の時間が入る。
切り出して作った動画
まとめ
#18まで手作業で切り出してた。