找回密码
 立即注册
搜索
查看: 232|回复: 0

FFMPEG随机位置文字水印BAT脚本

[复制链接]

991

主题

92

回帖

5万

积分

管理员

积分
55457
发表于 2024-10-6 03:58:16 | 显示全部楼层 |阅读模式
  1. @ECHO Off & setlocal enabledelayedexpansion
    7 E- {7 q  Y) w9 I+ R: i# [! S
  2. color 0a" G8 B% t3 e# i; ~! n; D
  3. TITLE FFMPEG批量加水印-%cd%- [  G8 G8 C5 f2 V
  4. @ md download6 R0 E+ S& \; J4 l3 z- C7 J+ d8 \
  5. @ md video
    % p- N( H5 e% {) ]
  6. :start
    ; C2 I4 y2 e+ d, u! b1 H4 f$ q* H
  7. cls% @8 L1 q: b; V; s) w0 y1 L2 a
  8. ECHO.     ┌──────雪球联盟MCN批量视频水印工具──────┐7 x$ T; C* ^% N! s5 x
  9. ECHO.                                     2 {, @( T, I8 @9 p
  10. ECHO.           By:魏枫伦  http://www.xqmcn.com : v" V- p9 ~" j1 ]4 b& {
  11. ECHO.                                       1 i% M. t, M6 t+ U# P
  12. ECHO.          视频路径/download,导出路径/video2 u, J1 E) l/ k
  13. ECHO.                                 I7 v+ |! Y& c- A  }
  14. echo.     └──────雪球联盟MCN批量视频水印工具──────┘; N9 `  x& \6 d; q. x
  15. ECHO.6 _0 u; P4 y& E% L
  16. for /f "tokens=1,2 delims==" %%a in ('wmic path Win32_VideoController get Name /value^|findstr "Name"') do (echo %%b | findstr "NVIDIA" >nul &&(9 K2 b! p9 ~0 R3 B. F
  17.     echo.★本机支持硬件加速,显卡型号:%%b
    " E* L% b% j/ }  ]% o
  18.     set /a  user_input=1+ E' ]5 y/ H7 I% y2 e, e! S
  19. ) || (
    : D5 L1 ?9 X( S1 j( g( ], G
  20.     echo.☆本机不支持硬件加速,默认采用软件编码& p9 }' K. @& P+ u: i. L
  21.     set /a  user_input=21 }+ T* r$ a* u' g7 x0 ?
  22.     goto text" j7 p& K# N  _0 c7 `8 ^8 T8 U
  23. ))
    0 H1 y8 a1 B6 x: w* ]# I
  24. echo.
    . c, d7 G- p) S! }! B
  25. ECHO.==========设置开始,保持默认值请直接按回车==========
    * ?7 H8 n7 [+ l& ^! ]$ y$ _2 s
  26. echo.
    * W! u" C/ m1 g. v
  27. ECHO.【须提前准备字体文件"font.ttf"放到:程序所在目录】
    4 V& S* T+ F( {; t$ \0 {, Y7 \
  28. echo.
    9 f, M% R( y- B7 T! q. i8 i/ P
  29. ECHO.▼设置编码方式:【1.Nvida硬件编码(快)】【2.软件编码(慢)】(默认:1):  Z7 t, v* a( y, X0 w3 ?' C
  30. set user_input=&set /p  user_input=
    9 D. `; J1 s, @2 q  h% B6 b
  31. if "%user_input%"==""  set /a  user_input=1
    - {, K- T: D# S2 H  s5 ^
  32. if "%user_input%"==" "  set user_input=&goto start2 E/ l; M7 j: z7 V8 T0 J
  33. :text  N+ }9 k" J) R7 D2 {
  34. SET fontFile=%cd%\font.ttf
    9 m( e& ^1 y$ {
  35. if  exist %fontFile% ( echo.水印字体存在,继续操作 ) else ( echo.水印字体font.ttf不存在,请先添加 && goto start)
    # Y% K! H+ J, z3 f5 n
  36. ECHO.
    / [7 `3 L# {& M
  37. ECHO.▼需要添加的文字水印内容:
    $ Q+ X1 G0 t% R- n+ |
  38. set text=&set /p  text=1 ]" P: q+ j. ~. |/ b
  39. if "%text%"==""  echo.文字未设置,请重新设置 && goto text
    . L! d9 G4 S* \% Z, K. h
  40. if "%text%"==" " set text=&goto start) n  ?6 w# ?, a0 ~! p2 E1 o  ^: R
  41. ECHO.▼水印切换周期(帧):# \3 Q  ^2 I* Q$ e5 s3 I5 K6 Z
  42. ECHO.【例:30fps的视频,3秒切换一次,填90】1 W' w# D: j8 z+ r5 M
  43. set during=&set /p  during=& x& @6 n5 I+ N4 v' a* h
  44. if "%during%"==""  set /a  during=150! Y0 w0 g! U7 K9 i+ q4 r! U3 @5 Y
  45. if "%during%"==" " set during=&goto start
    . k5 Y8 e- K, a: h
  46. ECHO.▼请填写字体大小(默认40):4 Q4 b, f% ^9 b
  47. set fontsize=&set /p  fontsize=$ h3 {& O: E$ Q1 P& G8 h0 i3 H! ~
  48. if "%fontsize%"==""  set /a  fontsize=40+ B4 `& S6 n  v& a
  49. if "%fontsize%"==" " set fontsize=&goto start
    / x, _+ H8 x, q% ^% v$ C: T# u% M, k
  50. ECHO.▼请填写水印字体颜色(默认white):
    3 y; X! b7 e0 `8 A% d8 B
  51. set fontcolor=&set /p  fontcolor=9 Z# t- z9 g+ s1 T
  52. if "%fontcolor%"==""  set  fontcolor=white
    & X- A; L" ]0 |2 Q; u. j: }
  53. if "%fontcolor%"==" " set fontcolor=&goto start7 U, N: P& v  j6 T6 h
  54. - F1 K% @; y0 A8 I( v; R& C
  55. set shuiyinstr="drawtext=fontfile=font.ttf:fontsize=%fontsize%:fontcolor=%fontcolor%@0.5:text='%text%':x=if(eq(mod(n\,%during%)\,0)\,rand(0\,(W-tw))\,x):y=if(eq(mod(n\,%during%)\,0)\,rand(0\,(H-th))\,y)"
    - Q! v7 e1 }$ X% N1 l, Y

  56. 0 M9 u* b+ U. W- |' u, b
  57. if "%user_input%"=="1" (set bianmastr=  -threads 2  -vcodec h264_nvenc  && set bianma=硬件编码) else (  set bianmastr=  -vcodec libx264  -preset slow  -crf 18   &&  set bianma=软件编码)
    $ |1 v! r2 K7 v, {* x0 u! h
  58. ECHO.%bianma%-水印文字:%text%-周期%during%-字号%fontsize%-颜色%fontcolor%; O, p1 t; P4 o2 I. F% e' _: E; `2 c
  59. ECHO.==========参数设置完成,按任意键开始,输入N重新设置==========
    : i  R1 \1 L* @5 l- Q
  60. set  yes=&set /p  yes=
    4 }- X0 R* L- q. A
  61. if "%yes%"=="N" goto start
    ! V2 x9 A' f9 r
  62. if "%yes%"=="n" goto start0 o& R$ i8 ?& q$ A9 X
  63. if "%yes%"==" " goto start# d0 \6 p  F: o# N) e  W$ H9 }, C
  64. & y3 ?" {# v6 Q% O5 }) k/ v' Y; X- e7 f& I
  65. for /R %cd%\download\ %%a in (*.mp4 *.flv *.mov *.ts *.mkv) do (TITLE FFMPEG%bianma%-水印%text%-周期%during%-字号%fontsize%-颜色%fontcolor%-已处理!sum!个-【%cd%\%%~na.mp4】&& ffmpeg -i "%%a" -vf %shuiyinstr%  %bianmastr%  -c:a copy -y "%cd%\video\%%~na.mp4" &&echo.处理"%%~na.mp4结束" && set /a sum+=1 )
    # y" Q; I5 g! A& }5 N+ `6 _+ N: q
  66. TITLE FFMPEG%bianma%完成,%cd%\该目录总共处理!sum!个视频 + y. f9 A& Y+ m  V' ^
  67. echo 按任意键退出 & pause+ W% |0 u2 k5 f" q2 G0 k
  68. exit
复制代码
/ S+ e% o& z' @* z8 J0 R% o/ }
# p% ^  l! u* r. R6 q2 b. u. Z

FFMPEG随机位置文字水印BAT脚本.zip

1.89 MB, 阅读权限: 10, 下载次数: 12, 下载积分: 金钱 -5

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-8-5 10:20 AM , Processed in 0.071513 second(s), 26 queries .

Powered by xyh-moon X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表