Opened 8 years ago

Last modified 8 years ago

#4465 new defect

video filter ass does not load embedded font files

Reported by: Carl Eugen Hoyos Owned by:
Priority: normal Component: avfilter
Version: git-master Keywords: ass
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no


(vlc ticket 13701)
I will attach an ass file that contains an embedded font with a logo.
mplayer -ass shows the logo in the initial subtitles, FFmpeg does not.

$ ffmpeg -f lavfi -i color=d=20 -vf ass=test.ass -qscale 2 out.avi
ffmpeg version N-71346-gdf4fca2 Copyright (c) 2000-2015 the FFmpeg developers
  built with gcc 4.7 (SUSE Linux)
  configuration: --enable-gpl --enable-libzvbi --enable-libass
  libavutil      54. 22.101 / 54. 22.101
  libavcodec     56. 34.100 / 56. 34.100
  libavformat    56. 30.100 / 56. 30.100
  libavdevice    56.  4.100 / 56.  4.100
  libavfilter     5. 13.101 /  5. 13.101
  libswscale      3.  1.101 /  3.  1.101
  libswresample   1.  1.100 /  1.  1.100
  libpostproc    53.  3.100 / 53.  3.100
Input #0, lavfi, from 'color=d=20':
  Duration: N/A, start: 0.000000, bitrate: N/A
    Stream #0:0: Video: rawvideo (I420 / 0x30323449), yuv420p, 320x240 [SAR 1:1 DAR 4:3], 25 tbr, 25 tbn, 25 tbc
Please use -q:a or -q:v, -qscale is ambiguous
[Parsed_ass_0 @ 0x259cb20] Added subtitle file: 'test.ass' (41 styles, 600 events)
Output #0, avi, to 'out.avi':
    ISFT            : Lavf56.30.100
    Stream #0:0: Video: mpeg4 (FMP4 / 0x34504D46), yuv420p, 320x240 [SAR 1:1 DAR 4:3], q=2-31, 200 kb/s, 25 fps, 25 tbn, 25 tbc
      encoder         : Lavc56.34.100 mpeg4
Stream mapping:
  Stream #0:0 -> #0:0 (rawvideo (native) -> mpeg4 (native))
Press [q] to stop, [?] for help
[Parsed_ass_0 @ 0x259cb20] fontconfig: Selected font is not the requested one: 'DejaVu Sans' != 'Hacen Promoter Md'
[Parsed_ass_0 @ 0x259cb20] fontconfig: Selected font is not the requested one: 'DejaVu Sans' != 'Kristen ITC'
[Parsed_ass_0 @ 0x259cb20] fontconfig: Selected font is not the requested one: 'DejaVu Sans' != 'Hacen Tehran'
frame=  500 fps=0.0 q=2.0 Lsize=     684kB time=00:00:20.00 bitrate= 280.2kbits/s
video:667kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 2.640011%

Attachments (1)

test.ass (1.5 MB ) - added by Carl Eugen Hoyos 8 years ago.

Download all attachments as: .zip

Change History (3)

by Carl Eugen Hoyos, 8 years ago

Attachment: test.ass added

comment:1 by SubJunk, 8 years ago

This has been on my wishlist for a long time so I'm excited to see interest in it!
In my project which uses FFmpeg (Universal Media Server) we have logic that defers to MEncoder when embedded subtitles are present, otherwise use FFmpeg, so it would be really cool to be able to remove that condition and rely more on FFmpeg :)

comment:2 by Clément Bœsch, 8 years ago

This is supported by subtitles filter (same source file) by probing the font stream(s) from the source (you can do something like -vf subtitles=foo.mkv), so that's probably relatively easy to adjust the ass filter to do that as well.

Care to send a patch for that?

Note: See TracTickets for help on using tickets.