我遇到了变量中空格的一些问题:
ALBUM=' -metadata album="Peregrinações Alheias"'
这个命令:
ffmpeg -i $R_IMG -r 1 -b 1800 -i $SOUND -acodec libmp3lame -ab 128k "$ALBUM" -y $OUT
返回:
Unable to find a suitable output format for ' -metadata album="Peregrinações Alheias"'
如果我从变量中取出“”:
ffmpeg -i $R_IMG -r 1 -b 1800 -i $SOUND -acodec libmp3lame -ab 128k $ALBUM -y $OUT
返回:
Unable to find a suitable output format for 'Alheias"'
而且我确定我在 bash 语法中遗漏了一些东西......
更新:
所以看起来问题不在于空格,而在于“-metadata”参数......
问题是我有很多元数据,我想将它们放在一个变量中。像这样:
META=' -metadata album="Peregrinações"-metadata title="Passeio ao PETAR"-metadata author="Rogério Madureira"-metadata date="2012"-metadata description="Áudio de um passeio ao PETAR"-metadata comment="Áudio capturado com TACAM DR-07MKII e Foto capturada com Canon PowerShot S5IS"'
然后:
ffmpeg -i $R_IMG -r 1 -b 1800 -i $SOUND -acodec libmp3lame -ab 128k $META -y $OUT
最佳答案
Bash 将引号中的单词解释为单个参数。尝试
ALBUM='album="Peregrinações Alheias"'
ffmpeg -i $R_IMG -r 1 -b 1800 -i $SOUND \
-acodec libmp3lame -ab 128k -metadata "$ALBUM" -y $OUT
关于bash - 变量中的空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10143700/