[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. SET FSO = CREATEOBJECT("SCRIPTING.FILESYSTEMOBJECT")
  2. SET WSH329 = CREATEOBJECT("WSCRIPT.SHELL")
  3. FUNCTION NUMSTR(X) ' X > 0
  4. IF X < 1 THEN
  5. NUMSTR = 0 & X
  6. ELSE
  7. NUMSTR = X
  8. END IF
  9. END FUNCTION
  10. SUB TAKE(FN, T, CNT, Y, JPGFN, TMPNAM62)
  11. ' ffmpeg -ss 1 -t 0.002 -i QQ视频20221105205711.mp4 SAMPLES\sample.jpg -vframes 1  -an  -f image2
  12. FOR I = 1 TO CNT
  13. SET TS = FSO.OPENTEXTFILE(TMPNAM62, 8, TRUE)
  14. JPGFN2 = JPGFN & I & ".JPG"
  15. TS.WRITELINE("file '" & JPGFN2 & "'")
  16. TS.CLOSE
  17. ' CMD = "CMD /C ffmpeg -y -ss " & T & " -t " & NUMSTR(Y) * I & " -i """ & FN & """ """ & JPGFN & I & ".JPG"" -vframes 1  -an  -f image2"
  18. CMD = "CMD /C ffmpeg -y " & " -ss " & NUMSTR(T + Y * I) & " -i """ & FN & """ """ & JPGFN2 & """ -vframes 1  -an  -f image2"
  19. WSCRIPT.ECHO(CMD)
  20. WSH329.RUN CMD, 10, TRUE
  21. NEXT
  22. END SUB
  23. FUNCTION GET_DURATION(FN, TMPNAM62)
  24. ' ffmpeg -i QQ视频20221105205711.mp4 2>&1 | findstr Duration
  25. '  Duration: 00:00:13.23, start: 0.000000, bitrate: 1492 kb/s
  26. CMD = "CMD /C ffmpeg -i """ & FN & """ 2>&1 | findstr Duration > """ & TMPNAM62 & """"
  27. WSCRIPT.ECHO(CMD)
  28. WSH329.RUN CMD, 10, TRUE
  29. SET TS = FSO.OPENTEXTFILE(TMPNAM62, 1, FALSE, TRISTATETRUE)
  30. LN = TS.READLINE
  31. TS.CLOSE
  32. FSO.DELETEFILE TMPNAM62
  33. SET REGEX = NEW REGEXP
  34. REGEX.PATTERN = "(\d\d):(\d\d):(\d\d)"
  35. SET MATCHES = REGEX.EXECUTE(LN)
  36. T = CINT(MATCHES(0).SUBMATCHES(0))
  37. T = T * 60 + CINT(MATCHES(0).SUBMATCHES(1))
  38. T = T * 60 + CINT(MATCHES(0).SUBMATCHES(2))
  39. GET_DURATION = T
  40. END FUNCTION
  41. SUB MAIN4(FN, CNT, Y, JPGFD, TMPNAM62, GIFOUT)
  42. IF NOT FSO.FOLDEREXISTS(JPGFD) THEN
  43. FSO.CREATEFOLDER(JPGFD)
  44. END IF
  45. DURATION = GET_DURATION(FN, TMPNAM62)
  46. FOR I = 0 TO 7
  47. WSCRIPT.ECHO(I)
  48. TAKE FN, DURATION/8 *I, CNT, Y, JPGFD & "\SAMPLE-" & I & "-", TMPNAM62
  49. NEXT
  50. CMD = "ffmpeg -r 10 -f concat -safe 0 -i PRINT12912213.TMP.TXT " & GIFOUT
  51. WSCRIPT.ECHO(CMD)
  52. WSH329.RUN CMD, 10, TRUE
  53. END SUB
  54. MAIN4 WSCRIPT.ARGUMENTS(0), 10, 1, "SAMPLES21031", "PRINT12912213.TMP.TXT", WSCRIPT.ARGUMENTS(1)
复制代码
使用方法:保存为PRINTS.VBS文件,在命令行输入以下命令执行:
  1. CSCRIPT PRINTS.VBS "C:\Users\ADMIN\Videos\知识点精讲-毛概.FLV OUT.GIF
复制代码
后面两个参数是视频和GIF名称,根据实际修改。

TOP

返回列表