ffmpeg编译时添加freetype支持,用于在视频中添加文字
现在对ffmpeg的学习到了往视频指定位置添加对应文字的时候了。
发现添加文字,用的是drawtext滤镜,需要在编译ffmpeg的时候,添加–enable-libfreetype。
为此先编译freetype,由于本人ffmpeg使用vs2017编译,并且为了最终的成果物中的文件尽量少,本人编译出的是静态库,此处的是freetype也需要用vs2017进行静态库编译。
读者可以按照如下路径,找到freetype.sln,原来的工程是2010的,此处直接用vs2017打开即可,微软会自动转成vs2017工程。
打开sln后,如下所示,本人进行的是64位版本的静态库编译,编译出的成果物为freetype.lib。
现在进入到编译ffmpeg的阶段,先将上一步编译的freetype的lib库文件和头文件拷贝到mingw的相应位置,这个位置自己定,然后再用pkgconfig进行头文件路径和lib库路径进行配置即可,为此需要freetype.pc这样的pkgconfig文件,刚才我用vs2017编译时,没看到对应的freetype.pc这样的文件。
为此先在linux下编译freetype,编译后,看到名字为freetype2.pc。
这里面需要将头文件和库路径对应上即可,本人在mingw下的freetype放到了/usr/local路径下,其中头文件路径如下:
库文件如下:
pkgconfig文件夹里面就是freetype2.pc(从linux的编译成果物中拷贝而来),内容如下:
prefix=/usr/local
exec_prefix=/usr/local
libdir=/usr/local/lib
includedir=/usr/local/includeName: FreeType 2
URL: https://freetype.org
Description: A free, high-quality, and portable font engine.
Version: 24.1.18
Requires:
Requires.private: zlib
Libs: -L${libdir} -lfreetype
Libs.private: -lbz2
Cflags: -I${includedir}/freetype2
下面是ffmpeg的编译时的配置。
./configure --toolchain=msvc --arch=x86_64 --disable-debug --enable-gpl --enable-libfreetype --enable-libx264 --extra-cflags="-I/usr/local/x264/include" --extra-ldflags="-LIBPATH:/usr/local/x264/lib" --prefix=/home/ffmpeg_x264_freetype_static
编译后,生成了ffmpeg.exe文件,下面我们找个文件进行测试,命令行如下:
ffmpeg -i 2022-01-16T12-18-13.mp4 -vf "drawtext=fontcolor=white:fontsize=80:fontfile=zihun152hao-jijiachaojihei.ttf:text='你好,我来了':x=100:y=100" output.mp4
执行目录的内容如下所示:
这个字体ttf文件是一定要存在的,生成的效果文件如下:
上面的ttf文件要跟ffmpeg在同一个目录下,如果不是呢,比如ttf文件在其他位置,可以通过全路径查找
ffmpeg -i E:\learn\ffmpeg\ffmpeg_x264_freetype_static\bin\2022-01-16T12-18-13.mp4 -vf "drawtext=fontcolor=white:fontsize=80:fontfile='E\:\\learn\\ffmpeg\\ffmpeg_x264_freetype_static\\bin\\zihun152hao-jijiachaojihei.ttf':text='你好,我来了':x=100:y=100" output.mp4fontfile本为E:\learn\ffmpeg\ffmpeg_x264_freetype_static\bin\zihun152hao-jijiachaojihei.ttf,前面加\表示转义。
ffmpeg编译时添加freetype支持,用于在视频中添加文字相关推荐
- 如何在Mac上的视频中添加音乐?
自己录的视频没有音乐伴奏总是不完整的,怎样添加上音乐呢?在本篇文章中,我为大家介绍的是如何在Mac上的视频中添加音乐? 在这里,我们向您展示如何在Mac计算机上将音乐添加到视频中.这些工具可离线使用, ...
- 【Groovy】编译时元编程 ( 编译时方法拦截 | 在 MyASTTransformation#visit 方法中进行方法拦截 )
文章目录 一.在 MyASTTransformation#visit 方法中进行方法拦截 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groovy 2.ASTTr ...
- 使用 gradle 在编译时动态设置 Android resValue / BuildConfig / Manifes中lt;meta-datagt;变量的值...
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/49247815 文章出自:薛瑄的博客 你也能够查看我的其它同类文章.也会让你有一定的 ...
- blender3.3在视频中添加文本
使用blender 3.3导入视频文件之后(可参看参考资料[1]),有时需要在视频中添加自己想要添加的文字内容.本文简单介绍blender 3.3在视频中添加文字的方法和步骤,仅供参考. 添加文本 在 ...
- 怎么给视频添加字幕?三款视频字幕添加工具帮你轻松解决
当我们在社交媒体上分享自己制作的视频时,可能会想要为视频添加字幕.因为这可以让观看视频的小伙伴更好地理解和欣赏我们的视频内容,还可以帮助提升我们的影响力和吸引力.但是手动添加字幕可能需要花费大量的时间 ...
- 怎样使用Movavi Video Editor Plus 在视频中添加文本?
如果您想让您的剪辑更加个性化.艺术化甚至幽默,那么在视频中添加文本是个好主意.使用 Movavi Video Editor Plus,只需简单几步即可完成. 1.下载并安装程序. 下载 Movavi ...
- Facebook创建新机器学习系统,用于对视频中的人脸进行“去识别化”
据外媒报道,Facebook AI Research表示,其已经创建了一种机器学习系统,用于对视频中的个脸进行去识别化(de-identification ).像D-ID这样的初创公司和许多先前的作品 ...
- 在视频中添加图片,图片中添加视频,制作画中画效果
在剪辑中,画中画是一种非常常见的视频表现手法,它在视频或图片上添加一个比尺寸小的剪辑画面,那么这些剪辑画面可以进行缩放,加强视频内容的生动性.下面一起来试试吧. 方法1:视频中添加图片 在媒体梦工厂的 ...
- 游戏建模控件Aspose.3D for Java最新版支持在Wavefront OBJ中添加点云支持
Aspose.3D for Java是独立的Gameware和计算机辅助设计(CAD)API,用于处理3D文件.同时支持大多数流行的3D文件格式,应用程序可以轻松创建,读取,转换和修改3D文件.此外, ...
最新文章
- Dockerfile文件命令详解
- 输入对5层网络迭代次数的影响
- 组件kdsvrmgr无法正常工作_汽轮机润滑油冷油器六通阀的工作原理及现阶段存在的问题...
- “雏鹰”的最近感想……
- 基于matlab的局放仿真,基于MATLAB/Simulink系统仿真权威指南
- 黄页前台联动菜单修改时不能显示,要重新选择|没样式
- 有关C语言中有符号/无符号数混合运算的小问题
- soapUI中多个TestCase之间传递参数
- 【POJ16553107】树的重心——点分治的准备
- 熬之滴水穿石:Spring--精简的J2EE(5)
- Python报错AssertionError: can only test a child process
- 新闻 - 被遗忘的“活化石”:BBS没落中求生
- 揭秘你所看不见的技术原理 - 广告推荐系统
- 互联网中---外包的含义
- 微信小程序,画布中,根据需要展示的图片比例,获取能截取原图中的最大图片尺寸,并且不变形展示
- three.js重新计算UV
- 02-Lynda备用
- 1983. 【普及组模拟赛】手机(mobile)
- 基于mediapipe和opencv的手势控制电脑鼠标
- 学习《Linux就该这么学》第九课
热门文章
- 怎么让Alpha1s/1p同时唱歌和跳舞
- 【网络互联设备】网络杂谈(15)之网桥、路由器、网关、集线器、交换机、中继器的作用与概念
- 广外计算机语言学bbs,2020年广外英语语言文学(外语语言学及应用语言学)高分学姐经验分享...
- Android--模拟器尺寸大小修改
- 处理 Driver class not found
- 马云:不吃苦,你要青春干嘛?
- 大数据应用之双色球算奖平台总体设计数据规模估算篇 - 张子良
- sql删除数据的三种方式
- 【RK3399 Ubuntu】基于rk3399的lxde的lubuntu桌面移植适配记录之第三步:Ubuntu根文件系统的桌面化分析和选用
- 普通人开快手小店挣钱吗?快手小店怎么提现?