1

行の読み取り中に関数を実行しようとしています。関数には、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"
4

1 に答える 1