Dateiname zitiert in ffmpeg concat


12

Ich möchte Dateien mit ffmpeg mit Concat Demuxer verketten, wie in diesem Artikel beschrieben. So verketten (verbinden, zusammenführen) Mediendateien . Meine Dateien enthalten jedoch einfache Anführungszeichen (Apostrophe). Meine concat.list sieht also so aus:

file 'artist's song.mp3'
file 'artist's song 2 .mp3'

Wie Sie sehen können, widerspricht der Apostroph in der Mitte des Dateinamens dem Format der Concat-Datei. Das Setzen von Backslash hilft nicht, da ffmpeg den Dateinamen literarisch liest und sich beschwert, dass die Datei nicht existiert. Als zusätzliches Detail verwende ich ffmpeg mit cygwin unter Windows 7.

Antworten:


13

Sie müssen alles in einfache Anführungszeichen setzen und jedes einzelne Anführungszeichen mit umgehen

'\''

Damit,

foo'bar test.mp4

würde angegeben werden als:

file 'foo'\''bar test.mp4'

Sie können sich vorstellen, dass die Zeichenfolge dort geteilt wird, wo das erste Paar einfacher Anführungszeichen endet und später fortgesetzt wird:

'foo'   \'   'bar test.mp4'

Dies wird auch in der Dokumentation erklärt :

Das Anführungszeichen selbst kann nicht in Anführungszeichen gesetzt werden. Daher müssen Sie möglicherweise das Anführungszeichen schließen und es maskieren.

und dieser Fehlerbericht .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.