行の読み取り中に関数を実行しようとしています。関数には、2 つのファイルをマージするための ffmpeg コマンドが含まれています。しかし、何らかの理由で最初$line
に実行され、ループから抜け出します。
「$filesList」には 3 行が含まれています。何が問題なのかわかりませんが、エコー "$OFILE" で、ffmpeg コマンドを実行するとオープナー関数が 3 回comment out
実行され、ffmpeg コマンドは 1 回だけ実行されることを確認できwith
ます。
opener(){
OFILE="$1"
echo "$OFILE"
ffmpeg -i $opener_path -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate1.ts
ffmpeg -i $OFILE -c copy -bsf:v h264_mp4toannexb -f mpegts intermediate2.ts
ffmpeg -i "concat:intermediate1.ts|intermediate2.ts" -c copy -bsf:a aac_adtstoasc merge_$OFILE
mv merge_$OFILE $OFILE
rm intermediate1.ts intermediate2.ts
}
while read line; do
if [ -e "$line" ]; then
opener "$line"
fi
done <<< "$filesList"