首页 Order FFmpeg 正文

FFmpeg 添加文字中文显示乱码的问题

金鹏头像 金鹏 FFmpeg 2022-04-12 18:04:42 0 1258
导读:最近在视频中添加文字的时候,遇到中文显示乱码的问题,使用的命令行如下:file="$1"ofile="$2"# echo&...

图片.png


最近在视频中添加文字的时候,遇到中文显示乱码的问题,使用的命令行如下:

file="$1"
ofile="$2"
# echo ${ofile}
title_fl="drawtext=fontfile=fontcolor=white:fontsize=100:line_spacing=7:borderw=4:bordercolor=red:text='$4':x=(w-text_w)/2:y=(h/3-text_h)/2"
link_fl="drawtext=fontfile=fontcolor=white:fontsize=40:line_spacing=7:borderw=2:bordercolor=red:text='点击详情查看更多政策↓↓↓↓↓':x=(w-text_w)/2:y=h-(h/3-text_h)/2-text_h"
tips_fl="drawtext=fontfile=fontcolor=gray:fontsize=16:line_spacing=7:text='本政策由$3品牌提供,具体政策详情请咨询当地授权经销商':x=5:y=h-text_h-5"
tips2_fl="drawtext=fontfile=fontcolor=gray:fontsize=16:line_spacing=7:text='安全出行,请遵守交通规则':x=w-text_w-5:y=h-text_h-5"
ffmpeg -i $1 -filter_complex "[0:v]split=2[in1][in2];[in1]crop=(ih/16*9):ih,scale=iw/2:-1,gblur=sigma=7,scale=720:1280[vbg];\
[in2]scale=720:-1[pv];[vbg][pv]overlay=0:(H-h)/2[vout];\
[vout]${link_fl}[do];[do]${title_fl}[t];[t]${tips_fl}[tp1];[tp1]${tips2_fl}" -y "${ofile}.mp4"


优化:

file="$1"
ofile="$2"
# echo ${ofile}
title_fl="drawtext=fontfile=/data/www/font/simhei.ttf:fontcolor=white:fontsize=100:line_spacing=7:borderw=4:bordercolor=red:text='$4':x=(w-text_w)/2:y=(h/3-text_h)/2"
link_fl="drawtext=fontfile=/data/www/font/simhei.ttf:fontcolor=white:fontsize=40:line_spacing=7:borderw=2:bordercolor=red:text='点击详情查看更多政策↓↓↓↓↓':x=(w-text_w)/2:y=h-(h/3-text_h)/2-text_h"
tips_fl="drawtext=fontfile=/data/www/font/simhei.ttf:fontcolor=gray:fontsize=16:line_spacing=7:text='本政策由$3品牌提供,具体政策详情请咨询当地授权经销商':x=5:y=h-text_h-5"
tips2_fl="drawtext=fontfile=/data/www/font/simhei.ttf:fontcolor=gray:fontsize=16:line_spacing=7:text='安全出行,请遵守交通规则':x=w-text_w-5:y=h-text_h-5"
ffmpeg -i $1 -filter_complex "[0:v]split=2[in1][in2];[in1]crop=(ih/16*9):ih,scale=iw/2:-1,gblur=sigma=7,scale=720:1280[vbg];\
[in2]scale=720:-1[pv];[vbg][pv]overlay=0:(H-h)/2[vout];\
[vout]${link_fl}[do];[do]${title_fl}[t];[t]${tips_fl}[tp1];[tp1]${tips2_fl}" -y "${ofile}.mp4"


滤镜参数说明:

drawtext是用来添加文字的滤镜名称;

fontfile:指定的字体文件;

textfile:需要添加的文字文件,也可以用text=‘Hello world’这种格式指定需要添加的文字,但是对于大量文字,显然文件更为方便;

x,y:文字左上角在画面上显示的位置;

fontsize:字体大小;

fontcolor:字体颜色,可以通过0xRRGGBB@0.X来指定文字的透明度,例如0xFF0000@0.5为红色半透明。

reload:为1时表示每帧重新load字体文件,可以实现实时更新显示文字的功能。

本文地址:https://www.jinpeng.work/?id=117
若非特殊说明,文章均属本站原创,转载请注明原链接。
广告3

欢迎 发表评论:

  • 请填写验证码

日历

«    2025年4月    »
123456
78910111213
14151617181920
21222324252627
282930

控制面板

您好,欢迎到访网站!
  查看权限
广告2

退出请按Esc键