ffmpegで動画や音声の一部分を切り出すには、ssオプションとtオプションを利用します。
- ss: 切り出し開始時間(秒)
- t: 切り出す時間(秒)
例1
ある動画を、開始1分の場所から10分間切り出す場合の例です。ss=1分x60秒=60、t=10分x60秒=600になります。
ffmpeg -ss 60 -i original.mp4 -vcodec copy -t 600 output.mp4
例2
ある動画を、開始5分の場所から開始20分の場所まで切り出す場合の例です。tは終了時間と開始時間から計算する必要があるので、スクリプトを使った方が簡単です。スクリプト例:cut_mp4.sh
#!/bin/sh
fin=$1
fout="$fin_out.mp4"
stime=$(( $2 * 60 ))
t=$(( $3 - $2 ))
duration=$(( $t * 60 ))
echo $duration
ffmpeg -ss $stime -i $fin -vcodec copy -t $duration $fout
スクリプトに、入力ファイル、切り出し開始時間(分)、切り出し終了時間(分)を順に指定して実行します。
$./cut_mp4.sh ./input.mp4 5 20