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

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

[复制链接]

986

主题

92

回帖

5万

积分

管理员

积分
55255
发表于 2024-10-6 03:58:16 | 显示全部楼层 |阅读模式
  1. @ECHO Off & setlocal enabledelayedexpansion
    8 |% \' O: v2 a$ w
  2. color 0a
    4 o5 R0 g, V& b" a8 N2 B; y9 v
  3. TITLE FFMPEG批量加水印-%cd%  b9 E$ m) w) C' D
  4. @ md download
    + V8 {8 Y+ ?$ P, Q0 V7 _& p) i
  5. @ md video
    % N/ F/ f2 x2 u; W2 o% [  A& t
  6. :start
    ( c/ B( {, Y) u  `% o
  7. cls
    ! b/ t& B1 \7 X# i8 e5 s9 J
  8. ECHO.     ┌──────雪球联盟MCN批量视频水印工具──────┐, e' C# U% \/ s& G
  9. ECHO.                                     . m3 j1 a  D% a* o
  10. ECHO.           By:魏枫伦  http://www.xqmcn.com
    $ B3 N4 T" P: g2 x: ^6 h8 ~
  11. ECHO.                                       2 i9 O  i9 E) @: s$ @7 A
  12. ECHO.          视频路径/download,导出路径/video. e7 O9 W& r7 M. {1 A/ b
  13. ECHO.                               
      @/ r4 _8 I/ E1 t+ A
  14. echo.     └──────雪球联盟MCN批量视频水印工具──────┘! m. b  c$ M, D
  15. ECHO.% L: G1 v3 J6 X# }8 x
  16. for /f "tokens=1,2 delims==" %%a in ('wmic path Win32_VideoController get Name /value^|findstr "Name"') do (echo %%b | findstr "NVIDIA" >nul &&(1 F' h% ]& O' u. X
  17.     echo.★本机支持硬件加速,显卡型号:%%b1 A( x3 @8 E3 C
  18.     set /a  user_input=1, s3 j$ L/ d) T' r# X
  19. ) || (
    , s8 W* G" F7 [' e- R
  20.     echo.☆本机不支持硬件加速,默认采用软件编码* S$ }6 v8 h+ ?' g8 X7 g
  21.     set /a  user_input=2( {- M$ H; O' h/ n9 Y$ y+ H
  22.     goto text
    5 U$ v) U. I. [7 N' x2 t2 R+ f
  23. ))7 D4 Z) b/ {8 [8 I8 j
  24. echo.$ ]# r$ R7 }5 }
  25. ECHO.==========设置开始,保持默认值请直接按回车==========
      b7 c1 t$ ^$ }" Q0 G7 L
  26. echo.; n8 }8 w. l( |3 K- I& {
  27. ECHO.【须提前准备字体文件"font.ttf"放到:程序所在目录】7 _* L& V$ k2 }# ^! K* s9 ?5 Q
  28. echo." B* N- g' Q; }9 a* c( l% l
  29. ECHO.▼设置编码方式:【1.Nvida硬件编码(快)】【2.软件编码(慢)】(默认:1):
    # O8 ]. I: ~( ]4 |, u' Y9 k, b3 F
  30. set user_input=&set /p  user_input=
    : {: ^- J! m2 }. W- \8 B: i# {
  31. if "%user_input%"==""  set /a  user_input=1
    6 h2 r1 R# w; R/ Z) }
  32. if "%user_input%"==" "  set user_input=&goto start# j' {5 r# Y( v
  33. :text' w# y0 b" m" V2 h$ Z6 b; z
  34. SET fontFile=%cd%\font.ttf
    ( R. Z, }' y0 T  g- B! v9 f2 J8 L
  35. if  exist %fontFile% ( echo.水印字体存在,继续操作 ) else ( echo.水印字体font.ttf不存在,请先添加 && goto start)
    & N& l; l* Q( X4 T0 N  }
  36. ECHO.
    ; D# u3 e: `5 s3 s' D# z/ [
  37. ECHO.▼需要添加的文字水印内容:
    $ l7 p# |. k2 z" p+ `
  38. set text=&set /p  text=
    ! c! j7 L- U4 T$ m4 C+ x0 Q( x1 B- \
  39. if "%text%"==""  echo.文字未设置,请重新设置 && goto text 6 Z7 B% J3 x; r$ l- P2 v* j
  40. if "%text%"==" " set text=&goto start" F5 q2 T0 p" t  C
  41. ECHO.▼水印切换周期(帧):* M7 ?; v, t/ z6 |( u: G
  42. ECHO.【例:30fps的视频,3秒切换一次,填90】
    9 x4 d8 ~& J5 X( I+ X- L7 C( \
  43. set during=&set /p  during=
    . l1 g$ r( F+ l; V3 K* S
  44. if "%during%"==""  set /a  during=150
    % @1 ~" u8 E8 N: |( @" n3 h, T4 g$ b
  45. if "%during%"==" " set during=&goto start
    % o. S) k7 P7 H0 h( R
  46. ECHO.▼请填写字体大小(默认40):
    + K5 V1 G! @2 j6 ?' d8 M
  47. set fontsize=&set /p  fontsize=0 q' g8 c' T" ?; D, p! u
  48. if "%fontsize%"==""  set /a  fontsize=40/ @: Y5 E5 w% c; A6 |  r
  49. if "%fontsize%"==" " set fontsize=&goto start3 v5 h! C% g5 i. K+ h
  50. ECHO.▼请填写水印字体颜色(默认white):
    , v: ~& |7 H" e5 h7 h3 C) V! n  x
  51. set fontcolor=&set /p  fontcolor=* h6 G5 m& J4 e( y
  52. if "%fontcolor%"==""  set  fontcolor=white9 n3 a! x  y$ U; w2 `
  53. if "%fontcolor%"==" " set fontcolor=&goto start
    1 m9 H0 N* }( g, w& f7 \

  54. ! h2 F9 V4 F& Q1 ^
  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)") B2 s( j! t) E( `2 D

  56. 0 T# L' Z: N4 r5 O+ B1 Y+ Y
  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=软件编码)# j5 D, H, e  n4 n4 q6 R9 ]# x/ k
  58. ECHO.%bianma%-水印文字:%text%-周期%during%-字号%fontsize%-颜色%fontcolor%$ d9 K+ y! e3 ]" X) D& v3 l
  59. ECHO.==========参数设置完成,按任意键开始,输入N重新设置==========( A1 m; d3 W0 \4 E, k& a; {
  60. set  yes=&set /p  yes=% B1 J/ {# m& T
  61. if "%yes%"=="N" goto start
    3 M  V7 x2 y: k* V8 [- ]" V
  62. if "%yes%"=="n" goto start
    1 ]4 c/ F; {( z3 F, M
  63. if "%yes%"==" " goto start( e. ?; q" C; u. t" A: K6 \1 }
  64. ( O2 q+ W- u/ b$ G+ w% C
  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 )* a( S8 ]4 L: f9 E; |) n: L
  66. TITLE FFMPEG%bianma%完成,%cd%\该目录总共处理!sum!个视频 ) \. j6 Z. x: h
  67. echo 按任意键退出 & pause
    / h- b# B* u0 J: T' G
  68. exit
复制代码
# b" `# m6 {( Y9 g" M5 S' U7 [0 \
# f0 m4 Q6 j# R: p+ `$ U

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

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

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

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-3-22 01:09 AM , Processed in 0.083921 second(s), 25 queries .

Powered by xyh-moon X3.5

© 2001-2025 Discuz! Team.

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