LAPINPT

ff-DTS2AC3

Feb 1st, 2016
147
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 1.71 KB | None | 0 0
  1. @ECHO OFF
  2.  
  3. :: bin\ffmpeg.exe
  4. :: bin\mkvmerge.exe
  5.  
  6. setlocal ENABLEDELAYEDEXPANSION
  7.  
  8. CD /D "%~dp0"
  9.  
  10. :LOOP
  11. IF [%1]==[] GOTO EOF
  12.  
  13. SET "FStrm="
  14. FOR /F "tokens=2,3 delims=#:(" %%F IN ('bin\ffmpeg -i "%~1" 2^>^&1 ^| FIND "Stream" ^| FIND "Audio" ^| FIND "dts"') DO (
  15.     SET FStrm=%%G
  16.     SET /A AStrm=!FStrm!-1
  17.     SET "AST=DTS Stream %%F:%%G"
  18. )
  19.  
  20. IF [%FStrm%]==[] (
  21.     ECHO NO DTS Stream "%~n1"
  22.     GOTO JUMP
  23. )
  24.  
  25. SET "nameA=%~n1"
  26. SET "nameB=%nameA: =.%"
  27. SET "nameC=%nameB:DTS.=%"
  28. SET "nameD=%nameC:x264=x264.AC3%"
  29. SET "nameF=%nameD%%~x1"
  30.  
  31. SET "dirA=%~dp1"
  32. SET "dirF=%dirA:~0,-1%"
  33.  
  34. SET Bsz=%~z1
  35. SET /A MBsz=%Bsz:~0,-3%/1048
  36. SET /A GBsz=(%MBsz%/1024)+1
  37.  
  38. SET CTRL=
  39. FOR /F "tokens=1,2" %%A IN ('WMIC logicaldisk where DriveType^="3" get Caption^, FreeSpace ^| SORT /R ^| FIND /V "%~d1" ^| FIND /V "Caption"') DO (
  40.     SET Tdrive=%%A
  41.     SET Bsp=%%B
  42.     IF [%CTRL%]==[] GOTO NEXT
  43. )
  44.  
  45. FOR /F "skip=1" %%G IN ('WMIC logicaldisk where Caption^="%~d1" get FreeSpace') DO SET Bsp=%%B
  46. SET Tdrive=%~d1
  47.  
  48. :NEXT
  49. SET /A MBsp=%Bsp:~0,-3%/1048
  50. SET /A GBsp=%MBsp%/1024
  51. IF %GBsp% GTR %GBsz% (
  52.     SET CTRL=OK
  53. ) ELSE (
  54.     ECHO NO FREE SPACE
  55.     GOTO JUMP
  56. )
  57.  
  58. ECHO %AST%   Tdrive: %Tdrive%   FreeSP: %GBsp%GB   Fsize: %GBsz%GB
  59. ECHO OUTdir: %dirF%    OUTname: %nameF% & ECHO(
  60. TIMEOUT 4 >NUL
  61.  
  62. SET "FFtmp=%Tdrive%\FF-%nameF%%~x1"
  63. bin\ffmpeg -hide_banner -i "%~1" -flags +global_header -map 0 -c copy -c:a:%AStrm% ac3 -b:a 640k "%FFtmp%" && (
  64.     bin\mkvmerge -o "%dirF%\%nameF%" --track-name 0: --compression 0:none --track-name 1: --compression 1:none -M -T --no-global-tags "%FFtmp%" --title "" && DEL  /F "%FFtmp%"
  65.     ECHO( & ECHO( & ECHO(
  66. )
  67.  
  68. :JUMP
  69.  
  70. SHIFT
  71. GOTO LOOP
  72.  
  73. :EOF
  74. ECHO ALL DONE
  75. TIMEOUT 10 >NUL
Advertisement
Add Comment
Please, Sign In to add comment