如何使cygwin fontconfig包继承Windows字体?

维蒂科

我使用的ffmpeg(的cygwin64构建12)对字幕刻录成视频文件,如下所示:

$ ffmpeg -i file.mp4 -vf subtitles=file.srt file.ts
ffmpeg version 1.2.3 Copyright (c) 2000-2013 the FFmpeg developers
  built on Sep 18 2013 01:11:22 with gcc 4.8.1 (GCC)
  configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/bin --incdir=/usr/include --mandir=/usr/share/man --disable-static --enable-shared --enable-gpl --enable-version3 --enable-postproc --enable-swscale --enable-avfilter --enable-pthreads --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-libass --enable-libbluray --enable-libcdio --enable-libcelt --enable-libfreetype --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopenjpeg --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopencv --enable-libopenjpeg --enable-libopus --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libtwolame --disable-libutvideo --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --disable-libxavs --enable-openal --enable-x11grab --enable-zlib --disable-debug --disable-optimizations --enable-yasm --disable-stripping
  libavutil      52. 18.100 / 52. 18.100
  libavcodec     54. 92.100 / 54. 92.100
  libavformat    54. 63.104 / 54. 63.104
  libavdevice    54.  3.103 / 54.  3.103
  libavfilter     3. 42.103 /  3. 42.103
  libswscale      2.  2.100 /  2.  2.100
  libswresample   0. 17.102 /  0. 17.102
  libpostproc    52.  2.100 / 52.  2.100
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'file.mp4':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    creation_time   : 2013-07-18 23:29:41
    encoder         : Lavf51.12.1
  Duration: 00:21:59.66, start: 0.000000, bitrate: 5461 kb/s
    Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 5135 kb/s, 59.94 fps, 59.94 tbr, 60k tbn, 119.88 tbc
    Metadata:
      creation_time   : 2013-07-19 02:21:28
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 48000 Hz, 5.1, fltp, 319 kb/s
    Metadata:
      creation_time   : 2013-07-19 02:21:28
      handler_name    : SoundHandler
[srt @ 0x600057e80] Estimating duration from bitrate, this may be inaccurate
Output #0, mpegts, to 'file.ts':
  Metadata:
    major_brand     : isom
    minor_version   : 512
    compatible_brands: isomiso2avc1mp41
    encoder         : Lavf54.63.104
    Stream #0:0(eng): Video: mpeg2video, yuv420p, 1280x720 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 90k tbn, 59.94 tbc
    Metadata:
      creation_time   : 2013-07-19 02:21:28
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: mp2, 48000 Hz, stereo, s16, 128 kb/s
    Metadata:
      creation_time   : 2013-07-19 02:21:28
      handler_name    : SoundHandler
Stream mapping:
  Stream #0:0 -> #0:0 (h264 -> mpeg2video)
  Stream #0:1 -> #0:1 (aac -> mp2)
Press [q] to stop, [?] for help
[Parsed_subtitles_0 @ 0x6000229c0] Neither PlayResX nor PlayResY defined. Assuming 384x288

但是字幕根本不会出现在最终的视频流中。

[Parsed_subtitles_0 @ 0x6000229c0] Neither PlayResX nor PlayResY defined. Assuming 384x288警告不是问题的一部分,因为将字幕转换为.assviaffmpeg -i file.srt file.ass指定PlayResX和Y值会使警告消失而没有解决原始问题。

我知道libass库为ffmpeg提供了字幕过滤器,它使用fontconfig,而后者在Windows下无法直接使用但是,缺少任何fontconfig警告使我相信这不是这里的问题。关于导致问题的原因有何线索?

编辑:我自己下载并编译了ffmpeg:

$ git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
$ cd ffmpeg
$ ./configure --enable-static --disable-shared --enable-libass
$ make

转换的输出./ffmpeg -i file.mp4 -vf subtitles=file.srt file.ts是相同的,除了这次没有打印警告消息。我正在调查fontconfig库配置是否可能是罪魁祸首。

维蒂科

事实证明,默认情况下,cygwin fontconfig软件包不会继承Windows字体。我已通过将C:\Windows\Fonts文件夹符号链接到fontconfig文件夹之一并按如下所示更新字体缓存来解决此问题:

$ ln -s /cygdrive/c/Windows/Fonts /usr/share/fonts/win-fonts
$ fc-cache

另外,cygwin端口存储库包含许多font-*X11软件包,可以将它们安装到相似的一端,同时将cygwin和Windows字体分开。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在cygwin终端上安装字体

来自分类Dev

如何从Cygwin内部执行Windows Runas命令

来自分类Dev

