2016-04-01 116 views
2

我只是想出如何用FFmpeg旋轉圖像。但問題是當文件名包含「%」符號。那麼這個命令不起作用。用ffmpeg旋轉圖像

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 - %*。j peg將匹配以「foo-」爲前綴且以「.jpeg」結尾的所有文件名,並且foo - %?%?%?. jpeg將匹配以「foo-」爲前綴的所有文件名,後跟一系列三個字符,並以「.jpeg」結尾。

所以,我想用這個命令,

ffmpeg -y -i '/mypath/Prat%?eek.jpg' -vf transpose=2 '/mypath/Prat%%eek.jpg'

上面的命令奏效。

編輯

我沒那個源文件名應該被轉義一些其他的方式和目的地路徑上的任何文件中找到需要轉義其他方式,但按照上面的命令工作,我是這麼認爲的,

  • 使用工作在單個文件上的ffmpeg命令時,通過使用?符號(轉義字符後)應該轉義所有源路徑。
  • 目的地路徑應該在目標路徑中被%轉義。
+0

它不工作。沒有找到這樣的文件。 – Prateek

+0

@Prateek我編輯的答案將工作 – dbw