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

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

[复制链接]

979

主题

90

回帖

5万

积分

管理员

积分
53052
发表于 2024-10-6 03:58:16 | 显示全部楼层 |阅读模式
  1. @ECHO Off & setlocal enabledelayedexpansion
    + X5 u  }' D" I4 E- \
  2. color 0a
    " V4 h! C8 m3 r% T6 r6 k
  3. TITLE FFMPEG批量加水印-%cd%
    2 q/ p  m: b" p0 T( Y5 ^- u
  4. @ md download5 g. H' \' M0 t2 Z
  5. @ md video
    ! \) L5 {: A! a0 i7 d: Z; O4 ]8 r% E
  6. :start
    0 L/ o7 Z8 E5 S8 R& z) t4 d
  7. cls9 q. O. l' q& W0 h; r$ [
  8. ECHO.     ┌──────雪球联盟MCN批量视频水印工具──────┐4 T) y* t/ A. p
  9. ECHO.                                     * `# k: c  ]: o. N6 H* G
  10. ECHO.           By:魏枫伦  http://www.xqmcn.com 5 ~; [; I3 \3 ]' U
  11. ECHO.                                       
    & w7 K3 I! V; J# N1 \" ?- C% I1 g$ S1 s
  12. ECHO.          视频路径/download,导出路径/video6 ^' N8 v5 G0 K/ a, Z# u
  13. ECHO.                               
    * l5 _. Q$ s: ^3 @! B9 A7 Q7 B0 ^
  14. echo.     └──────雪球联盟MCN批量视频水印工具──────┘+ |, v. B/ K3 r$ Y8 L( \
  15. ECHO.2 W6 l3 R* [+ j2 E9 L8 o
  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 c. r# P+ u9 q- _. K1 Z
  17.     echo.★本机支持硬件加速,显卡型号:%%b# b! [1 f/ b) m" V3 `6 F3 c
  18.     set /a  user_input=1) K" T: d$ q+ Z' C+ I( d9 u
  19. ) || (
    # R2 A* [3 b- Q% E+ R9 _
  20.     echo.☆本机不支持硬件加速,默认采用软件编码
    " M3 v9 m2 e: k% D+ H
  21.     set /a  user_input=2
    4 I3 g- \- b) h0 o3 x  f
  22.     goto text, y2 P+ h. V/ O% Z- z  I) q2 P1 h9 B
  23. ))
    $ o. w% H, L( d% F+ b) q( I
  24. echo.
    3 \5 V8 @  v  O6 c: h1 B: d6 S
  25. ECHO.==========设置开始,保持默认值请直接按回车==========* z  T/ b5 l7 i* y1 v5 V" \3 z
  26. echo./ o; a* R) L# v8 M, l$ p
  27. ECHO.【须提前准备字体文件"font.ttf"放到:程序所在目录】! @. n8 Y8 T5 k" Q) p( s- `
  28. echo./ [" h. Q& l+ o7 V6 b+ e9 k% U
  29. ECHO.▼设置编码方式:【1.Nvida硬件编码(快)】【2.软件编码(慢)】(默认:1):
    # _9 M8 n& R0 T5 ^
  30. set user_input=&set /p  user_input=& Y6 @1 p$ d+ }3 m
  31. if "%user_input%"==""  set /a  user_input=1+ X, ]+ d, J; a* U
  32. if "%user_input%"==" "  set user_input=&goto start
    8 f* @) f2 b/ `2 b
  33. :text
    % R1 @: ^7 b3 ]/ p: O4 K6 n
  34. SET fontFile=%cd%\font.ttf
    7 B2 [% K7 Z6 x+ n0 X
  35. if  exist %fontFile% ( echo.水印字体存在,继续操作 ) else ( echo.水印字体font.ttf不存在,请先添加 && goto start)
    ( k! @; O) \9 I# i! G# h# V
  36. ECHO.8 U; D# Y2 }; {- s! Q& M% L
  37. ECHO.▼需要添加的文字水印内容:: h+ _$ R2 l  V* L& u* }3 d2 p
  38. set text=&set /p  text=0 ~0 |) ~% V# M
  39. if "%text%"==""  echo.文字未设置,请重新设置 && goto text 6 N, J5 _5 q) N  E
  40. if "%text%"==" " set text=&goto start* a, c  ?0 y$ n- x. |
  41. ECHO.▼水印切换周期(帧):
    # D8 f, r. O* s4 D
  42. ECHO.【例:30fps的视频,3秒切换一次,填90】8 J) M8 f/ V1 O( k) p: m
  43. set during=&set /p  during=
    5 J' |# K$ o) a
  44. if "%during%"==""  set /a  during=150) v# R$ E' ~0 Y1 }, D/ ^
  45. if "%during%"==" " set during=&goto start& d( k4 X( l2 V: m
  46. ECHO.▼请填写字体大小(默认40):' F, r, a& D; Q5 p9 I0 f
  47. set fontsize=&set /p  fontsize=
    & f- h. G4 E) f0 E! p: {+ N
  48. if "%fontsize%"==""  set /a  fontsize=40+ [" r. f0 W0 N  X* \! [
  49. if "%fontsize%"==" " set fontsize=&goto start
    5 j0 j; [  K- E" I$ q! Z
  50. ECHO.▼请填写水印字体颜色(默认white):
    - N  N' s( Y% Z! `
  51. set fontcolor=&set /p  fontcolor=
    # G" S9 W6 ]" _
  52. if "%fontcolor%"==""  set  fontcolor=white2 K5 C% J5 ~9 q# {5 a4 w* w' Z
  53. if "%fontcolor%"==" " set fontcolor=&goto start& c: B8 Y3 P/ g( D+ n4 |6 b, E

  54. 2 Z  V  p6 Q4 b4 `
  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)"
    , k# l0 h2 e1 p& `

  56. $ [$ t& J* t: H' K. 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=软件编码)9 H; O, g1 `; ^% q) q; f
  58. ECHO.%bianma%-水印文字:%text%-周期%during%-字号%fontsize%-颜色%fontcolor%9 [: O! t1 m5 V1 ?- D8 o7 p
  59. ECHO.==========参数设置完成,按任意键开始,输入N重新设置==========0 h- z) V, {( G6 f$ R8 g6 A
  60. set  yes=&set /p  yes=
    8 ?6 M0 ]7 M7 b
  61. if "%yes%"=="N" goto start; f' _2 ^6 k7 ~* r* _* T) }# B
  62. if "%yes%"=="n" goto start
    + P/ v3 U6 G! _+ _9 J# G! ^
  63. if "%yes%"==" " goto start
    7 H! K; s" O3 }0 f

  64. 1 L4 ?  g* I% D5 ?" C6 `0 D. |) 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 )
    & D0 Y6 p) q# i3 c* |* _6 r  J
  66. TITLE FFMPEG%bianma%完成,%cd%\该目录总共处理!sum!个视频
    + B+ y6 i" _6 z, w$ |
  67. echo 按任意键退出 & pause- M% k) t3 f3 U# a* w% E' K8 y
  68. exit
复制代码

0 c# B8 Z% b1 y" b0 v6 ^8 J9 O' V0 o. }) m4 ~- x! |/ {

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

1.89 MB, 下载次数: 11

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

本版积分规则

Archiver|手机版|小黑屋|

GMT+8, 2025-2-25 06:26 , Processed in 0.128101 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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