Seu comando contém -profile:high
, que é analisado pelo FFmpeg como um nome de opção. Assim, -c:a
é analisado como seu valor. Portanto, o próximo copy
, agora visto como desemparelhado, é tratado como o nome da saída. Como não tem extensão, o FFmpeg não consegue discernir o formato do arquivo de saída.
A sintaxe correta para o perfil é -profile:v high
Então use
ffmpeg -i $1 -c:v libx264 -crf 20 -profile:v high -c:a copy -c:s copy -c:t copy $2