ffmpeg使用自定义字体添加字幕

一,背景与问题描述

背景

最近工作项目要求,需要使用SRT字幕文件,为对应的视频添加字幕,并且需要使用指定的字体(如Roboto、Poppins等)

调研发现,使用以下命令可以为视频添加字幕

bash 复制代码
ffmpeg -i input.mp4 -vf "subtitles=subtitle.srt:force_style='FontName=Roboto'" -c:a copy output.mp4

问题描述

但是我使用该命令之后,发现字体设置并没有生效,而是使用了系统的DejaVuSans字体

二、问题解决过程

安装字体

mac端安装

  1. 打开"字体册"应用程序。
  2. 在Finder中找到您下载的字体文件。
  3. 将字体文件拖放到字体册窗口中,系统会自动安装字体。

ubuntu端安装

bash 复制代码
# 1)创建字体目录(如字体名字为Roboto)
mkdir -p /usr/share/fonts/truetype/Roboto

# 2)移动字体文件
mv Roboto-Thin.ttf /usr/share/fonts/truetype/Roboto/

# 3)更新字体缓存
fc-cache -fv

# 4)验证安装
fc-list | grep "Roboto"

字幕添加

mac端

bash 复制代码
ffmpeg -i input.mp4 -vf "subtitles=subtitle.srt:force_style='FontName=Roboto-Thin'" -c:a copy output.mp4

ubuntu端安装

bash 复制代码
ffmpeg -i input.mp4 -vf "subtitles=subtitle.srt:force_style='FontName=Roboto Thin'" -c:a copy output.mp4

注意:

字体文件为:Roboto-Thin.ttf

在mac端,FontName=Roboto-Thin。或者 FontName=Roboto Thin都可以

在ubuntu端,必须为FontName=Roboto Thin才可以

成功截图

引用

在 Mac 上的"字体册"中安装和验证字体 - 官方 Apple 支持 (中国)

https://blog.dreamfever.me/posts/2024-06-30-ffmpeg-subtitle/

相关推荐
proware1 天前
ffmpeg 初始化配置及基本概念与套路
ffmpeg·mpp·rockchip·rga
程序员老陆1 天前
FFmpeg的AVFrame全部数据操作函数详解
ffmpeg·音视频·avframe
glumes2 天前
从《牛来》到 DCP:一部电影是怎么走进电影院的?
ffmpeg·音视频开发
程序员老陆2 天前
FFmpeg RTSP 解复用器(rtsp demuxer)完全解析:从「能播」到「稳播」的参数圣经
ffmpeg·音视频·拉流·rtsp
诸葛大钢铁4 天前
视频转音频怎么转换?在线工具、VLC、FFmpeg 三种方法详解
ffmpeg·音视频·mp4转mp3·视频转音频·视频转mp3·视频提取音频
qingmiaozhuan4 天前
电脑录屏软件追剧高光截取:FFmpeg帧裁剪与可视化方案对比
ffmpeg·电脑·音视频开发·录屏技术·电脑录屏
程序员老陆4 天前
FFmpeg6操作 RTMP参数详解
ffmpeg·音视频·rtmp
戒了,最后一次4 天前
Windows 安装 FFmpeg 完整教程(附环境变量配置 + 常用命令示例)
windows·ffmpeg
≮傷£≯√5 天前
FFmpeg + qt 音频播放
qt·ffmpeg·音视频
程序员老陆5 天前
Qt的QThread::usleep和FFmpeg的libavutil模块的av_usleep哪个精度高一些?
开发语言·qt·ffmpeg·音视频