Cytowanie nazw plików w concat ffmpeg

12

Chcę połączyć pliki z ffmpeg przy użyciu demuxera Concat, jak opisano w tym artykule Jak połączyć (połączyć, scalić) pliki multimedialne . Moje pliki zawierają jednak pojedyncze cudzysłowy (apostrofy). Więc moja concat.list wygląda następująco:

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

Jak widać apostrof znajdujący się na środku nazwy pliku powoduje konflikt z formatem pliku konkat. Umieszczenie odwrotnego ukośnika nie pomaga, ponieważ ffmpeg odczytuje literaturę pliku i narzeka, że ​​plik nie istnieje. Jako dodatkowy szczegół używam ffmpeg z cygwin pod Windows 7.

Tihomir Mitkov
źródło

Odpowiedzi:

13

Musisz umieścić wszystko w pojedyncze cytaty i uciec od każdego pojedynczego cytatu

'\''

Więc,

foo'bar test.mp4

byłoby określone jako:

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

Możesz sobie wyobrazić, że łańcuch jest dzielony na końcu pierwszej pary pojedynczych cudzysłowów, a następnie kontynuowany:

'foo'   \'   'bar test.mp4'

Jest to również wyjaśnione w dokumentacji :

Cytat nie może być cytowany, więc może być konieczne zamknięcie cytatu i ucieczka od niego.

i ten raport o błędzie .

slhck
źródło