ffmpeg命令与批处理编程
遍寻网上软件没有满意的,要么没有文件夹下的批量处理能力,要么不能设置透明度,自己编了一个批处理程序,完成文件夹和子文件夹下的所有文件加文字水印的批处理程序,在dos下安装ffmpeg即可运行,可设置透明度和字体颜色。
(一) CMD脚本查找所有文件
powershell与cmd转换
powershell与cmd虽然同为windows命令,但许多命令并不通用。

CMD换行符
a 在CMD下,可以用^作为换行符,类似于Linux下的\。举例如下:
start pemu.exe ^
-net nic,vlan=1,macaddr=00:aa:00:00:01:01 -net tap,vlan=1,ifname=tap1
b 用变量。举例如下:
@echo off
set command_name=start pemu.exe
set nic1=-net nic,vlan=1,macaddr=00:aa:00:00:01:01 -net tap,vlan=1,ifname=tap1
%command_name% %nic1%
扩展参数方法一:调用子程序
普通的字符串无法进行扩展,如果想把这种变量就需要把它们变成脚本参数,这就需要将参数传递给另一个脚本,这样实现起来会将脚本调用变得复杂一些,实际上可以在一个脚本中完成截取工作,类似于C/C++中的函数调用,可以在批处理中使用 call 命令搭配标签实现,具体代码如下:
扩展参数方法二:for语法
cmd查找特定的文件
for %f in (.) do @echo %f
第一层文件
cmd查找当前目录文件夹
for /D %f in (.) do @echo %f
cmd查找子目录下所有文件
C:\xilinx\video_watermark>for /r %f in (.) do @echo %
批处理查找所有文件夹
需要将命令行下的%f替换为%%f。
for /r %%f in (.) do @echo %%f
(二) 设置相对位置和透明度的文字水印
以下ffmpeg命令可对文字水印的颜色大小位置透明度进行调置。
指定绝对位置
ffmpeg -threads 4 -y -i DG_FPGAAI.mp4 -vf “drawtext=text=‘FPGA Dr.Wang 13662204848’:x=600:y=500:fontsize=40:fontcolor=red@0.5” DG_FPGAAI_wb.mp4
指定相对位置
C:\xilinx\video_watermark>ffmpeg -y -i DG_FPGAAI.mp4 -vf “drawtext=text=‘FPGA Dr.Wang 13662204848’:x=W/2:y=4*H/5:fontsize=40:fontcolor=red@0.5” DG_FPGAAI_wb.mp4
批处理加水印程序
批处理可以将所有当前和子目录中的文件调出来加水印处理。源码见下面链接:
https://download.csdn.net/download/u010879745/89123002?spm=1003.2166.3001.6637.1
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)