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

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

[复制链接]

991

主题

92

回帖

5万

积分

管理员

积分
55422
发表于 2024-10-6 03:58:16 | 显示全部楼层 |阅读模式
  1. @ECHO Off & setlocal enabledelayedexpansion
    8 s. m+ V7 e0 }* ^: d
  2. color 0a+ }9 ^7 ?3 A! h
  3. TITLE FFMPEG批量加水印-%cd%3 d* g/ {6 y4 V# J* R4 i' U
  4. @ md download& e$ z/ E1 f- @' o4 \* f
  5. @ md video
    ( }3 ?$ B: d# ]2 Z+ \
  6. :start, Q% Q& V! h6 @# ^- \1 j
  7. cls: z5 \7 e0 a: c. k3 }, [) v9 @
  8. ECHO.     ┌──────雪球联盟MCN批量视频水印工具──────┐
    " H2 |( v/ \# {7 d; ]. c; U
  9. ECHO.                                     & x1 h# d5 `4 F8 T
  10. ECHO.           By:魏枫伦  http://www.xqmcn.com , m+ b6 Z& X# J# k" B/ ^. M" P9 t
  11. ECHO.                                       
    ( W: ~" R# z% ]3 `
  12. ECHO.          视频路径/download,导出路径/video( ]1 e# x  T0 N- a1 J0 n
  13. ECHO.                               % ^5 V% W( u' l% i
  14. echo.     └──────雪球联盟MCN批量视频水印工具──────┘
    ) ]1 x7 |1 {- f4 w. x% \6 ?" l
  15. ECHO.) D# O6 g2 z  L0 ?( Q% E; h
  16. for /f "tokens=1,2 delims==" %%a in ('wmic path Win32_VideoController get Name /value^|findstr "Name"') do (echo %%b | findstr "NVIDIA" >nul &&(
    / _0 [4 w3 s. ?3 a1 R
  17.     echo.★本机支持硬件加速,显卡型号:%%b. ^6 T3 O: {! b8 ]
  18.     set /a  user_input=1
    * q! v% J8 E1 B' o& r" I: c2 q
  19. ) || (
    1 N. [' Z  @5 O* w: k2 x2 A
  20.     echo.☆本机不支持硬件加速,默认采用软件编码
    # L# M0 g" o8 x0 L* L. @+ \7 M7 [9 ~
  21.     set /a  user_input=2
    ! J, Z) b0 h7 h- O+ M  _' m
  22.     goto text
    / R/ a; e: Y1 u4 H- L  {
  23. ))
    - ?2 _9 r) a4 l* i7 K
  24. echo.# Z2 j6 W) U. u: c! G, N5 j) Q
  25. ECHO.==========设置开始,保持默认值请直接按回车==========
    ! Z5 k  T) w; e3 s: b0 Z9 Q5 U
  26. echo.8 v" Q# Y( a( y, t& \
  27. ECHO.【须提前准备字体文件"font.ttf"放到:程序所在目录】! ~7 B: T( k! R% r/ `) _2 A
  28. echo.
    7 d0 W" j" ^7 ?5 \
  29. ECHO.▼设置编码方式:【1.Nvida硬件编码(快)】【2.软件编码(慢)】(默认:1):
    7 l' n( w, \4 \' o
  30. set user_input=&set /p  user_input=/ W6 e9 F, D& f0 {- {. a% \( \
  31. if "%user_input%"==""  set /a  user_input=13 y, t) h4 X3 j% L! D. _
  32. if "%user_input%"==" "  set user_input=&goto start( T9 n0 q2 F' ^3 s# ?* E
  33. :text3 u1 `$ G6 H( [5 B1 b( ]8 q" i
  34. SET fontFile=%cd%\font.ttf! D3 L: H' U  a1 H0 {
  35. if  exist %fontFile% ( echo.水印字体存在,继续操作 ) else ( echo.水印字体font.ttf不存在,请先添加 && goto start) / V  ]- n, z) Y* o; z& I( i
  36. ECHO., K# Z3 H$ m& P* |( h) F' B( s
  37. ECHO.▼需要添加的文字水印内容:
    ) s% |9 ?4 n& b$ z; o0 D" K
  38. set text=&set /p  text=
    7 G* h3 d8 I1 T/ ~& S" f5 V
  39. if "%text%"==""  echo.文字未设置,请重新设置 && goto text 3 D6 c, ~+ F% Z* w- m. v! |; A
  40. if "%text%"==" " set text=&goto start7 o6 y5 D/ L( T" G7 `
  41. ECHO.▼水印切换周期(帧):
    $ e! u/ d% i) C0 n9 K2 S
  42. ECHO.【例:30fps的视频,3秒切换一次,填90】: J% \$ {0 N+ ~' q! Z
  43. set during=&set /p  during=( B. {$ p8 K/ Y! `" o
  44. if "%during%"==""  set /a  during=150" C7 U" Q5 Y8 M) w
  45. if "%during%"==" " set during=&goto start
    ' v5 ?- l& R% j5 @5 G
  46. ECHO.▼请填写字体大小(默认40):2 \/ i3 n: b7 I1 Z/ ]; ~- b2 r
  47. set fontsize=&set /p  fontsize=+ s( g: \# Q* I7 D% e% n, G" P& h
  48. if "%fontsize%"==""  set /a  fontsize=408 _2 z! Y  |7 d
  49. if "%fontsize%"==" " set fontsize=&goto start
    & ]3 ~. v, x  J9 U* N3 v
  50. ECHO.▼请填写水印字体颜色(默认white):
    : W- }+ b! j; N7 V
  51. set fontcolor=&set /p  fontcolor=2 y/ p3 p' ?9 O% e: y4 u
  52. if "%fontcolor%"==""  set  fontcolor=white0 H* a( v# c8 s0 V  R( W! ]1 z
  53. if "%fontcolor%"==" " set fontcolor=&goto start
    0 d+ T6 l/ C% F$ s  s

  54. 3 i, @7 D) ]  @# D+ z  q
  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)"
    % v+ k  V. A$ v$ s
  56. - }. m+ s1 M: q4 x' l
  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=软件编码)& q, b0 y# q' W" _5 E
  58. ECHO.%bianma%-水印文字:%text%-周期%during%-字号%fontsize%-颜色%fontcolor%5 U# N& P8 ~' [9 m
  59. ECHO.==========参数设置完成,按任意键开始,输入N重新设置==========
    ( U3 V0 ~/ W% V  ]) ^, z( h' B
  60. set  yes=&set /p  yes=, z1 ?( i: }* `  p" H" W4 N2 Z1 T
  61. if "%yes%"=="N" goto start- N0 z  @( f% J7 r2 a
  62. if "%yes%"=="n" goto start+ L' c1 J- k! J# P
  63. if "%yes%"==" " goto start( |+ r' l  |" q7 R/ j

  64. 3 [& T8 N" X; |3 o8 Z% f
  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 )  z, M" \$ `1 D/ K5 V
  66. TITLE FFMPEG%bianma%完成,%cd%\该目录总共处理!sum!个视频 - `1 |& F8 V# [
  67. echo 按任意键退出 & pause& S& b& H! k, e7 D2 B
  68. exit
复制代码

9 s  y! y& g! D9 s$ Y4 v  r
1 Y; G; m' G8 y5 e; t! n

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

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

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

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-6-20 07:11 AM , Processed in 0.085750 second(s), 26 queries .

Powered by xyh-moon X3.5

© 2001-2025 Discuz! Team.

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