Guest User

ffmpeg bat converter

a guest
Aug 30th, 2016
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.66 KB | None | 0 0
  1. @echo off
  2. set num=
  3. set name=
  4. set ext=.mkv
  5.  
  6. set pass=
  7.  
  8. set ss=
  9. set to=
  10.  
  11. set bv=1000
  12. set ba=100
  13. ::c для copy, n для an/vn, 500-64 если пусты
  14.  
  15. set scale=
  16. ::Например -1:720
  17.  
  18. set sub=
  19. ::Например boku no pico.ass
  20.  
  21. set speed=
  22.  
  23. set namevideo=
  24. ::отсюда возьмется видео, а из %name%%ext% аудио
  25.  
  26. set ss0=
  27. set t=
  28.  
  29. set outf=
  30. set title=
  31. set delete_an=
  32.  
  33. set si=
  34. ::номер дорожки вшитых в мкв сабов
  35.  
  36. set mapa=
  37. set var1=
  38. set var2=
  39.  
  40. set frame_duration=60
  41.  
  42. if "%name%" == "" ( set name=%~nx1)
  43. if "%sub%" == "" ( set sub=%~nx2)
  44. ::Для перетаскивания файлов на этот батник
  45.  
  46. set path1=D:\w\f\c\
  47.  
  48. ::==================================================================================::
  49.  
  50. if not "%t%" == "" (set t=-t %t%)
  51. if not "%to%" == "" (set to=-to %to%)
  52. if not "%ss0%" == "" (set ss0=-ss %ss0%)
  53. if not "%ss%" == "" (set ss=-ss %ss%)
  54.  
  55. if "%bv%" == "" (set bv=-b:v 500k) else if "%bv%" == "c" (set bv=-c:v copy) else ^
  56. if "%bv%" == "n" (set bv=-vn) else (set bv=-b:v %bv%k)
  57. if "%ba%" == "" (set ba=-b:a 64k) else if "%ba%" == "c" (set ba=-c:a copy) else ^
  58. if "%ba%" == "n" (set ba=-an) else (set ba=-b:a %ba%k)
  59.  
  60.  
  61. if not "%scale%" == "" (set scale=scale=%scale%:flags=lanczos
  62. set vf=-vf %scale%)
  63.  
  64. if not "%si%" == "" (set sub=%name%%ext%:si=%si%)
  65.  
  66. if not "%sub%" == "" ( if not "%vf%" == "" (set vf=%vf%,subtitles="%sub%") ^
  67. else (set vf=-vf subtitles="%sub%") )
  68.  
  69. if not "%speed%" == "" (set speed=-speed %speed%)
  70. if "%mapa%" == "" (set mapa=-map 0:a)
  71.  
  72. if not "%frame_duration%" == "" (set frame_duration=-frame_duration %frame_duration%)
  73.  
  74. set log=-passlogfile "%path1%logs\log%name%%num%"
  75. if not "%title%" == "" (set title=%title%) else (set title=%name%)
  76.  
  77. set outname=%title%%num%
  78. if "%outf%" == "" (set outf=webm) else (set outf=%outf%)
  79. set outext=.%outf%
  80.  
  81. @echo on
  82.  
  83. if not "%pass%" == "" (goto %pass%)
  84. :1
  85. ffmpeg %ss0% -i "%name%%ext%" %vf% %ss% %to% %t% %log% %speed% %bv% %var1% %var2% -an -sn -frame-parallel 0 -pass 1 -tile-columns 0 -threads 1 -y -f %outf% NUL
  86. :2
  87. ffmpeg %ss0% -i "%name%%ext%" %ss% %to% %t% %vf% %log% %speed% %bv% %var1% %var2% -an -sn -frame-parallel 0 -pass 2 -tile-columns 0 -threads 1 -metadata title="%title%" -y "%outname%-an%outext%"
  88.  
  89. if "%ba%"==-an (ren "%outname%"-an%outext% %outname%"%outext%
  90. goto 4)
  91. set namevideo=%outname%-an%outext%
  92.  
  93. :3
  94. ffmpeg %ss% %ss0% -i "%name%%ext%" -i "%namevideo%" %ba% %var1% %var2% ^
  95. %mapa% -map 1:v -c:v copy -metadata title="%title%" %frame_duration% -shortest -ac 2 -y "%outname%%outext%"
  96.  
  97. if "%delete_an%"==1 (del "%name%-an%outext%")
  98.  
  99. :4
  100. pause
Advertisement
Add Comment
Please, Sign In to add comment