Opened 4 years ago

Closed 4 years ago

#1688 closed defect (invalid)

FFmpeg + libass gives Fontconfig warning: ignoring UTF-8: not a valid region tag

Reported by: Xtophe Owned by:
Priority: normal Component: undetermined
Version: git-master Keywords: ass fontconfig ramdisk
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: yes

Description

Summary of the bug:
When trying to burn subtitles with libass I always get this error while encoding (every time it should render the subtitles):

Fontconfig warning: ignoring UTF-8: not a valid region tag

On initialising it also displays this error:
No usable fontconfig configuration file found, using fallback.
Fontconfig error: Cannot load default config file

Obvious it cannot find the Fontconfig file. Where should I put this file so FFmpeg can find it?

And is this related to the "Fontconfig warning: ignoring UTF-8: not a valid region tag" errors?

BTW FFmpeg for OSX

Change History (10)

comment:1 Changed 4 years ago by cehoyos

  • Component changed from FFmpeg to undetermined

To make this a valid ticket, please add a command line that allows to reproduce the problem together with complete, uncut console output.

comment:2 Changed 4 years ago by Xtophe

The output is very (VERY) long because of the 'Fontconfig warning: ignoring UTF-8: not a valid region tag'
I have cut it a bit but you will get the picture what it is happening.

Xtophes-MacBook?-Pro:~ xtophe$ /Users/xtophe/Desktop/ffmpeg -i /Volumes/Data/Movies?/A\ Walk\ on\ the\ Moon\ \(1999\)/Walk\ on\ the\ Moon\ \(1999\).avi -c:a aac -b:a 128k -strict experimental -async 1 -c:v mpeg4 -b:v 2052k -bt 181k -maxrate 4104k -bufsize 820.8k -r 23.98 -s 672x364 -aspect 24:13 -trellis 1 -me_range 16 -i_qfactor 0.71 -b_strategy 1 -g 200 -qmin 3 -qmax 51 -qdiff 4 -sc_threshold 40 -sn -vf ass=/Volumes/Data/Movies?/A\ Walk\ on\ the\ Moon\ \(1999\)/Walk\ on\ the\ Moon\ \(1999\).en.ass -threads 8 -y "/Users/xtophe/Movies/Walk on the Moon (1999).mp4"
ffmpeg version N-43901-gbfb3902 Copyright (c) 2000-2012 the FFmpeg developers

built on Aug 26 2012 09:58:04 with llvm-gcc 4.2.1 (LLVM build 2336.11.00)
configuration: --prefix=/Volumes/tempdisk/sw --disable-asm --enable-gpl --enable-pthreads --disable-ffplay --disable-ffserver --enable-avfilter --enable-fontconfig --enable-libfreetype --enable-libass --enable-filters --arch=x86 --enable-runtime-cpudetect
libavutil 51. 70.100 / 51. 70.100
libavcodec 54. 54.100 / 54. 54.100
libavformat 54. 25.104 / 54. 25.104
libavdevice 54. 2.100 / 54. 2.100
libavfilter 3. 13.101 / 3. 13.101
libswscale 2. 1.101 / 2. 1.101
libswresample 0. 15.100 / 0. 15.100
libpostproc 52. 0.100 / 52. 0.100

[mpeg4 @ 0x7f9cfb01a800] Invalid and inefficient vfw-avi packed B frames detected
Input #0, avi, from '/Volumes/Data/Movies?/A Walk on the Moon (1999)/Walk on the Moon (1999).avi':

Metadata:

encoder : VirtualDubMod? 1.5.10.2 (build 2540/release)

Duration: 01:47:06.84, start: 0.000000, bitrate: 1238 kb/s

Stream #0:0: Video: mpeg4 (DX50 / 0x30355844), yuv420p, 672x364 [SAR 1:1 DAR 24:13], 23.98 fps, 23.98 tbr, 23.98 tbn, 30k tbc
Stream #0:1: Audio: mp3 (U[0][0][0] / 0x0055), 48000 Hz, stereo, s16, 128 kb/s

[Parsed_ass_0 @ 0x7f9cfac1b480] Added subtitle file: '/Volumes/Data/Movies?/A Walk on the Moon (1999)/Walk on the Moon (1999).en.ass' (2 styles, 1425 events)
Fontconfig error: Cannot load default config file
[Parsed_ass_0 @ 0x7f9cfac1b480] No usable fontconfig configuration file found, using fallback.
Fontconfig error: Cannot load default config file
-async is forwarded to lavfi similarly to -af aresample=min_comp=0.001:min_hard_comp=0.100000.
Output #0, mp4, to '/Users/xtophe/Movies/Walk on the Moon (1999).mp4':

