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

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

[复制链接]

986

主题

92

回帖

5万

积分

管理员

积分
55255
发表于 2024-10-6 03:58:16 | 显示全部楼层 |阅读模式
  1. @ECHO Off & setlocal enabledelayedexpansion
    - s, Q& j$ L1 c8 V( a; q& y
  2. color 0a
    ! F4 Z0 D) I8 B( Z; N( o8 ]
  3. TITLE FFMPEG批量加水印-%cd%
    % j% J1 b# A9 [7 u3 j" {
  4. @ md download" a, t  I1 k6 c- J$ D- O
  5. @ md video
    6 r" K; K' B- K/ ]7 m; M- Q8 N
  6. :start
    8 W" `4 r$ W. _* }9 r; j' G& g2 Q7 I
  7. cls
    ) }' a6 J- a& A- I5 X
  8. ECHO.     ┌──────雪球联盟MCN批量视频水印工具──────┐
    5 D/ U: W" S6 e1 \1 x; j" A% G
  9. ECHO.                                     + Y# P. }( }9 \- b
  10. ECHO.           By:魏枫伦  http://www.xqmcn.com
    + N! X1 P4 j) L0 [2 p6 S6 }$ T
  11. ECHO.                                       
    - [7 M" a$ O; b* C
  12. ECHO.          视频路径/download,导出路径/video6 E* W6 W2 s/ ~( o5 h( }; K# n$ i
  13. ECHO.                               
    " ~* A" u/ s% d5 t% C& X
  14. echo.     └──────雪球联盟MCN批量视频水印工具──────┘* D  p6 K3 g, Z( m2 m' b
  15. ECHO.% o$ O8 I5 f6 Z, ^) x9 v
  16. for /f "tokens=1,2 delims==" %%a in ('wmic path Win32_VideoController get Name /value^|findstr "Name"') do (echo %%b | findstr "NVIDIA" >nul &&(" Q6 z% m9 X  T2 [! N
  17.     echo.★本机支持硬件加速,显卡型号:%%b
    : ]8 d5 G- G2 w. d. k( f* m/ {
  18.     set /a  user_input=1) x  h' B! I8 D% G( U
  19. ) || (7 K4 j6 ?: h, ?( I# W# M
  20.     echo.☆本机不支持硬件加速,默认采用软件编码% l& v  t+ ?' l. C
  21.     set /a  user_input=2# _$ d/ Y& R2 K$ O' s2 t2 E3 Y: i/ {
  22.     goto text
    ; F7 W( O) Z; z6 H+ [! ?( V, R
  23. ))
    % L# `( F9 Y# B% `! u
  24. echo.
    4 [* H4 i0 l  G# _: b
  25. ECHO.==========设置开始,保持默认值请直接按回车==========, j9 I) H& X) d6 z
  26. echo.
    $ Z0 Y1 R  J2 p# v( [" D! I
  27. ECHO.【须提前准备字体文件"font.ttf"放到:程序所在目录】3 ?5 s$ L7 `0 h. G) X6 P
  28. echo.
    , K2 X+ |( G* X  y0 _4 n) C
  29. ECHO.▼设置编码方式:【1.Nvida硬件编码(快)】【2.软件编码(慢)】(默认:1):
    7 i$ D, L' o& a' g$ ?
  30. set user_input=&set /p  user_input=# m4 T9 P2 h2 Z- Z2 O
  31. if "%user_input%"==""  set /a  user_input=15 R- k6 J5 d- ]% `3 r
  32. if "%user_input%"==" "  set user_input=&goto start. p+ m9 ?6 S( g
  33. :text
    * T  c, B; x8 `- t8 ^1 G6 h
  34. SET fontFile=%cd%\font.ttf# f! o( C4 o; X8 h2 o& l
  35. if  exist %fontFile% ( echo.水印字体存在,继续操作 ) else ( echo.水印字体font.ttf不存在,请先添加 && goto start)
    6 l# ?+ F8 ~+ S2 W) ^
  36. ECHO.; g& d/ ?+ z4 Y
  37. ECHO.▼需要添加的文字水印内容:
    0 \4 }, ?6 y5 B+ `
  38. set text=&set /p  text=( q5 ]. j5 K; k5 C) V/ a# \
  39. if "%text%"==""  echo.文字未设置,请重新设置 && goto text : T2 w6 _4 V" a6 q" h- Y
  40. if "%text%"==" " set text=&goto start2 _. x: |( u# [* B
  41. ECHO.▼水印切换周期(帧):) W" a! R' V/ P5 h- f: V
  42. ECHO.【例:30fps的视频,3秒切换一次,填90】
    $ v* }5 u, d, ^/ a5 ?
  43. set during=&set /p  during=
    & U! E- p6 _3 }6 X3 u
  44. if "%during%"==""  set /a  during=150* m# Q# b( ?- B" w
  45. if "%during%"==" " set during=&goto start
    ' M2 m( u8 A2 }4 }' o7 X6 _
  46. ECHO.▼请填写字体大小(默认40):
    3 a& m: r' F( Q+ e1 |
  47. set fontsize=&set /p  fontsize=
    ) Z& Q! @3 x- I( z
  48. if "%fontsize%"==""  set /a  fontsize=40/ A% o: n: l3 s
  49. if "%fontsize%"==" " set fontsize=&goto start
    2 u* J2 `: O' X' t5 h: W) f- \
  50. ECHO.▼请填写水印字体颜色(默认white):
    * \/ O# O5 Z4 x
  51. set fontcolor=&set /p  fontcolor=
    ) X& h  c9 g9 E* ]
  52. if "%fontcolor%"==""  set  fontcolor=white
    7 M7 ^/ x/ m$ a1 S6 q. }
  53. if "%fontcolor%"==" " set fontcolor=&goto start
    4 e4 Q7 F! `7 C9 |" i. l

  54. * ?6 K# E5 C6 H8 r9 `8 j
  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)"/ ^* {; T2 R- o. v) S
  56. 9 W3 c: o7 |4 D7 R
  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=软件编码)
    6 p3 Q. t6 z9 S/ t! d3 A
  58. ECHO.%bianma%-水印文字:%text%-周期%during%-字号%fontsize%-颜色%fontcolor%
    ) Q4 }. R5 e- n( b& i* |
  59. ECHO.==========参数设置完成,按任意键开始,输入N重新设置==========
    ! M5 D, H2 l- y6 Q5 ^0 Y
  60. set  yes=&set /p  yes=# A8 m& y' \% i: ?- J; e/ ^
  61. if "%yes%"=="N" goto start/ X3 j: E! g% }. j
  62. if "%yes%"=="n" goto start
    . }1 A. x+ q" w6 t% i
  63. if "%yes%"==" " goto start- _; ?1 n: q- V% a
  64. * X3 O& o! R0 B, [! r! ?2 T
  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 )! m% @& V0 T5 V# ]( {/ P
  66. TITLE FFMPEG%bianma%完成,%cd%\该目录总共处理!sum!个视频 2 z( U, D/ E' R  Z$ N4 _
  67. echo 按任意键退出 & pause' y, G# B% Y' c/ u8 n. M3 l
  68. exit
复制代码
# L! m# [" w$ D  g  |8 ~1 e' ~

* w6 g% M0 W( Z! V, a* j

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

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

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

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-3-22 01:18 AM , Processed in 0.089661 second(s), 26 queries .

Powered by xyh-moon X3.5

© 2001-2025 Discuz! Team.

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