我只是想知道如何使用FFmpeg旋转图像。但是问题是当文件名包含“%”符号时。然后,该命令不起作用。
ffmpeg -y -i '/mypath/Prat%eek.jpg' -vf transpose=2 '/mypath/Prat%eek.jpg'
根据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'
上面的命令起作用了。
编辑
我在任何文档中都没有发现应以其他方式对源文件名进行转义,而应以其他方式对目标路径进行转义,但是按照上述命令,我认为是这样,
?
当在单个文件上使用ffmpeg命令时,应使用符号(在转义字符后)对所有源路径进行转义。%
在目标路径中转义。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句