0

私はビデオを持っています:

video1 - 923 秒

ビデオ 2 - 1457 秒

ビデオ 3 - 860 秒

これらのビデオをカットして、長さを 600 秒に修正する必要があります。しかし、難しいのは、スキームの下でそれらをカットする必要があることです

ビデオ

どこ :

  1. 青いセグメントは常に 120 秒 (固定) です。

  2. カットする必要がある赤いセグメント。

  3. カットしてはいけない緑色の部分。

その後、新しい 600 秒のビデオで青と緑のセグメントに参加する必要があります。例

ビデオ

ビデオ 1、ビデオ 2、ビデオ 3 の長さが異なるため、赤と緑のセグメントの長さは異なる必要があり、ビデオの長さに等しく比例する必要があります。

純粋な ffmpeg (avconv) コマンドまたは bash スクリプトが必要です。作り方のアイデアがありません。

4

1 に答える 1

1

おそらくこれを行う最も簡単な方法は、編集決定リスト (EDL) を作成することです。これを使用して、最終的なビデオを作成できます。私はffmpeg/avconvについて知りませんが、mplayer/mencoderそれらをかなり処理します。ドキュメントを参照してください。

EDL を作成するには、次のような関数を使用します。

make_edl() {
 DUR=$1
 PRE=$2
 SLICES=$3
 POST=$4
 ## get the duration of the cut-up pieces
 SNIPPET=$(((DUR-PRE-POST)/SLICES))
 START=$PRE
 STOP=$((DUR-POST))

 curr=$START

 while [ $curr -lt $STOP ]; do
   currstop=$((cur+SNIPPET))
   if [ $currstop -gt $STOP ]; then
     currstop=$STOP
   fi
   echo "${curr} $((curr+SNIPPET)) 0"
   curr=$((curr+2*SNIPPET))
 done
}

# ...

## the following create an EDL for a 923sec movie,
## where we have 120sec of intro, than 31 alternating slices
## and 120sec of outro
make_edl 923 120 31 120 > myedl.txt

## apply the EDL
mencoder -edl myedl.txt input923.mov -o output923.mov

bash 演算 (整数のみ) の制限により、これはあまり正確ではありません。

于 2013-06-27T10:21:57.187 に答える