我只想弄清楚如何使用FFmpeg旋转图像。但问题是当Filename包含 “%” 符号时。那个命令不起作用。
ffmpeg -y -i '/mypath/Prat%eek.jpg' -vf transpose=2 '/mypath/Prat%eek.jpg'
答案 0 :(得分:2)
根据documentation of ffmpeg,我们提到每个特殊字符%*?[]{}
都应该由%
转义。
所有glob特殊字符%*?[] {}必须以"%"为前缀。逃避文字"%"你应该使用" %%"。
所以上面的命令应该是
ffmpeg -y -i '/mypath/Prat%%eek.jpg' -vf transpose=2 '/mypath/Prat%%eek.jpg'
修改强>
在linux上使用上面的命令后我发现它无法正常工作,在文档中也提到了
例如,模式foo - %*。jpeg将匹配以" foo - "为前缀的所有文件名。并使用" .jpeg"和foo - %?%?%?. jpeg将匹配所有前缀为" foo - "的文件名,后跟三个字符的序列,并以" .jpeg"终止。
所以我尝试了这个命令,
ffmpeg -y -i '/mypath/Prat%?eek.jpg' -vf transpose=2 '/mypath/Prat%%eek.jpg'
以上命令有效。
修改强>
我没有在任何文档中发现源文件名应该以其他方式转义,并且目标路径应该以其他方式转义但是根据上述命令工作,我想是的,
?
符号(在转义字符之后)转义所有源路径。%
转义。