应用印地语字体文件或其他语言字体文件时FFmpeg绘制文本问题

问题描述 投票:0回答:1

我们正在尝试使用 FFmpeg 绘制文本来支持印地语字体。但有些字符无法正确渲染。

使用的印地语语言字体文件:-https://fonts.google.com/specimen/Khula

Input string :- **जिन्दगी सिर्फ हकीक़त है हकीक़त समझो,**

但是输出呈现为 代码输出

我想要一些完美的解决方案来在

FFmpeg.

上应用资产字体

提前谢谢您。

ffmpeg custom-font android-ffmpeg mobile-ffmpeg
1个回答
0
投票

出于某种原因,-vf“ass=sub.ass”过滤器为非英语语言和印地语等语言提供了所需的字体渲染。

我不知道在 UTF-8 格式的 SRT 文件中导致此问题的原因。但我猜测 Libass 在每种情况下是如何使用的,其中 ASS 过滤器输入带有样式选项的整个文件并输出 deisred 格式。

如果有人遇到这个问题,请参考此将 srt 转换为 ass 并玩得开心:

    const assFilePath = getSrtFilePathFromAssFilePath(subtitlePath);
    const customOpts = options.subtitles.assOptions
    // convert to ass using npm srt-to-ass, metion customoptions like font, color etc 
    convertSrtToAss(subtitlePath, assFilePath, customOpts);
   // notice ass filter used
    ffmpegCommand = `ffmpeg -i ${videoPath} -vf "ass=${assFilePath}" -vcodec libx264 -acodec copy -q:v 0 -q:a 0 ${outputFilePath}`;
    execSync(ffmpegcomand)

之前 使用-vf“subtitle=hind-devnagri.srt” enter image description here


之后 使用-vf“ass=hindi-devnagri.ass” enter image description here


这里是用于转换的npm库 https://www.npmjs.com/package/srt-to-ass

和选项 JSON https://codepen.io/damitj07/pen/abgaPqv?editors=0010

© www.soinside.com 2019 - 2024. All rights reserved.