[Mac] ffmpeg で動画のトリミングを一括処理する

Hitoshi Arakawa | 2024/05/31 Fri 04:04

動画の最初の 70 秒、および最後の 70 秒をカットしたい状況になった。動画は大量にある。

環境:
・macOS Ventura 13.5(英語環境)

以下のサイトに従えばできた。

ffmpeg で指定時間でカットするまとめ | ニコラボ
https://nico-lab.net/cutting_ffmpeg/

(1)今回は最初のカットは秒数で指定し、最後の部分のカットはタイムコードで指定することにした。すなわち最初は 70 秒までをカットし、最後は僕の場合 10 分 35 秒後以降をカットする。以下のようなコマンドとなる。

$ ffmpeg -ss 70 -to 10:35 -i in.mp4 -c copy output.mp4

(2)指定ディレクトリ内の複数の動画に対して一括処理するには以下のようなシェルスクリプトを作成する(trim.sh と名付けよう)。

#!/bin/sh
DIRPATH=$1

for FILE in ${DIRPATH}*.mp4
do
ffmpeg -ss 70 -to 10:35 -i "${FILE}" -c copy "${FILE%.mp4}v2.mp4"

done

(3)2に実行権限を与える。

$ sudo chmod 755 trim.sh

(4)実行する。

$ ./trim.sh

Amazon.co.jp: 新しいLinuxの教科書 第2版 eBook : 三宅 英明, 大角 祐介: 本
https://amzn.to/4c3laG1