Advertisement
glabr144

ffmpeg bat converter 2

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