2017-08-28 1 views
1

Si votre nom de fichier de sous-titre est "Salut, y'all.srt", comment échappez-vous correctement à FFmpeg? La virgule fonctionne avec un backslash, mais je ne peux pas faire fonctionner la citation, peu importe les trucs que j'essaie!Echappez les caractères spéciaux dans le nom de fichier de sous-titre FFmpeg

$ ffmpeg -vf subtitles="Hi\, y\\\'all.srt" -t 1 -f null - 

ffmpeg version 3.3.3 Copyright (c) 2000-2017 the FFmpeg developers 
    built with Apple LLVM version 8.1.0 (clang-802.0.42) 
    configuration: --prefix=/usr/local/Cellar/ffmpeg/3.3.3 --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --cc=clang --host-cflags= --host-ldflags= --enable-ffplay --enable-libass --enable-libmp3lame --enable-libx264 --enable-libx265 --enable-libxvid --enable-opencl --enable-videotoolbox --disable-lzma --enable-vda 
    libavutil  55. 58.100/55. 58.100 
    libavcodec  57. 89.100/57. 89.100 
    libavformat 57. 71.100/57. 71.100 
    libavdevice 57. 6.100/57. 6.100 
    libavfilter  6. 82.100/6. 82.100 
    libavresample 3. 5. 0/3. 5. 0 
    libswscale  4. 6.100/4. 6.100 
    libswresample 2. 7.100/2. 7.100 
    libpostproc 54. 5.100/54. 5.100 
[Parsed_subtitles_0 @ 0x7fba7af36080] Shaper: FriBidi 0.19.7 (SIMPLE) HarfBuzz-ng 1.4.8 (COMPLEX) 
[Parsed_subtitles_0 @ 0x7fba7af36080] Unable to open Hi, yall.srt 
[AVFilterGraph @ 0x7fba7ad05d60] Error initializing filter 'subtitles' with args 'Hi, y\all.srt' 
Error reinitializing filters! 
Failed to inject frame into filter network: No such file or directory 
Error while processing the decoded data for stream #0:0 
Conversion failed! 

Répondre

0

Sur Windows 7, cela fonctionne:

subtitles="Hi\, y\\\'all.srt" 
+0

ne fonctionne pas sur macOS avec 1-4 antislashs. J'ai essayé toutes les autres variantes pensables comme '' subtitles = a \, '"\'" 'b.srt'', ce qui change légèrement le message d'erreur: 'Impossible d'ouvrir a, b.srt' et' Erreur lors de l'initialisation des sous-titres du filtre args 'a,' b.srt '. (Notez la citation manquante dans le premier message d'erreur.) Donc, cela semble être un bug pour moi. Qu'est-ce que tu penses? – forthrin

+0

Essayez, mais sans entourer la chaîne de filtrage entre guillemets, comme dans ma réponse. Vous êtes sur MacOS donc bash, je présume. – Mulvya

+0

Il semble qu'il manque une partie de votre réponse. Quoi qu'il en soit, j'ai essayé sans entourer les citations. Ne fonctionne pas pour n'importe quel nombre de barres obliques inverses. – forthrin