FFmpeg "ass" -Filter funktioniert nicht

9935
TUSF

Ich habe ein Problem mit FFmpeg. Ich habe es hauptsächlich benutzt, um Clips aus Videos und so weiter zu extrahieren. Ich habe jedoch versucht, einige Untertitel (Hardsubs) in das Video einzubetten.

Die FFMpeg-Dokumentation sagte mir, ich sollte den "Arsch" -Videofilter verwenden, und ich versuchte es wie gezeigt, jedoch ohne Erfolg. Es gibt keine Veränderung. Das Video enthält keine Untertitel. Sie werden nicht einmal als Stream in der Datei angezeigt. Ich könnte den Filter ebenso nicht enthalten haben.

Dies ist die Linie, die ich verwende, die nicht funktioniert. Die Datei hat keinen Audiostrom angeschlossen.

ffmpeg -i input.webm -vf ass=subs.ass -b:v 1200K out.webm 

Ich weiß, dass die Untertitel funktionieren sollten. Wenn ich sie manuell von meinem Videoplayer lade oder sogar zusammen in die Datei muxiere, werden sie gut angezeigt. Aus irgendeinem Grund weigert sich ffmpeg jedoch, die Untertitel in das Video selbst zu brennen.

Ich bekomme jedoch einen Fehler, der normalerweise nicht angezeigt wird, und ich habe keine Ahnung, worüber er spricht.

Fontconfig-Fehler: Standard-Konfigurationsdatei kann nicht geladen werden

[Parsed_ass_0 @ 00000000042c33c0] Es wurde keine verwendbare Konfigurationsdatei für fontconfig gefunden, die Fallback verwendet.

Fontconfig-Fehler: Standard-Konfigurationsdatei kann nicht geladen werden

[Parsed_ass_0 @ 00000000042c33c0] Untertiteldatei hinzugefügt: 'subs.ass' (3 Styles, 68 Events)

Jede Hilfe in dieser Hinsicht wäre sehr dankbar. (Wenn es hilft, verwende ich die Windows-Version von ffmpeg)

Bearbeiten: Hier ist ein MediaFire-Link der ass-Datei. (Sie werden feststellen, dass die Untertitel selbst nicht so ernst sind.)

