Browse Source

Fix NVENC, add DVD handling preset

Mike L 3 years ago
parent
commit
8745acdffa
3 changed files with 20 additions and 13 deletions
  1. 14 9
      encoding.cfg
  2. 3 2
      将所有素材拖到此处.bat
  3. 3 2
      將所有素材拖曳到這裡.bat

+ 14 - 9
encoding.cfg

@@ -1,9 +1,14 @@
-;FPS=3000/10001
-;IARGS=-ss 123.45
-;OARGS=-t 23.45
-;VENCARGS=-preset medium -crf 23 -keyint_min "%FPS%" -g "%FPS%*10.01" -movflags faststart
-;VENCARGS_X264=
-;VENCARGS_QSV=
-;VENCARGS_NVENC=
-;VENCPRESET=1
-;VOUT=%USERPROFILE%\Desktop\%VNAME%_out.mp4
+;FPS=3000/10001
+;IARGS=-ss 123.45
+;OARGS=-t 23.45
+;VENCARGS=-preset medium -crf 23 -keyint_min "%FPS%" -g "%FPS%*10.01" -movflags faststart
+;VENCARGS_X264=
+;VENCARGS_QSV=
+;VENCARGS_NVENC=
+;VENCPRESET=1
+;VOUT=%USERPROFILE%\Desktop\%VNAME%_out.mp4
+;
+; Uncomment these two lines for DVD source, preferably
+; copy and save as dvd.cfg to apply per instance
+;VFILTERS_DVD=scale=720x406:flags=spline,setsar=1:1
+;VFILTERS=%VFILTERS_DVD%,

+ 3 - 2
将所有素材拖到此处.bat

@@ -72,7 +72,7 @@ IF "%FPS%"=="" SET FPS=30
 
 IF "%VENCARGS_X264%"=="" ( SET VENCARGS_X264=-preset fast -crf 20 ) ELSE ( ECHO 导入 x264 编码参数预设:%VENCARGS_X264% )
 IF "%VENCARGS_QSV%"=="" ( SET VENCARGS_QSV=-c:v h264_qsv -global_quality 19 ) ELSE ( ECHO 导入 QSV 编码参数预设:%VENCARGS_X264% )
-IF "%VENCARGS_NVENC%"=="" ( SET VENCARGS_NVENC=-c:v h264_nvenc -rc vbr_hq -cq 19 -profile high ) ELSE ( ECHO 导入 NVENC 编码参数预设:%VENCARGS_X264% )
+IF "%VENCARGS_NVENC%"=="" ( SET VENCARGS_NVENC=-c:v h264_nvenc -preset slow -cq 19 -profile high ) ELSE ( ECHO 导入 NVENC 编码参数预设:%VENCARGS_X264% )
 
 FOR %%X IN ("1|X264|x264" "2|QSV|Intel QSV" "3|NVENC|NVENC") DO (
     FOR /F "tokens=1,2,3 delims=|" %%P IN (%%X) DO SET "ENCSNAME[%%P]=%%Q" & SET "ENCLNAME[%%P]=%%R"
@@ -86,6 +86,7 @@ IF NOT "%VENCARGS%"=="" (
 ) ELSE IF NOT "%VENCPRESET%"=="" (
     ECHO 编码参数预设:%VENCPRESET% ^(!ENCLNAME[%VENCPRESET%]!^)
 )
+IF NOT "%VFILTERS%"=="" ECHO 附加滤镜组合:%VFILTERS%
 IF NOT "%IARGS%"=="" ECHO 附加输入参数:%IARGS%
 IF NOT "%OARGS%"=="" ECHO 附加输出参数:%OARGS%
 ECHO 目标帧率:%FPS% fps
@@ -118,7 +119,7 @@ SET "VENCARGS=%VENCARGS_X264%"
 SET "VENCARGS=%VENCARGS% -keyint_min "%FPS%" -g "%FPS%*10.01" -movflags faststart"
 IF NOT "%SUB%"=="" COPY /Y "%SUB%" "~tmp.ass"
 ECHO ON
-%AINPUTCMD% -vf fps=fps=%FPS%,format=yuv420p%SUBOPTS% -c:a copy %VENCARGS% "%VOUT%"
+%AINPUTCMD% -vf "%VFILTERS%fps=fps=%FPS%,format=yuv420p%SUBOPTS%" -c:a copy %VENCARGS% "%VOUT%"
 
 @ECHO OFF
 IF NOT "%SUB%"=="" DEL "~tmp.ass"

+ 3 - 2
將所有素材拖曳到這裡.bat

@@ -72,7 +72,7 @@ IF "%FPS%"=="" SET FPS=30
 
 IF "%VENCARGS_X264%"=="" ( SET VENCARGS_X264=-preset fast -crf 20 ) ELSE ( ECHO 載入 x264 編碼參數預設:%VENCARGS_X264% )
 IF "%VENCARGS_QSV%"=="" ( SET VENCARGS_QSV=-c:v h264_qsv -global_quality 19 ) ELSE ( ECHO 載入 QSV 編碼參數預設:%VENCARGS_X264% )
-IF "%VENCARGS_NVENC%"=="" ( SET VENCARGS_NVENC=-c:v h264_nvenc -rc vbr_hq -cq 19 -profile high ) ELSE ( ECHO 載入 NVENC 編碼參數預設:%VENCARGS_X264% )
+IF "%VENCARGS_NVENC%"=="" ( SET VENCARGS_NVENC=-c:v h264_nvenc -preset slow -cq 19 -profile high ) ELSE ( ECHO 載入 NVENC 編碼參數預設:%VENCARGS_X264% )
 FOR %%X IN ("1|X264|x264" "2|QSV|Intel QSV" "3|NVENC|NVENC") DO (
     FOR /F "tokens=1,2,3 delims=|" %%P IN (%%X) DO SET "ENCSNAME[%%P]=%%Q" & SET "ENCLNAME[%%P]=%%R"
 )
@@ -85,6 +85,7 @@ IF NOT "%VENCARGS%"=="" (
 ) ELSE IF NOT "%VENCPRESET%"=="" (
     ECHO 編碼參數預設:%VENCPRESET% ^(!ENCLNAME[%VENCPRESET%]!^)
 )
+IF NOT "%VFILTERS%"=="" ECHO 附加濾鏡組合:%VFILTERS%
 IF NOT "%IARGS%"=="" ECHO 附加輸入參數:%IARGS%
 IF NOT "%OARGS%"=="" ECHO 附加輸出參數:%OARGS%
 ECHO 目標影格速率:%FPS% fps
@@ -117,7 +118,7 @@ SET "VENCARGS=%VENCARGS_X264%"
 SET "VENCARGS=%VENCARGS% -keyint_min "%FPS%" -g "%FPS%*10.01" -movflags faststart"
 IF NOT "%SUB%"=="" COPY /Y "%SUB%" "~tmp.ass"
 ECHO ON
-%AINPUTCMD% -vf fps=fps=%FPS%,format=yuv420p%SUBOPTS% -c:a copy %VENCARGS% "%VOUT%"
+%AINPUTCMD% -vf "%VFILTERS%fps=fps=%FPS%,format=yuv420p%SUBOPTS%" -c:a copy %VENCARGS% "%VOUT%"
 
 @ECHO OFF
 IF NOT "%SUB%"=="" DEL "~tmp.ass"