ffmpeg # macOS 添加drawtext支持

2024-04-23 17:48
文章标签 ffmpeg 支持 macos drawtext

本文主要是介绍ffmpeg # macOS 添加drawtext支持,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

brew install freetype
brew install fontconfig
brew install fribidi

查看安装之后,可以用brew info查看安装信息。比如:

localhost:FFmpeg Private$ brew info freetype
freetype: stable 2.10.0 (bottled)
Software library to render fonts
https://www.freetype.org/
/usr/local/Cellar/freetype/2.10.0 (61 files, 2.3MB) *Poured from bottle on 2019-03-30 at 22:43:32
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/freetype.rb
==> Dependencies
Required: libpng ✔
==> Analytics
install: 190,060 (30 days), 402,661 (90 days), 1,470,828 (365 days)
install_on_request: 9,541 (30 days), 17,319 (90 days), 67,023 (365 days)
build_error: 0 (30 days)

可以看到freetype的作用是: Software library to render fonts, 版本是: stable 2.10.0

然后编译时加入:

--enable-libfreetype \
--enable-libfontconfig \
--enable-libfribidi \

后续就可以利用:

 -vf drawtext=fontcolor=white:fontsize=40:text='Hello World':x=0:y=100

来添加文字,默认文字是: "/Library/Fonts/Microsoft/Verdana.ttf",等价于:

 -vf drawtext=fontcolor=white:fontsize=40:text='Hello World':x=0:y=100:fontfile='/Library/Fonts/Microsoft/Verdana.ttf'

可以用fontfile来指定特定字体,字体存放在"/Library/Fonts/Microsoft/"中:

localhost:FFmpeg Private$ ls /Library/Fonts/Microsoft/
Abadi MT Condensed Extra Bold       Kaiti.ttf
Abadi MT Condensed Light        Kino
Andale Mono             Lucida Blackletter
Arial Black             Lucida Bright
Arial Bold Italic.ttf           Lucida Calligraphy
Arial Bold.ttf              Lucida Console.ttf
Arial Italic.ttf            Lucida Fax
Arial Narrow                Lucida Handwriting
Arial Rounded Bold          Lucida Sans
Arial.ttf               Lucida Sans Typewriter
Baskerville Old Face            Lucida Sans Unicode.ttf
Batang.ttf              MS Gothic.ttf
Bauhaus 93              MS Mincho.ttf
Bell MT                 MS PGothic.ttf
Bernard MT Condensed            MS PMincho.ttf
Book Antiqua                MS Reference Sans Serif.ttf
Bookman Old Style           MS Reference Specialty.ttf
Bookshelf Symbol 7.ttf          MT Extra
Braggadocio             Marlett.ttf
Britannic Bold              Matura Script Capitals
Brush Script.ttf            Meiryo Bold Italic.ttf
Calibri Bold Italic.ttf         Meiryo Bold.ttf
Calibri Bold.ttf            Meiryo Italic.ttf
Calibri Italic.ttf          Meiryo.ttf
Calibri.ttf             Microsoft Yahei.ttf
Calisto MT              MingLiU-ExtB.ttf
Cambria Bold Italic.ttf         MingLiU.ttf
Cambria Bold.ttf            MingLiU_HKSCS-ExtB.ttf
Cambria Italic.ttf          Mistral
Cambria Math.ttf            Modern No. 20
Cambria.ttf             Monotype Corsiva
Candara Bold Italic.ttf         Monotype Sorts
Candara Bold.ttf            News Gothic MT
Candara Italic.ttf          Onyx
Candara.ttf             PMingLiU-ExtB.ttf
Century                 PMingLiU.ttf
Century Gothic              Palatino Linotype Bold Italic.ttf
Century Schoolbook          Palatino Linotype Bold.ttf
Colonna                 Palatino Linotype Italic.ttf
Comic Sans MS               Palatino Linotype.ttf
Consolas Bold Italic.ttf        Perpetua Bold Italic.ttf
Consolas Bold.ttf           Perpetua Bold.ttf
Consolas Italic.ttf         Perpetua Italic.ttf
Consolas.ttf                Perpetua Titling MT
Constantia Bold Italic.ttf      Perpetua.ttf
Constantia Bold.ttf         Playbill
Constantia Italic.ttf           Rockwell
Constantia.ttf              Rockwell Extra Bold
Cooper Black                STHUPO.TTF
Copperplate Gothic Bold         STLITI.ttf
Copperplate Gothic Light        STXINGKA.ttf
Corbel Bold Italic.ttf          STXINWEI.ttf
Corbel Bold.ttf             STZHONGS.ttf
Corbel Italic.ttf           SimHei.ttf
Corbel.ttf              SimSun-ExtB.ttf
Curlz MT                SimSun.ttf
Desdemona               Stencil
Edwardian Script ITC            Tahoma
Engravers MT                TaiLeb.ttf
Eurostile               Times New Roman Bold Italic.ttf
Fangsong.ttf                Times New Roman Bold.ttf
Footlight Light             Times New Roman Italic.ttf
Franklin Gothic Book Italic.ttf     Times New Roman.ttf
Franklin Gothic Book.ttf        Trebuchet MS
Franklin Gothic Medium Italic.ttf   Tw Cen MT Bold Italic.ttf
Franklin Gothic Medium.ttf      Tw Cen MT Bold.ttf
Gabriola.ttf                Tw Cen MT Italic.ttf
Garamond                Tw Cen MT.ttf
Georgia                 Verdana Bold Italic.ttf
Gill Sans MT Bold Italic.ttf        Verdana Bold.ttf
Gill Sans MT Bold.ttf           Verdana Italic.ttf
Gill Sans MT Italic.ttf         Verdana.ttf
Gill Sans MT.ttf            Wide Latin
Gill Sans Ultra Bold            Wingdings 2.ttf
Gloucester MT Extra Condensed       Wingdings 3.ttf
Goudy Old Style             Wingdings.ttf
Gulim.ttf               himalaya.ttf
Haettenschweiler            mingliu_hkscs.ttf
Harrington              monbaiti.ttf
Impact                  msyi.ttf
Imprint MT Shadow           taile.ttf