ffmpeg version N-65366-g1c59419 Copyright (c) 2000-2014 the FFmpeg developers built on Aug 6 2014 22:09:19 with gcc 4.8.3 (GCC) configuration: --enable-gpl --enable-version3 --disable-w32threads --enable-av isynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enab le-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca -- enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-lib modplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrw b --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libschroedinge r --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libtwolame --en able-libvidstab --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable- libx265 --enable-libxavs --enable-libxvid --enable-decklink --enable-zlib libavutil 52. 98.100 / 52. 98.100 libavcodec 55. 73.100 / 55. 73.100 libavformat 55. 51.101 / 55. 51.101 libavdevice 55. 13.102 / 55. 13.102 libavfilter 4. 11.102 / 4. 11.102 libswscale 2. 6.100 / 2. 6.100 libswresample 0. 19.100 / 0. 19.100 libpostproc 52. 3.100 / 52. 3.100 Input #0, matroska,webm, from 'input.webm': Metadata: encoder : Lavf55.41.100 Duration: 00:00:04.10, start: 0.000000, bitrate: 2465 kb/s Stream #0:0: Video: vp8, yuv420p, 620x924, SAR 1:1 DAR 155:231, 29.97 fps, 29.97 tbr, 1k tbn, 1k tbc (default) File 'out.webm' already exists. Overwrite ? [y/N] y Fontconfig error: Cannot load default config file [Parsed_ass_0 @ 00000000043933a0] No usable fontconfig configuration file found, using fallback. Fontconfig error: Cannot load default config file [Parsed_ass_0 @ 00000000043933a0] Added subtitle file: 'subs.ass' (3 styles, 68 events) [libvpx @ 00000000043ccf00] v1.3.0 Output #0, webm, to 'out.webm': Metadata: encoder : Lavf55.51.101 Stream #0:0: Video: vp8 (libvpx), yuv420p, 620x924 [SAR 1:1 DAR 155:231], q=-1--1, 1200 kb/s, 29.97 fps, 1k tbn, 29.97 tbc (default) Metadata: encoder : Lavc55.73.100 libvpx Stream mapping: Stream #0:0 -> #0:0 (vp8 (native) -> vp8 (libvpx)) Press [q] to stop, [?] for help frame= 7 fps=0.0 q=0.0 size= 72kB time=00:00:00.23 bitrate=2512.2kbits/s frame= 13 fps= 10 q=0.0 size= 95kB time=00:00:00.43 bitrate=1799.3kbits/s frame= 19 fps=9.7 q=0.0 size= 128kB time=00:00:00.63 bitrate=1656.4kbits/s frame= 25 fps=9.9 q=0.0 size= 144kB time=00:00:00.83 bitrate=1415.2kbits/s frame= 30 fps=9.9 q=0.0 size= 165kB time=00:00:01.00 bitrate=1351.3kbits/s frame= 37 fps= 10 q=0.0 size= 193kB time=00:00:01.23 bitrate=1281.2kbits/s frame= 42 fps= 10 q=0.0 size= 208kB time=00:00:01.40 bitrate=1216.8kbits/s frame= 48 fps= 10 q=0.0 size= 237kB time=00:00:01.60 bitrate=1213.7kbits/s frame= 52 fps= 10 q=0.0 size= 253kB time=00:00:01.73 bitrate=1196.9kbits/s frame= 57 fps= 10 q=0.0 size= 281kB time=00:00:01.90 bitrate=1211.0kbits/s frame= 60 fps=9.7 q=0.0 size= 301kB time=00:00:02.00 bitrate=1232.0kbits/s frame= 66 fps=9.9 q=0.0 size= 326kB time=00:00:02.20 bitrate=1211.3kbits/s frame= 70 fps=9.7 q=0.0 size= 347kB time=00:00:02.33 bitrate=1218.0kbits/s frame= 73 fps=9.3 q=0.0 size= 386kB time=00:00:02.43 bitrate=1297.3kbits/s frame= 78 fps=9.3 q=0.0 size= 406kB time=00:00:02.60 bitrate=1276.3kbits/s frame= 81 fps=9.0 q=0.0 size= 418kB time=00:00:02.70 bitrate=1266.3kbits/s frame= 85 fps=8.9 q=0.0 size= 441kB time=00:00:02.83 bitrate=1274.6kbits/s frame= 90 fps=9.0 q=0.0 size= 456kB time=00:00:03.00 bitrate=1243.3kbits/s frame= 94 fps=8.9 q=0.0 size= 476kB time=00:00:03.13 bitrate=1244.1kbits/s frame= 99 fps=8.9 q=0.0 size= 502kB time=00:00:03.30 bitrate=1246.1kbits/s frame= 102 fps=8.8 q=0.0 size= 510kB time=00:00:03.40 bitrate=1228.5kbits/s frame= 107 fps=8.8 q=0.0 size= 533kB time=00:00:03.57 bitrate=1224.1kbits/s frame= 113 fps=8.9 q=0.0 size= 559kB time=00:00:03.77 bitrate=1215.0kbits/s frame= 118 fps=8.8 q=0.0 size= 578kB time=00:00:03.93 bitrate=1202.5kbits/s frame= 123 fps=8.9 q=0.0 size= 603kB time=00:00:04.10 bitrate=1204.6kbits/s frame= 123 fps=8.8 q=0.0 Lsize= 604kB time=00:00:04.10 bitrate=1204.7kbits/s video:602kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.224451% 
3
Bitte geben Sie die Ass-Datei und die vollständige Ausgabe der `ffmpeg`-Konsole an. LordNeckbeard vor 9 Jahren 3
Sind Sie sicher, dass `fontconfig` sogar installiert ist? Woher hast du `ffmpeg`? In welchem ​​System bist du? Daniel B vor 9 Jahren 0
Ich habe eigentlich keine Ahnung, was fontconfig ist. Ich verwende Windows und verwende "Static" von ffmpeg, das auf der Hauptseite verfügbar ist. Hat das etwas mit dem Problem zu tun? TUSF vor 9 Jahren 0
Am sichersten. `fontconfig` dient zum Finden von Zeichensätzen (oder zum Ersetzen, wenn der angeforderte Zeichensatz nicht verfügbar ist). Die Bibliothek selbst ist mit statischen Builds eingebaut. Die Konfiguration ist jedoch nicht. Leider habe ich keine Ahnung, was ich unter Windows machen soll, sorry. Daniel B vor 9 Jahren 0
Aha. Nun, die Readme-Datei behauptet, dass der Build mit "--enable-fontconfig" konfiguriert wurde. Welche Art von Konfiguration fehlt mir genau? TUSF vor 9 Jahren 0
Funktioniert für mich unter Linux mit der ffmpeg-Version N-65350-g40a820d. Ich habe keine --enable-fontconfig. Ich bin nicht sicher, was ich für Windows-Benutzer empfehlen sollte. Möglicherweise helfen [Zeranoe FFmpeg Forum] (http://ffmpeg.zeranoe.com/forum/) oder [ffmpeg-Benutzer-Mailingliste] (http://ffmpeg.org/contact.html). Vielleicht lohnt es sich, den Filter "Untertitel" auszuprobieren, wenn dies einen Unterschied macht. LordNeckbeard vor 9 Jahren 0
Wenn Sie sowohl den Filter "ass" als auch "subtitles" verwenden, erhalten Sie dasselbe Ergebnis. nichts. TUSF vor 9 Jahren 0

1 Antwort auf die Frage

2
stib

Ich hatte auch dieses Problem. Ich denke es liegt daran, dass der statische Build, den ich für Windows habe, die fontconfig-Dateien nicht enthält.

Ich habe eine Standarddatei "fonts.conf" aus dieser Diskussion über Zeranoe FFmpeg in meinen Ordner "conf" kopiert, den ich in meinen Ordner "ffmpeg" gestellt habe, und die Umgebungsvariablen so einstellen:

FC_CONFIG_DIR=C:\Program Files\ffmpeg\conf FONTCONFIG_FILE=C:\Program Files\ffmpeg\conf\fonts.conf FONTCONFIG_PATH=C:\Program Files\ffmpeg\conf 

(Die Art und Weise, wie die Variablen für mich dauerhaft geändert wurden, bestand darin, "environment" in das Suchfeld im Windows-Menü einzugeben und "Umgebungsvariablen für Ihr Konto bearbeiten" zu wählen, oder Sie gelangen dorthin über die Systemsteuerung.)

Hier ist der Inhalt der Datei fonts.conf, die ich verwende (ich denke, das wichtigste ist der <dir>Abschnitt am Anfang. Weitere Informationen über fontconfig unter http://fontconfig.org ).

<?xml version="1.0"?> <fontconfig>  <dir>C:\WINDOWS\Fonts</dir>  <match target="pattern"> <test qual="any" name="family"><string>mono</string></test> <edit name="family" mode="assign"><string>monospace</string></edit> </match>  <match target="pattern"> <test qual="all" name="family" compare="not_eq"><string>sans-serif</string></test> <test qual="all" name="family" compare="not_eq"><string>serif</string></test> <test qual="all" name="family" compare="not_eq"><string>monospace</string></test> <edit name="family" mode="append_last"><string>sans-serif</string></edit> </match>  <alias> <family>Times</family> <prefer><family>Times New Roman</family></prefer> <default><family>serif</family></default> </alias> <alias> <family>Helvetica</family> <prefer><family>Arial</family></prefer> <default><family>sans</family></default> </alias> <alias> <family>Courier</family> <prefer><family>Courier New</family></prefer> <default><family>monospace</family></default> </alias> <alias> <family>serif</family> <prefer><family>Times New Roman</family></prefer> </alias> <alias> <family>sans</family> <prefer><family>Arial</family></prefer> </alias> <alias> <family>monospace</family> <prefer><family>Andale Mono</family></prefer> </alias> <match target="pattern"> <test name="family" compare="eq"> <string>Courier New</string> </test> <edit name="family" mode="prepend"> <string>monospace</string> </edit> </match> <match target="pattern"> <test name="family" compare="eq"> <string>Courier</string> </test> <edit name="family" mode="prepend"> <string>monospace</string> </edit> </match>  </fontconfig> 

Ich fand auch, dass der Filter Backslashes im Windows-Stil nicht mochte. Beim Tippen vf ass="..\subtitles\subs.assgab es also einen Fehler beim Öffnen des Filterfehlers, bis ich die Backslashes durch Schrägstriche ersetzt habe.