添加文字叠加层是否需要X11环境?melt命令文本滤镜不生效问题咨询
关于MLT框架text/dynamictext滤镜是否需要X11环境的解答
不需要配置X11环境即可正常使用text、dynamictext滤镜
你当前命令无法渲染文字的排查点
- 最直接的问题是参数中配置了
in=0 out=0,该配置代表文字仅在视频第0帧渲染,正常播放时几乎不可见。如果需要文字在整个视频周期显示,直接删除这两个参数即可;如果需要指定显示时间段,将out值修改为对应结束帧的数值即可。 - text/dynamictext滤镜依赖pango、cairo库实现文字渲染,属于纯CPU计算的渲染逻辑,完全不依赖X11图形服务。你可以先检查系统是否安装了这两个依赖库,同时确认你指定的Ubuntu字体已在系统中安装,缺少指定字体会导致文字渲染失败无输出,可执行
fc-list | grep Ubuntu验证字体是否存在。 - 另外确认你使用的MLT编译时已开启pango支持,执行
melt -query filters | grep text即可查看当前MLT是否加载了text滤镜,无输出的话安装完整版本的MLT包即可。
修正后可参考的命令
/usr/bin/melt \ "/var/www/html/test/nkLcBPkebo/t-1.mp4" \ -audio-track \ "/var/www/html/test/nkLcBPkebo/t-1_sound.mp4" \ -attach-track \ "text:This is my best video" \ -0 \ fgcolour="#004fed" bgcolour=0 olcolour="#fff200" outline=3 pad="50x0" size=80 weight=700 style="italic" halign="center" valign="top" family="Ubuntu" \ -profile hdv_720_25p -progress \ -consumer avformat:"/var/www/html/test/nkLcBPkebo/1.mp4" \ vcodec="libx264" vb="5000k" acodec="aac" ab="128k" frequency=44100 deinterlace=1
内容的提问来源于stack exchange,提问作者AFT
相关产品推荐
相关产品推荐