最重要的就是开始配置的时候;

刚开始安装freetype的时候没什么问题,安装fontconfig的时候就发现依赖里没有依赖到pkg-config,然后就重新安装了一遍pkg-config,然后还是不行,最后重启了一下电脑,还是不行;

无奈只添加了freetype;先用着再慢慢搞吧。

貌似只是macOS编译成功了,Android的并没有,明天继续查吧。。。

最后,非常感谢大佬:fmpeg # macOS 添加drawtext支持

这篇关于ffmpeg # macOS 添加drawtext支持的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/929477

相关文章

Python+FFmpeg实现视频自动化处理的完整指南

《Python+FFmpeg实现视频自动化处理的完整指南》本文总结了一套在Python中使用subprocess.run调用FFmpeg进行视频自动化处理的解决方案,涵盖了跨平台硬件加速、中间素材处理... 目录一、 跨平台硬件加速:统一接口设计1. 核心映射逻辑2. python 实现代码二、 中间素材处

golang实现nacos获取配置和服务注册-支持集群详解

《golang实现nacos获取配置和服务注册-支持集群详解》文章介绍了如何在Go语言中使用Nacos获取配置和服务注册,支持集群初始化,客户端结构体中的IpAddresses可以配置多个地址,新客户... 目录golang nacos获取配置和服务注册-支持集群初始化客户端可选参数配置new一个客户端 支

一篇文章彻底搞懂macOS如何决定java环境

《一篇文章彻底搞懂macOS如何决定java环境》MacOS作为一个功能强大的操作系统,为开发者提供了丰富的开发工具和框架,下面:本文主要介绍macOS如何决定java环境的相关资料,文中通过代码... 目录方法一:使用 which命令方法二:使用 Java_home工具(Apple 官方推荐)那问题来了,

macOS彻底卸载Python的超完整指南(推荐!)

《macOS彻底卸载Python的超完整指南(推荐!)》随着python解释器的不断更新升级和项目开发需要,有时候会需要升级或者降级系统中的python的版本,系统中留存的Pytho版本如果没有卸载干... 目录MACOS 彻底卸载 python 的完整指南重要警告卸载前检查卸载方法(按安装方式)1. 卸载

修复已被利用的高危漏洞! macOS Sequoia 15.6.1发布

《修复已被利用的高危漏洞!macOSSequoia15.6.1发布》苹果公司于今日发布了macOSSequoia15.6.1更新,这是去年9月推出的macOSSequoia操作... MACOS Sequoia 15.6.1 正式发布!此次更新修复了一个已被黑客利用的严重安全漏洞,并解决了部分中文用户反馈的

基于Java和FFmpeg实现视频压缩和剪辑功能

《基于Java和FFmpeg实现视频压缩和剪辑功能》在视频处理开发中,压缩和剪辑是常见的需求,本文将介绍如何使用Java结合FFmpeg实现视频压缩和剪辑功能,同时去除数据库操作,仅专注于视频处理,需... 目录引言1. 环境准备1.1 项目依赖1.2 安装 FFmpeg2. 视频压缩功能实现2.1 主要功

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Python中对FFmpeg封装开发库FFmpy详解

《Python中对FFmpeg封装开发库FFmpy详解》:本文主要介绍Python中对FFmpeg封装开发库FFmpy,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录一、FFmpy简介与安装1.1 FFmpy概述1.2 安装方法二、FFmpy核心类与方法2.1 FF

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

基于Linux的ffmpeg python的关键帧抽取

《基于Linux的ffmpegpython的关键帧抽取》本文主要介绍了基于Linux的ffmpegpython的关键帧抽取,实现以按帧或时间间隔抽取关键帧,文中通过示例代码介绍的非常详细,对大家的学... 目录1.FFmpeg的环境配置1) 创建一个虚拟环境envjavascript2) ffmpeg-py