FFmpeg | 提取附件

有时媒体文件中会将字体封为一个流,在做软字幕烧录硬字幕时,会需要这个字体文件,这是就有把字体文件提取出来的需求。

分析

在媒体文件中,字体文件并没有特定的格式,而是作为附件被封在媒体流中,所以直接提取附件就可以了。

提取方法

ffmpeg支持dump_attachment参数来直接提取参数:

1
-dump_attachment[:stream_specifier] filename (input,per-stream)

示例:

1
ffmpeg -dump_attachment:t:0 out.ttf -i INPUT

提取filename标记确定的文件的所有附件:

1
ffmpeg -dump_attachment:t "" -i INPUT