Metadata:

encoder : Lavf54.25.104
Stream #0:0: Video: mpeg4 ( [0][0][0] / 0x0020), yuv420p, 672x364 [SAR 1:1 DAR 24:13], q=3-51, 2052 kb/s, 1199 tbn, 23.98 tbc
Stream #0:1: Audio: aac ([64][0][0][0] / 0x0040), 48000 Hz, stereo, flt, 128 kb/s

Stream mapping:

Stream #0:0 -> #0:0 (mpeg4 -> mpeg4)
Stream #0:1 -> #0:1 (mp3 -> aac)

Press [q] to stop, ? for help
[mpeg4 @ 0x7f9cfb028600] Invalid and inefficient vfw-avi packed B frames detected
[Parsed_ass_0 @ 0x7f9cfac1b480] Neither PlayResX nor PlayResY defined. Assuming 384x288
Fontconfig warning: ignoring UTF-8: not a valid region tag bitrate=1005.1kbits/s dup=1 drop=0
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag bitrate=1233.7kbits/s dup=1 drop=0
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag
Fontconfig warning: ignoring UTF-8: not a valid region tag

--cut it here -- because this error goes on and on and on ...

The result is a movie without the subtitles.

comment:3 Changed 4 years ago by cehoyos

  • Keywords ass added
  • Status changed from new to open

comment:4 Changed 4 years ago by reimar

Your locale setting is invalid.
They are of the form language[_territory[.codeset]][@modifier], and fontconfig relies on that.
Yours has "UTF-8" in the territory part which makes no sense.

comment:5 Changed 4 years ago by Xtophe

OK, call me stupid. How can I fix this? :-)

comment:6 Changed 4 years ago by reimar

The "locale" command should show all related environment variables and their values. I wouldn't know how to fix it on OSX though, except overriding them in e.g. .bashrc

comment:7 Changed 4 years ago by Xtophe

Locale gives:

LANG=
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=

The output also says: 'Fontconfig error: Cannot load default config file'
Is this normal? Can this be forced to load any config file?

comment:8 Changed 4 years ago by Xtophe

Even when the ffmpeg build can find the Fontconfig (and loads it) the error with UTF-8 still happens.

So any thoughts how this can be fixed?

comment:9 follow-up: Changed 4 years ago by Xtophe

Found the resaon why it isn't working.
Apparantly this error only appears when FFmpeg can indeed not load the Fontconfig (I wass wrong telling it is not).

Now, I do all the compiling in a Ramdisk. This is a easy and fast way to do so.
The problem is when you compile Fontconfig, it creates the ETC folder into the ramdisk. And FFmpeg will always look at that folder (in the ramdisk). Offcourse it cannot find it.

So what we I need is a way to compile Fontconfig so it will look in the root of FFmpeg. This way I only have to place the ETC content in the root of the FFmpeg binary.

How can I do this?

BTW my wife is killing me .. I have done a straight 24hours compiling ffmpeg with libass... :)

comment:10 in reply to: ↑ 9 Changed 4 years ago by saste

  • Analyzed by developer set
  • Keywords fontconfig ramdisk added
  • Resolution set to invalid
  • Status changed from open to closed

Replying to Xtophe:

Found the resaon why it isn't working.
Apparantly this error only appears when FFmpeg can indeed not load the Fontconfig (I wass wrong telling it is not).

Now, I do all the compiling in a Ramdisk. This is a easy and fast way to do so.
The problem is when you compile Fontconfig, it creates the ETC folder into the ramdisk. And FFmpeg will always look at that folder (in the ramdisk). Offcourse it cannot find it.

Why?

So what we I need is a way to compile Fontconfig so it will look in the root of FFmpeg. This way I only have to place the ETC content in the root of the FFmpeg binary.

How can I do this?

Dunno, but doesn't look anything like FFmpeg-specific, thus closing the ticket.

BTW my wife is killing me .. I have done a straight 24hours compiling ffmpeg with libass... :)

Spend more time with your wife, and less with FFmpeg ;-).

Note: See TracTickets for help on using tickets.