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

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

[复制链接]

996

主题

92

回帖

5万

积分

管理员

积分
55583
发表于 2024-10-6 03:58:16 | 显示全部楼层 |阅读模式
  1. @ECHO Off & setlocal enabledelayedexpansion$ w6 @7 ^! e5 a2 j$ M- N+ u5 Y+ m
  2. color 0a2 X$ ~% O. Q( R( o
  3. TITLE FFMPEG批量加水印-%cd%
      `" t0 W! r6 w  v
  4. @ md download) Z- K$ T% _- m! ^5 z! z
  5. @ md video+ b! c2 ^7 l! x, c* {0 t# t9 V
  6. :start* r6 o5 X* ^9 j& d
  7. cls3 k* q" ~- h: @! _
  8. ECHO.     ┌──────雪球联盟MCN批量视频水印工具──────┐& B! ~0 s* T; I+ a  Q
  9. ECHO.                                     % W. L( h$ c; T( ~  N% q
  10. ECHO.           By:魏枫伦  http://www.xqmcn.com 5 h+ o* f7 [' ]5 Y: J
  11. ECHO.                                       
    3 n$ I$ Q. \& |. Z( u* Y9 e
  12. ECHO.          视频路径/download,导出路径/video
    % Y/ e2 t; d/ Z
  13. ECHO.                               
    6 M6 R& F6 S% w/ f" _
  14. echo.     └──────雪球联盟MCN批量视频水印工具──────┘
    ( y; G' Z  i. t4 C, a. m
  15. ECHO.; T* p, C5 [$ b  N) d! ^9 u
  16. for /f "tokens=1,2 delims==" %%a in ('wmic path Win32_VideoController get Name /value^|findstr "Name"') do (echo %%b | findstr "NVIDIA" >nul &&(- Z% @% o$ _( n
  17.     echo.★本机支持硬件加速,显卡型号:%%b
    5 Z2 o  b+ B$ i$ i1 E/ K
  18.     set /a  user_input=1
    9 Z! T: N5 F4 k4 p
  19. ) || (6 V3 a7 E3 I" s) k
  20.     echo.☆本机不支持硬件加速,默认采用软件编码( y; B% o3 b; a3 \
  21.     set /a  user_input=2
    : H1 U; F; f) y2 s, b9 _* B+ m
  22.     goto text  X0 `6 ]! V0 x+ n
  23. ))4 C3 s- A1 G% p) r) c9 x$ w8 y
  24. echo.5 _5 C- Y8 y, U4 D, A( {" a
  25. ECHO.==========设置开始,保持默认值请直接按回车==========3 `$ B/ x$ |" y$ P3 H* U# p1 ~# W9 N
  26. echo.
    - D5 }' m. V9 ~5 B1 @. L
  27. ECHO.【须提前准备字体文件"font.ttf"放到:程序所在目录】  j5 ?3 p( f( Y5 B7 [
  28. echo.
    ) s2 a% N# ?' L/ T: G
  29. ECHO.▼设置编码方式:【1.Nvida硬件编码(快)】【2.软件编码(慢)】(默认:1):  z" s  O/ O7 u
  30. set user_input=&set /p  user_input=
    # T( K8 [  R0 l' y: j
  31. if "%user_input%"==""  set /a  user_input=1
    # v. `7 T& Z6 s2 G4 R0 L
  32. if "%user_input%"==" "  set user_input=&goto start2 z) z8 j5 N, h( a" `
  33. :text+ O0 ]9 R! A- s0 R; e- c% }
  34. SET fontFile=%cd%\font.ttf
    * r1 {3 k& @5 M7 v; q3 q" @0 H. r3 b6 }
  35. if  exist %fontFile% ( echo.水印字体存在,继续操作 ) else ( echo.水印字体font.ttf不存在,请先添加 && goto start) ( _2 g2 R# z/ k( W! W
  36. ECHO.0 f2 S2 c' R1 U5 m5 m
  37. ECHO.▼需要添加的文字水印内容:
    % `- |3 Q+ d1 R  e
  38. set text=&set /p  text=) ?9 S' O  E" ]7 K& ^6 P9 N
  39. if "%text%"==""  echo.文字未设置,请重新设置 && goto text
    ( X+ Q& T3 d" H: d! }
  40. if "%text%"==" " set text=&goto start* M8 {2 F& [: i0 B* x, F
  41. ECHO.▼水印切换周期(帧):6 @. j$ K" y9 G$ e5 u' x# H
  42. ECHO.【例:30fps的视频,3秒切换一次,填90】. i, r3 `% C0 S( f1 ]/ n. G, e5 m! N
  43. set during=&set /p  during=; a8 f, s' S: @. l
  44. if "%during%"==""  set /a  during=150! u; b# G( h, j: C
  45. if "%during%"==" " set during=&goto start
      N2 A# X/ _9 A
  46. ECHO.▼请填写字体大小(默认40):5 ^1 L6 b# r) S9 L# `  D
  47. set fontsize=&set /p  fontsize=
    6 }* K- e! q; v7 J0 r" ^
  48. if "%fontsize%"==""  set /a  fontsize=40
    0 i7 l; f1 ~  o* k6 t9 r% s. L
  49. if "%fontsize%"==" " set fontsize=&goto start
    , u" Y, S$ K- y3 P
  50. ECHO.▼请填写水印字体颜色(默认white):+ N- V  d( z6 I+ Z& W6 X  @
  51. set fontcolor=&set /p  fontcolor=- M; T3 Z6 J4 @0 h& y
  52. if "%fontcolor%"==""  set  fontcolor=white- \1 A9 v" n- H$ M( R6 s
  53. if "%fontcolor%"==" " set fontcolor=&goto start+ R. J8 a/ e+ J+ j, D
  54.   H' X; d7 k! n! L
  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)"/ y5 a) ^$ H7 Z1 J/ z

  56. 8 r' `/ ~$ s% D3 U  h% L# k
  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 H* `8 P4 M* L) ~) X( x
  58. ECHO.%bianma%-水印文字:%text%-周期%during%-字号%fontsize%-颜色%fontcolor%8 t; w+ [9 T3 M' a/ R
  59. ECHO.==========参数设置完成,按任意键开始,输入N重新设置==========3 `6 n. W+ ~+ T' q' s9 @' E8 t- ?3 n
  60. set  yes=&set /p  yes=
    ) v7 v7 d. M2 a* v# l
  61. if "%yes%"=="N" goto start+ L5 ~( Y% O. h  f" X5 M% B
  62. if "%yes%"=="n" goto start5 |4 G1 q5 X. b9 [6 M/ y/ k
  63. if "%yes%"==" " goto start5 k2 T) z. d9 ]! ]9 D) Z' ^* U

  64. 0 L* j1 m0 H5 M3 R0 `* z
  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 )
    7 \. r& {, l) Q) R' q0 R6 ]/ t
  66. TITLE FFMPEG%bianma%完成,%cd%\该目录总共处理!sum!个视频 8 h( N' n5 z+ E4 N/ y
  67. echo 按任意键退出 & pause
    9 n; v, O! L* n
  68. exit
复制代码

$ `2 ]% u- L1 H( |! S1 E9 M5 `/ T7 ~7 n6 R

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

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

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

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2026-9-18 07:43 PM , Processed in 0.100028 second(s), 26 queries .

Powered by xyh-moon X3.5

© 2001-2026 Discuz! Team.

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