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

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

[复制链接]
发表于 2024-10-6 03:58:16 | 显示全部楼层 |阅读模式
  1. @ECHO Off & setlocal enabledelayedexpansion
    1 [& S" |7 v: ]$ y- S- z7 o
  2. color 0a
    - _/ v8 ~/ I0 C1 S( O% V) H! K
  3. TITLE FFMPEG批量加水印-%cd%6 F9 _* A6 X, L4 t/ G+ v9 s
  4. @ md download
    * Z! b7 h/ c+ \. w4 k# h/ n
  5. @ md video0 r% K3 L- Y" ~
  6. :start
    $ I6 ^+ K  e! N7 Q# b
  7. cls
    3 r, I4 C/ B, o( e, x; u( `& l- A$ u: O
  8. ECHO.     ┌──────雪球联盟MCN批量视频水印工具──────┐& Z# t) B+ [; ^& V; O* _# B; T1 j
  9. ECHO.                                     2 V! _, a, ]3 W. Y, A
  10. ECHO.           By:魏枫伦  http://www.xqmcn.com
    , v- o" X1 B) b) a6 \- Z7 a$ @
  11. ECHO.                                         }6 c2 r5 j& T4 |* i
  12. ECHO.          视频路径/download,导出路径/video9 Z! `. u  t4 B$ X& H# K+ X
  13. ECHO.                               1 w2 F. m9 Y% c' x1 y
  14. echo.     └──────雪球联盟MCN批量视频水印工具──────┘
    ! n$ h: Q; A/ ?. Q* t+ @5 L
  15. ECHO.- K  |( M# L) A7 T. J3 K( b7 T* d0 P
  16. for /f "tokens=1,2 delims==" %%a in ('wmic path Win32_VideoController get Name /value^|findstr "Name"') do (echo %%b | findstr "NVIDIA" >nul &&(& A9 V' c( R' d  o3 x0 _8 j
  17.     echo.★本机支持硬件加速,显卡型号:%%b
    # W2 a# s/ I2 T
  18.     set /a  user_input=1! u. y4 O+ U) Y; a
  19. ) || (8 e' y; Y! j' a$ g4 G
  20.     echo.☆本机不支持硬件加速,默认采用软件编码
    : x$ I& _$ Z6 U% l/ f% q
  21.     set /a  user_input=2
    3 D: V0 g" Q0 o
  22.     goto text
    ( n6 B( ^+ J$ R% Y" u8 M7 L% x
  23. ))
    1 e) X( ~( L4 V; q4 R! ^0 _
  24. echo.: I# M$ _/ W$ g) A
  25. ECHO.==========设置开始,保持默认值请直接按回车==========
      _( Y' K: r7 Z( g' Y
  26. echo.' G4 v1 @( p% }) {* ?
  27. ECHO.【须提前准备字体文件"font.ttf"放到:程序所在目录】
    2 Q8 Q+ D8 b# K
  28. echo.
    7 \  D: P! z- C3 v5 S
  29. ECHO.▼设置编码方式:【1.Nvida硬件编码(快)】【2.软件编码(慢)】(默认:1):
    - T: p/ _. b) g, ^* a
  30. set user_input=&set /p  user_input=( ~: m( j. e0 i. U4 V- o$ v, h& g
  31. if "%user_input%"==""  set /a  user_input=1* v. a$ j$ g; c, o# }
  32. if "%user_input%"==" "  set user_input=&goto start) l1 r( h; r+ n: ?9 m6 k- I4 h% r+ V
  33. :text
    + U4 H3 ?; E6 @# M- W7 v: ^
  34. SET fontFile=%cd%\font.ttf
    0 J4 a& |7 C4 V/ w
  35. if  exist %fontFile% ( echo.水印字体存在,继续操作 ) else ( echo.水印字体font.ttf不存在,请先添加 && goto start) 3 Z. f7 w9 c& u+ v, _
  36. ECHO.
    0 p7 t* c" E, ]9 s6 F
  37. ECHO.▼需要添加的文字水印内容:4 p/ \6 j5 Q) T9 m* n1 w
  38. set text=&set /p  text=" A4 M; ^) `( E& V( h; w
  39. if "%text%"==""  echo.文字未设置,请重新设置 && goto text 0 W( k/ H2 w. T  f& @6 x
  40. if "%text%"==" " set text=&goto start
    8 h( a. U# p, d! m. g. `- l
  41. ECHO.▼水印切换周期(帧):4 ~" r7 r4 l3 X) f# f9 r) i
  42. ECHO.【例:30fps的视频,3秒切换一次,填90】
    2 I6 a6 q  ^/ l3 h7 i" ?
  43. set during=&set /p  during=0 r4 w* }. n$ g0 C6 W3 N( O% s
  44. if "%during%"==""  set /a  during=150
    ( A9 ~2 v: Q9 G' p) E. R
  45. if "%during%"==" " set during=&goto start8 I; b1 l/ B) ], V$ i) k
  46. ECHO.▼请填写字体大小(默认40):* N% M3 Q' |1 ^) P
  47. set fontsize=&set /p  fontsize=
    7 w  x3 S9 V7 }# B
  48. if "%fontsize%"==""  set /a  fontsize=40! @% {/ \% N* Q/ Y
  49. if "%fontsize%"==" " set fontsize=&goto start
    ! o0 L0 D: V" |9 f. G8 F+ D% U' _
  50. ECHO.▼请填写水印字体颜色(默认white):, @3 z5 i$ B& V
  51. set fontcolor=&set /p  fontcolor=
    5 _7 E9 F3 d3 T- `
  52. if "%fontcolor%"==""  set  fontcolor=white
    ' M# D& r. Q! O( z7 ]  p  v$ w7 ^( E
  53. if "%fontcolor%"==" " set fontcolor=&goto start
    ( E* G3 P1 [/ X" G5 f3 J  {. o1 t

  54. . \/ O% K& k7 e: 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)"
    ' B6 b3 A/ M- g! @

  56. % |! V2 s; c! b; \9 G1 y- G1 N
  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=软件编码); w  S% @/ F) |
  58. ECHO.%bianma%-水印文字:%text%-周期%during%-字号%fontsize%-颜色%fontcolor%
    # U- X: y9 y; e
  59. ECHO.==========参数设置完成,按任意键开始,输入N重新设置==========
    $ y, S/ Y1 j6 v/ a5 t) C" @1 \5 M
  60. set  yes=&set /p  yes=
    2 \, D* z3 k. N5 ?: P
  61. if "%yes%"=="N" goto start4 r/ `( S% e5 g* n
  62. if "%yes%"=="n" goto start
    2 @" I1 z! s0 \& F  ~- |
  63. if "%yes%"==" " goto start  \5 X8 i( \: i7 a" h

  64. 9 F' t! F$ u6 [; r% P
  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 )
    ) ]5 z7 d7 K( E1 M$ M# j
  66. TITLE FFMPEG%bianma%完成,%cd%\该目录总共处理!sum!个视频 , c; l/ o; f# `9 F. P& @
  67. echo 按任意键退出 & pause
    * L5 Q* p2 Z" H& K
  68. exit
复制代码

( F8 l! Y- X1 k8 e# ]
7 k. |+ I  S9 [; j8 v* Y

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

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

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

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-11-3 04:46 AM , Processed in 0.113415 second(s), 26 queries .

Powered by xyh-moon X3.5

© 2001-2026 Discuz! Team.

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