You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FFmpeg中仅旋转文字而不旋转整个视频

解决FFmpeg drawtext仅旋转文字的问题

你之所以会让整个视频旋转,是因为把rotate参数放在了drawtext滤镜的外部(比如作为全局滤镜参数)。要只旋转文字,必须把rotate作为drawtext滤镜的内部参数,和其他文字配置项放在一起。

修改后的命令示例

/usr/bin/ffmpeg -i $urlVideo $startFlags 'drawtext=fontfile=$font:text=$text:fontcolor=$color:x=$x:y=$y:fontsize=$size:rotate=0.3$enable' $endFlags $resultFilePath

关键是将rotate=0.3加入drawtext的参数列表,用冒号和其他参数分隔开。

额外提示

  • rotate参数的单位是弧度,0.3弧度约等于17.19度。如果习惯用角度,转弧度的公式是:弧度 = 角度 × π / 180,比如要转30度就写rotate=0.5236(30×3.1416/180)
  • 默认情况下,文字是围绕左上角旋转的,旋转后可能会偏移到预期外的位置。如果想围绕文字中心旋转,可以结合自动变量调整坐标,比如:
    drawtext=fontfile=$font:text=$text:fontcolor=$color:x=(w-text_w)/2:y=(h-text_h)/2:fontsize=$size:rotate=0.3$enable
    
    这里w是视频宽度,h是视频高度,text_w和text_h是文字的宽高,FFmpeg会自动计算这些值,实现文字居中且绕中心旋转。

内容的提问来源于stack exchange,提问作者Мохамед Русланович

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 12:15:32