在Windows环境下给FFmpeg集成libass的详细步骤 | 木戈手机站

木戈手机站

当前位置: 首页 » 攻略 » 在Windows环境下给FFmpeg集成libass的详细步骤

在Windows环境下给FFmpeg集成libass的详细步骤

libass是一个用于ASS和SSA格式(Advanced Substation Alpha/Substation Alpha)的字幕渲染器,支持的字幕类型包括srt、ass等。在给视频画面添加字幕时,需要事先集成libass。

《FFmpeg开发实战:从零基础到短视频上线》一书的“7.3.1 Linux环境安装libass”介绍了如何在Linux环境给FFmpeg集成libass。在Windows环境下也能给FFmpeg集成libass,下面是具体的集成步骤说明。请注意:下列的所有命令均需在MSYS窗口中执行。

1、安装freetype

fontconfig、fribidi、harfbuzz、libass都依赖于freetype库,因此需要先安装该库。freetype的安装步骤如下:

(1)freetype的下载页面是https://download.savannah.gnu.org/releases/freetype/,例如2023年8月发布的freetype-2.13.2,该版本的源码下载地址是https://download.savannah.gnu.org/releases/freetype/freetype-2.13.2.tar.gz。

(2)进入解压后的freetype目录,运行下面命令配置freetype。

(3)运行下面命令编译freetype。

(4)编译完成后,运行下面命令安装freetype。

(5)给环境变量PKG_CONFIG_PATH添加freetype的pkgconfig路径,在/etc/profile文件末尾添加如下一行内容:

然后执行下面命令重新加载环境变量:

执行下面命令查看当前的环境变量,确认PKG_CONFIG_PATH的修改已经生效。

2、安装libxml2

由于字体配置库fontconfig依赖于libxml2库,因此需要先安装该库。libxml2的安装步骤如下:

(1)libxml2的下载页面是http://xmlsoft.org/sources/,例如2010年11月发布的libxml2-2.7.8,该版本的源码下载地址是http://xmlsoft.org/sources/libxml2-2.7.8.tar.gz。执行下面命令解压下载好的压缩包:

(2)修改include/libxml/xmlexports.h,在文件开头增加下面一行:

(3)进入解压后的libxml2目录,运行下面命令配置libxml2。

(4)运行下面命令编译libxml2。

(5)编译完成后,运行下面命令安装libxml2。

(6)给环境变量PKG_CONFIG_PATH添加libxml2的pkgconfig路径,在/etc/profile文件末尾添加如下一行内容:

然后执行下面命令重新加载环境变量:

执行下面命令查看当前的环境变量,确认PKG_CONFIG_PATH的修改已经生效。

3、安装gperf

由于字体配置库fontconfig依赖于gperf,因此需要先安装该工具。在Windows环境下,运行下面命令安装gperf:

4、安装fontconfig

fontconfig是一款字体配置工具,能够自动检测字库,以及管理和配置字库。fontconfig的安装步骤如下:

(1)fontconfig的下载页面是https://www.freedesktop.org/software/fontconfig/release/,例如2023年1月发布的fontconfig-2.14.2,该版本的源码下载地址是https://www.freedesktop.org/software/fontconfig/release/fontconfig-2.14.2.tar.gz。执行下面命令解压下载好的压缩包:

(2)进入解压后的fontconfig目录,运行下面命令配置fontconfig。

注意:如果未安装libxml2,运行configure会报错“*** expat is required. or try to use –enable-libxml2”。

(3)运行下面命令编译fontconfig。

(4)编译完成后,运行下面命令安装fontconfig。

(5)给环境变量PKG_CONFIG_PATH添加fontconfig的pkgconfig路径,在/etc/profile文件末尾添加如下一行内容:

然后执行下面命令重新加载环境变量:

执行下面命令查看当前的环境变量,确认PKG_CONFIG_PATH的修改已经生效。

5、安装fribidi

fribidi是一个中东字体增强库,实现了Unicode字符集的双向算法,用于处理阿拉伯语、希伯来语等中东语言。fribidi的安装步骤如下:

