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

FFmpeg添加日期水印未调用系统西班牙语区域设置的问题求助

FFmpeg添加日期水印未调用系统西班牙语区域设置的问题求助

我的系统区域设置已经配置为西班牙语,执行date命令能正确输出西语格式的日期:

❯ date
mié 19 abr 2023 09:10:02 CEST

但用FFmpeg的drawtext滤镜添加日期水印时,命令如下:

ffmpeg -i video.mp4 -filter_complex "drawtext=fontfile=/path/to/font.ttf:text='%{localtime\:%d %B %Y}':x=10:y=10:fontsize=30:fontcolor=white@0.8" -codec:a copy video_with_watermark.mp4

水印却显示成英文格式的19 April 2023,怎么才能让FFmpeg使用系统的西班牙语区域设置,或者直接在命令里指定区域呢?

这是因为FFmpeg的drawtext滤镜默认不会自动继承系统的LC_TIME环境变量,你可以试试以下两种实用的解决办法:

方法一:临时指定环境变量再执行命令

在FFmpeg命令前加上LC_TIME=es_ES.UTF-8,让进程启动时直接使用西班牙语的时间区域设置:

LC_TIME=es_ES.UTF-8 ffmpeg -i video.mp4 -filter_complex "drawtext=fontfile=/path/to/font.ttf:text='%{localtime\:%d %B %Y}':x=10:y=10:fontsize=30:fontcolor=white@0.8" -codec:a copy video_with_watermark.mp4

方法二:直接在drawtext滤镜中指定locale参数(FFmpeg 4.0+支持)

如果你的FFmpeg版本是4.0及以上,可以直接在滤镜里添加locale参数,显式指定西班牙语区域,不用修改全局环境变量:

ffmpeg -i video.mp4 -filter_complex "drawtext=fontfile=/path/to/font.ttf:text='%{localtime\:%d %B %Y}':x=10:y=10:fontsize=30:fontcolor=white@0.8:locale=es_ES.UTF-8" -codec:a copy video_with_watermark.mp4

这两种方法都能让%B占位符输出西班牙语的月份名称(比如abril),和你系统date命令的输出格式保持一致。

备注:内容来源于stack exchange,提问作者Alpha75

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.22 15:18:18