2016-04-01 35 views
2

FFmpegで画像をどのように回転するのか分かります。しかし問題は、ファイル名に"%"という記号が含まれている場合です。そのコマンドは機能しません。 documentation of ffmpeg 1としてffmpegで画像を回転

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

なぜ変換前に名前を変更して名前を変更していないのですか? –

答えて

2

それは%でエスケープする必要があります%*?[]{}特殊文字のそれぞれと述べられています。

すべてのグロブ特殊文字%*?[] {}の先頭に "%"を付ける必要があります。リテラル "%"をエスケープするには "%%"を使用します。

したがって、上記のコマンド、Linux上で上記のコマンドを使用した後

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

EDIT

である必要があり、私はそれが働いていなかった、およびドキュメントでも言及されていその

たとえば、パターンfoo - %*。j pegは "foo-"で始まるすべてのファイル名と一致し、 ".jpeg"で終了し、foo - %?%?%?.jpegは "foo-"で始まるすべてのファイル名と一致し、その後に3文字のシーケンス".jpeg"で終了します。

だから私は、上記のコマンドは働いていた、このコマンドで

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

を試してみました。

編集

私は他の方法をエスケープする必要があるソースファイル名は、他の方法と先のパスをエスケープする必要があることを任意のドキュメントで見つけることができませんでしたが、上記のコマンドの作業ごとに、私はそう思う、

  • 単一ファイルで動作するffmpegコマンドで作業する場合は、すべてのソースパスを?符号(エスケープ文字の後に)を使用してエスケープする必要があります。
  • 宛先パスは、宛先パスに%でエスケープする必要があります。
+0

その動作しません。そのようなファイルは見つかりませんでした。 – Prateek

+0

@Prateek私の編集した答えがうまくいく – dbw