web-dev-qa-db-ja.com

ファイルの変数を使用したスクリプト

私のPCには、短くしたいビデオがいくつかあります。たとえば、15秒から20秒までのセクション(5秒のビデオ)が欲しい30秒のビデオがあります。これをカットするには、avconvを使用します。

avconv -i input.mp4 -ss 15 -acodec copy -vcodec copy -t 5 output.mp4

このコマンドはかなりうまくいきます。同じようにカットしたい動画がたくさんあります。これが、入力名、カットの開始、カットの長さ、出力名の情報を含むテキストファイルを作成した理由です。それらはin.txtに書き込まれ、次のようになります。

input.mp4 15 5 output.mp4
input1.mp4 32 10 output1.mp4
input2.mp4 10 7 output2.mp4
...

私の質問は次のとおりです:ビデオを自動的にカットするためにavconvコマンドをどのように変更する必要がありますか?私が試したのはこれですが、まったく機能しませんでした。

avconv -i $1 -ss $2 -acodec copy -vcodec copy -t $3 $4 < in.txt

何か案が?

5
Nooster

Bashでは、私は次のようなものを提案します

while read -r infile ss t outfile; do 
  avconv -i "$infile" -ss "$ss" -acodec copy -vcodec copy -t "$t" "$outfile"
done < in.txt
6
steeldriver