我正在尝试从 while read 行运行一个函数,该函数包含用于合并两个文件的 ffmpeg 命令。但由于某种原因,它首先运行,$line
然后从循环中中断。
"$filesList" 包含三行。我不确定出了什么问题,但我可以通过 echo "$OFILE" 确认,如果我comment out
使用 ffmpeg 命令,开启器函数会运行三次,并且只有一次with
ffmpeg 命令。
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"