(1)fribidi的下载页面是https://github.com/fribidi/fribidi/releases,例如2023年5月发布的fribidi-1.0.13,该版本的源码下载地址是https://github.com/fribidi/fribidi/releases/download/v1.0.13/fribidi-1.0.13.tar.xz。注意要下载扩展名是tar.xz的压缩包,不能下载扩展名是tar.gz的压缩包,因为tar.gz里面没有configure文件。执行下面命令解压下载好的压缩包:

(2)进入解压后的fribidi目录,运行下面命令配置fribidi。

(3)运行下面命令编译fribidi。

(4)编译完成后,运行下面命令安装fribidi。

(5)给环境变量PKG_CONFIG_PATH添加fribidi的pkgconfig路径,在/etc/profile文件末尾添加如下一行内容:

然后执行下面命令重新加载环境变量:

执行下面命令查看当前的环境变量,确认PKG_CONFIG_PATH的修改已经生效。

6、安装harfbuzz

harfbuzz是一个文本塑形引擎,能够将Unicode字符转换为格式正确的字形输出,可用于调试和预览字体效果。harfbuzz的安装步骤如下:

(1)harfbuzz的最新源码在https://github.com/harfbuzz/harfbuzz,但是高版本harfbuzz容易编译失败,实际应用采取1.2.7版本就够了。各版本harfbuzz的下载页面是https://www.freedesktop.org/software/harfbuzz/release/,例如1.2.7版本的源码下载地址是https://www.freedesktop.org/software/harfbuzz/release/harfbuzz-1.2.7.tar.bz2。执行下面命令解压下载好的压缩包:

(2)进入解压后的harfbuzz目录,运行下面命令配置harfbuzz。

(3)运行下面命令编译harfbuzz。

(4)编译完成后,运行下面命令安装harfbuzz。

(5)给环境变量PKG_CONFIG_PATH添加harfbuzz的pkgconfig路径,在/etc/profile文件末尾添加如下一行内容:

然后执行下面命令重新加载环境变量:

执行下面命令查看当前的环境变量,确认PKG_CONFIG_PATH的修改已经生效。

7、安装libass

确认以上的freetype、libxml2、gperf、fontconfig、fribidi、harfbuzz等库都已正确安装后,再来安装字幕渲染器libass。libass的安装步骤如下:

(1)libass的源码页面是https://github.com/libass/libass,下载页面是https://github.com/libass/libass/releases,例如2023年2月发布的libass-0.17.1,该版本的源码下载地址是https://github.com/libass/libass/releases/download/0.17.1/libass-0.17.1.tar.gz。执行下面命令解压下载好的压缩包:

(2)进入解压后的libass目录,运行下面命令配置libass。

(3)运行下面命令编译libass。

(4)编译完成后,运行下面命令安装libass。

(5)给环境变量PKG_CONFIG_PATH添加libass的pkgconfig路径,在/etc/profile文件末尾添加如下一行内容:

然后执行下面命令重新加载环境变量:

执行下面命令查看当前的环境变量,确认PKG_CONFIG_PATH的修改已经生效。

8、启用libass

由于FFmpeg默认未启用libass,因此需要重新配置FFmpeg,标明启用libass,然后重新编译安装FFmpeg。FFmpeg的Windows环境完整编译过程参见《FFmpeg开发实战:从零基础到短视频上线》一书的“8.1 Windows环境编译FFmpeg”,下面是详细的启用步骤说明:

(1)确保下列路径均已加载至环境变量PKG_CONFIG_PATH。

(2)执行以下命令,在libxml2的安装路径下补充一个xmlversion.h,因为配置FFmpeg的时候会检查<libxml2/libxml/xmlversion.h>。

(3)回到FFmpeg源码的目录,执行以下命令重新配置FFmpeg,主要增加启用libass。(增加了选项–enable-libass –enable-libfribidi –enable-libxml2 –enable-fontconfig)

(4)运行下面命令编译FFmpeg。

(5)执行下面命令安装FFmpeg。

(6)运行以下命令查看FFmpeg的版本信息。

查看控制台回显的FFmpeg版本信息,找到“–enable-libass”,说明FFmpeg正确启用了字幕渲染器libass。

猜你喜欢
本类排行