2021年10月19日火曜日

FFmpegとpythonで指定範囲の動画を切り取る

FFmpegとpythonで指定時間範囲の動画を切り取るには、以下のサンプルプログラムのようにvideo/audioでそれぞれtrim/atrimしてsetpts/asetptsを実行します。

サンプルプログラム

ffmepg-pythonがインストールされた仮想環境の作成方法は「FFmpegをPythonから操作できるffmpeg-pythonをインストールした仮想環境を作成し、動画形式変換する」を参考にしてください。
以下の例では動画の10秒目から1秒間の動画を切り取ります。

ffmpeg_trim.py
import ffmpeg

input = ffmpeg.input('./lake.mp4')
video = (
    input
    .trim(start=10, end=11)
    .setpts('PTS-STARTPTS')
)
audio = (
    input
    .filter('atrim', start=10, end=11)
    .filter('asetpts', 'PTS-STARTPTS')
)
ffmpeg.output(video, audio, './lake_1sec.mp4').run()

・実行方法
以下のコマンドを実行して、サンプルプログラムを実行します。
python ffmpeg_trim.py

0 件のコメント:

コメントを投稿