如何使用cygwin在Windows上构建ZeroMQ?

来自分类Dev

如何通过Cygwin在Windows上安装sshpass?

来自分类Dev

如何从Cygwin内部执行Windows Runas命令

来自分类Dev

安装cygwin后,如何启动Windows的Bash?

来自分类Dev

如何编译ocaml图形Windows Cygwin

来自分类Dev

Cygwin中的AWS CLI-如何清理Windows和Cygwin样式路径中的差异

来自分类Dev

在cygwin中时,如何显示安装cygwin的Windows文件夹?

来自分类Dev

如何从cygwin安装中排除软件包?

来自分类Dev

如何在Cygwin上安装新软件包?

来自分类Dev

如何在Cygwin内的Windows环境中调用Windows的gvim?

来自分类Dev

如何通过Cygwin在Windows 7上运行.sh文件?

来自分类Dev

如何从cygwin Windows 7访问wget http:// XXX?

来自分类Dev

如何在Windows和Cygwin上启用Vim拼写检查

来自分类Dev

如何通过Cygwin在Windows 7上运行.sh文件?

来自分类Dev

如何从Windows的Cygwin使用Wget下载多个文件

来自分类Dev

如何在Cygwin上使用Windows Python环境?

来自分类Dev

如何使用fontconfig别名字体家族的权重之一?

来自分类Dev

Windows下Cygwin下构建R包

来自分类Dev

如何通过cygwin为Windows用户连接云Google服务器?

来自分类Dev

Cygwin setup.exe在安装Windows 8期间挂起?我应该如何继续?

来自分类Dev

如何编写批处理(Windows)以启动Cygwin(mintty.exe),然后执行python脚本?

来自分类Dev

如何使用cygwin和android ndk r9c在Windows上编译ffmpeg-2.2.2

来自分类Dev

如何在Windows 7中使用Cygwin安装git-subtree?

来自分类Dev

如何在Windows中运行cuda-gdb?我可以使用cygwin吗?

来自分类Dev

如何在与Cygwin一起安装的Windows上执行autoconf?

来自分类Dev

如何在cygwin / Windows上打开LUKS加密的图像文件

来自分类Dev

每次使用Windows 7键盘快捷键时,如何使Cygwin打开新窗口?

Related 相关文章

  1. 1

    如何在cygwin终端上安装字体

  2. 2

    如何从Cygwin内部执行Windows Runas命令

  3. 3

    如何使用cygwin在Windows上构建ZeroMQ?

  4. 4

    如何通过Cygwin在Windows上安装sshpass?

  5. 5

    如何从Cygwin内部执行Windows Runas命令

  6. 6

    安装cygwin后,如何启动Windows的Bash?

  7. 7

    如何编译ocaml图形Windows Cygwin

  8. 8

    Cygwin中的AWS CLI-如何清理Windows和Cygwin样式路径中的差异

  9. 9

    在cygwin中时,如何显示安装cygwin的Windows文件夹?

  10. 10

    如何从cygwin安装中排除软件包?

  11. 11

    如何在Cygwin上安装新软件包?

  12. 12

    如何在Cygwin内的Windows环境中调用Windows的gvim?

  13. 13

    如何通过Cygwin在Windows 7上运行.sh文件?

  14. 14

    如何从cygwin Windows 7访问wget http:// XXX?

  15. 15

    如何在Windows和Cygwin上启用Vim拼写检查

  16. 16

    如何通过Cygwin在Windows 7上运行.sh文件?

  17. 17

    如何从Windows的Cygwin使用Wget下载多个文件

  18. 18

    如何在Cygwin上使用Windows Python环境?

  19. 19

    如何使用fontconfig别名字体家族的权重之一?

  20. 20

    Windows下Cygwin下构建R包

  21. 21

    如何通过cygwin为Windows用户连接云Google服务器?

  22. 22

    Cygwin setup.exe在安装Windows 8期间挂起?我应该如何继续?

  23. 23

    如何编写批处理(Windows)以启动Cygwin(mintty.exe),然后执行python脚本?

  24. 24

    如何使用cygwin和android ndk r9c在Windows上编译ffmpeg-2.2.2

  25. 25

    如何在Windows 7中使用Cygwin安装git-subtree?

  26. 26

    如何在Windows中运行cuda-gdb?我可以使用cygwin吗?

  27. 27

    如何在与Cygwin一起安装的Windows上执行autoconf?

  28. 28

    如何在cygwin / Windows上打开LUKS加密的图像文件

  29. 29

    每次使用Windows 7键盘快捷键时,如何使Cygwin打开新窗口?

热门标签

归档