Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- chcp 65001
- set num=
- set name=
- set ext=
- set speed=0
- set title=
- set pass=1
- set ss=
- set to=
- set bv=1000
- set ba=n
- ::c для copy, n для an/vn, 500-64 если пусты
- set scale=
- ::Например -1:720
- set sub=
- set subext=ass
- set namevideo=
- ::отсюда возьмется видео, а из %name%%ext% аудио
- set ss0=
- set t=
- set outf=
- set si=
- ::номер дорожки вшитых в мкв сабов
- set mapa=
- ::номер аудиодорожки
- set frame_duration=60
- set path1=%USERPROFILE%\AppData\Local\Temp\fflogs\
- ::==================================================================================::
- if "%name%" == "" ( set name=%~nx1)
- if "%sub%" == "" ( set sub=%~nx2) else set sub=%sub%.%subext%
- ::Для перетаскивания файлов на этот батник
- if not "%t%" == "" (set t=-t %t%)
- if not "%to%" == "" (set to=-to %to%)
- if not "%ss0%" == "" (set ss0=-ss %ss0%)
- if not "%ss%" == "" (set ss=-ss %ss%)
- if "%bv%" == "" (set bv=-b:v 500k) else if "%bv%" == "c" (set bv=-c:v copy) else ^
- if "%bv%" == "n" (set bv=-vn) else (set bv=-b:v %bv%k)
- if not "%crf%" == "" (set crf=-crf %crf%)
- if "%ba%" == "" (set ba=-b:a 64k) else if "%ba%" == "c" (set ba=-c:a copy) else ^
- if "%ba%" == "n" (set ba=-an) else (set ba=-b:a %ba%k)
- if not "%scale%" == "" (set vf=-vf scale=%scale%/dar
- set flags=-sws_flags bicubic -param0 1/3 -param1 1/3)
- if not "%si%" == "" (set sub=%name%%ext%:si=%si%)
- if not "%sub%" == "" ( if not "%vf%" == "" (set vf=%vf%,subtitles="%sub%") ^
- else (set vf=-vf subtitles="%sub%") )
- if "%mapa%" == "" (set mapa=-map 0:a) ^
- else (set mapa=-map 0:%mapa%:a)
- if not "%speed%" == "" (set speed=-speed %speed%)
- if not "%frame_duration%" == "" (set frame_duration=-frame_duration %frame_duration%)
- mkdir %path1%
- set log=-passlogfile "%path1%\log%name%%num%"
- if not "%title%" == "" (set title=%title%) else (set title=%name%)
- set outname=%title%_%num%
- if "%outf%" == "" (set outf=webm) else (set outf=%outf%)
- set outext=.%outf%
- if not "%pass%" == "" (goto %pass%)
- @echo on
- :1
- 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
- :2
- 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%"
- if "%ba%"==-an (ren "%outname%"_an%outext% %outname%"%outext%
- goto 4)
- set namevideo=%outname%_an%outext%
- :3
- ffmpeg %ss% %ss0% -i "%name%%ext%" -i "%namevideo%" %ba% %var1% %var2% ^
- %mapa% -map 1:v -c:v copy -metadata title="%title%" %frame_duration% -shortest -ac 2 -y "%outname%%outext%"
- if "%clean%"==1 (del "%name%-an%outext%")
- :4
- pause
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement