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

求助:如何用FFmpeg批量为目录中MP4文件添加帧号文字水印

批量用FFmpeg给MP4分片添加帧编号文字

需求概述

需要批量处理old目录下的chunk_0.mp4至chunk_19.mp4,为每个视频添加底部居中的帧编号(从1开始),处理后输出到new目录,音频直接复制不重新编码。单文件处理命令已验证可行,以下是批量实现方案:

Windows 批处理脚本

创建batch_process.bat文件,粘贴以下内容:

@echo off
setlocal enabledelayedexpansion

if not exist "new" mkdir "new"

for /L %%i in (0,1,19) do (
    ffmpeg -i "old/chunk_%%i.mp4" -vf ^
    "drawtext=fontfile=Arial.ttf: text='%%{frame_num}': start_number=1: x=(w-tw)/2: y=h-(2*lh): ^
    fontcolor=black: fontsize=20: box=1: boxcolor=white: boxborderw=5" ^
    -c:a copy "new/chunk_%%i.mp4"
)

echo 批量处理完成!
pause
  • 双击运行该批处理文件即可自动完成所有分片的处理
  • ^用于换行转义,保证FFmpeg命令格式正确
  • 脚本会自动创建new目录(如果不存在)

Linux/macOS Shell 脚本

创建batch_process.sh文件,内容如下:

#!/bin/bash

mkdir -p new

for i in {0..19}; do
    ffmpeg -i "old/chunk_$i.mp4" -vf \
    "drawtext=fontfile=Arial.ttf: text='%{frame_num}': start_number=1: x=(w-tw)/2: y=h-(2*lh): \
    fontcolor=black: fontsize=20: box=1: boxcolor=white: boxborderw=5" \
    -c:a copy "new/chunk_$i.mp4"
done

echo "批量处理完成!"

执行步骤:

  1. 给脚本添加执行权限:chmod +x batch_process.sh
  2. 在终端运行脚本:./batch_process.sh

关键注意事项

  • 确保Arial.ttf字体文件在当前工作目录,或者指定完整路径(例如Windows下C:/Windows/Fonts/Arial.ttf,macOS下/Library/Fonts/Arial.ttf)
  • 若系统未将FFmpeg加入环境变量,需替换ffmpeg为FFmpeg的完整安装路径
  • 处理过程中若出现字体相关错误,可尝试更换系统中存在的其他字体(如SimHei.ttf)

内容的提问来源于stack exchange,提问作者spazznolo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:01:07