Selur's Little Message Board

Full Version: SVT-AV1 2-pass encoding
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi there,

I noticed that 2-pass encoding doesn´t wotk for SVT-AV1. The encoding stops immediately after starting the encoding.

I would be grateful if you could look into the problem

Cheers,

David
2pass encoding works fine in my dev version and since according to git, I haven't changed the command line generator for SVT-AV1 since the 3rd of March, I'm not totally sure where the issue is.

What happens if you call:
Code:
"C:\Program Files\Hybrid\64bit\Vapoursynth\vspipe.exe" "C:\Work\Video\Test\encodingTempSynthSkript_2023-06-30@16_45_27_7610_0.vpy" - -c y4m | "C:\Program Files\Hybrid\64bit\ffmpeg.exe" -y -loglevel fatal -noautorotate -nostdin -hwaccel auto -threads 1 -f yuv4mpegpipe -i - -an -sn -vf zscale=rangein=tv:range=tv -pix_fmt yuv420p10le -strict -1 -vsync 0 -f yuv4mpegpipe - | "C:\Program Files\Hybrid\64bit\SvtAv1EncApp.exe" --input stdin --width 1472 --height 1080 --fps-num 24000 --fps-denom 1001 --input-depth 10 --profile 0 --tile-rows 0 --tile-columns 0 --pass 1 --rc 1 --tbr 5500 --min-qp 15 --aq-mode 2 --stats "C:\Work\Video\Test\2 pass_1.stats" --preset 3 --enable-overlays 1 --tune 0 --rmv 1 --film-grain 50 --film-grain-denoise 0 --color-primaries 2 --transfer-characteristics 2 --matrix-coefficients 1 --color-range 0 --output "C:\Work\Video\Test\2023-06-30@16_45_27_7610_02.av1"
in a windows command prompt

Cu Selur

Ps.: I'll also send you a link to my current dev version via pm to see whether this also crashes for you. (comes with a newer svt-av1 binary)
Thanks for a fast reply.

Using a cmd, I got a message overlays were not supported. So I disabled overlays and 2-pass worked fine.

The problem I can see now with 2-pass encode is that both passes run very fast. Very probably, settings for the second pass are ignored (speed preset and others)

I have downloaded your developer version and the problem is the same

Attached is a log...

Best,

David
Okay, the error message is:
Code:
The overlay frames feature is currently not supported with multi-pass encoding
-> will adjust Hybrid to take this into consideration.

Quote:The problem I can see now with 2-pass encode is that both passes run very fast. Very probably, settings for the second pass are ignored (speed preset and others)
Can't reproduce. For me the second pass is way slower, assuming the preset a slower preset is used.
(tested with preset 3)
Will do some further testing.

Cu Selur
Strange. I am using speed preset 3 as well. 2nd pass is even faster than the first one. 

Switching to preset 1, the speed remains the same. Very fast. 

I am looking into settings if I discover anything...

David
What I tested:
Code:
SVT-AV1(1pass variable bitrate) processing started...
starting 2023-06-30@19_06_57_5710_01_video@19:07:00.364 - G:\Output\Drone_rocky.mp4
"F:\Hybrid\64bit\SvtAv1EncApp.exe" --input stdin --width 3840 --height 2160 --fps-num 24000 --fps-denom 1001 --input-depth 10 --profile 0 --tile-rows 0 --tile-columns 0 --pass 1 --rc 1 --tbr 2500 --min-qp 0 --aq-mode 1 --stats "J:\tmp\Drone_rocky_1.stats" --preset 3 --tune 0 --scm 0 --matrix-coefficients 1 --color-range 0 --output "J:\tmp\2023-06-30@19_06_57_5710_01.av1"
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:    SVT-AV1 Encoder Lib v1.5.0
Svt[info]: SVT [build]  :    GCC 12.2.0     64 bit
Svt[info]: LIB Build date: Apr 28 2023 23:31:59
Svt[info]: -------------------------------------------
Svt[warn]: Instance 1: The adaptive quantization mode using segmentation is at a support level only to be available for demos, experimentation, and further development uses and should not be used for benchmarking until fully implemented.
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: preset                             : Pass 1
Svt[info]: -------------------------------------------
2023-06-30@19_06_57_5710_01_video finished after 00:00:04.122
finished...

SVT-AV1(1pass variable bitrate) processing started...
starting 2023-06-30@19_06_57_5710_03_video@19:07:04.533 - G:\Output\Drone_rocky.mp4
"F:\Hybrid\64bit\SvtAv1EncApp.exe" --input stdin --width 3840 --height 2160 --fps-num 24000 --fps-denom 1001 --input-depth 10 --profile 0 --tile-rows 0 --tile-columns 0 --pass 2 --rc 1 --tbr 2500 --min-qp 0 --aq-mode 1 --stats "J:\tmp\Drone_rocky_1.stats" --preset 3 --tune 0 --scm 0 --matrix-coefficients 1 --color-range 0 --output "J:\tmp\2023-06-30@19_06_57_5710_03.av1"
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:    SVT-AV1 Encoder Lib v1.5.0
Svt[info]: SVT [build]  :    GCC 12.2.0     64 bit
Svt[info]: LIB Build date: Apr 28 2023 23:31:59
Svt[info]: -------------------------------------------
Svt[warn]: Instance 1: The adaptive quantization mode using segmentation is at a support level only to be available for demos, experimentation, and further development uses and should not be used for benchmarking until fully implemented.
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: preset                             : Pass 2
Svt[info]: -------------------------------------------
2023-06-30@19_06_57_5710_03_video finished after 00:00:09.657
finished...
Yes, it's still fast, but 2nd pass takes two times more time than 1st pass.

Funny thing is 'preset' does not really seem to impact the speed at all:
Code:
SVT-AV1(1pass variable bitrate) processing started...
starting 2023-06-30@19_11_36_7110_01_video@19:11:45.012 - G:\Output\Drone_rocky.mp4
"F:\Hybrid\64bit\SvtAv1EncApp.exe" --input stdin --width 3840 --height 2160 --fps-num 24000 --fps-denom 1001 --input-depth 10 --profile 0 --tile-rows 0 --tile-columns 0 --pass 1 --rc 1 --tbr 2500 --min-qp 0 --aq-mode 1 --stats "J:\tmp\Drone_rocky_1.stats" --preset -1 --tune 0 --scm 0 --matrix-coefficients 1 --color-range 0 --output "J:\tmp\2023-06-30@19_11_36_7110_01.av1"
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:    SVT-AV1 Encoder Lib v1.5.0
Svt[info]: SVT [build]  :    GCC 12.2.0     64 bit
Svt[info]: LIB Build date: Apr 28 2023 23:31:59
Svt[info]: -------------------------------------------
Svt[warn]: Instance 1: The adaptive quantization mode using segmentation is at a support level only to be available for demos, experimentation, and further development uses and should not be used for benchmarking until fully implemented.
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: preset                             : Pass 1
Svt[info]: -------------------------------------------
2023-06-30@19_11_36_7110_01_video finished after 00:00:04.380
finished...

SVT-AV1(1pass variable bitrate) processing started...
starting 2023-06-30@19_11_36_7110_03_video@19:11:49.440 - G:\Output\Drone_rocky.mp4
"F:\Hybrid\64bit\SvtAv1EncApp.exe" --input stdin --width 3840 --height 2160 --fps-num 24000 --fps-denom 1001 --input-depth 10 --profile 0 --tile-rows 0 --tile-columns 0 --pass 2 --rc 1 --tbr 2500 --min-qp 0 --aq-mode 1 --stats "J:\tmp\Drone_rocky_1.stats" --preset -1 --tune 0 --scm 0 --matrix-coefficients 1 --color-range 0 --output "J:\tmp\2023-06-30@19_11_36_7110_03.av1"
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]:    SVT-AV1 Encoder Lib v1.5.0
Svt[info]: SVT [build]  :    GCC 12.2.0     64 bit
Svt[info]: LIB Build date: Apr 28 2023 23:31:59
Svt[info]: -------------------------------------------
Svt[warn]: Instance 1: The adaptive quantization mode using segmentation is at a support level only to be available for demos, experimentation, and further development uses and should not be used for benchmarking until fully implemented.
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: preset                             : Pass 2
Svt[info]: -------------------------------------------
2023-06-30@19_11_36_7110_03_video finished after 00:00:08.505
finished...

Cu Selur

Ps.: but I can't find a fault in Hybrid regarding the speed,...
I agree,

Preset is ignored but --tbr is respected, so file size changes. Strange, a bug in the encoder? I am using already version 1.6, but it has the same problem

SVT-AV1(1pass variable bitrate) processing started...
starting 2023-06-30@19_26_10_5010_01_video@19:26:12.036 - C:\Work\Video\Test\VBR 2pass.mkv
"C:\Program Files\Hybrid\64bit\SvtAv1EncApp.exe" --input stdin --width 1920 --height 1080 --fps-num 24000 --fps-denom 1001 --input-depth 10 --profile 0 --tile-rows 0 --tile-columns 0 --pass 1 --rc 1 --tbr 20000 --min-qp 0 --aq-mode 1 --stats "C:\Work\Video\Test\VBR 2pass_1.stats" --preset 3 --tune 0 --scm 0 --color-primaries 2 --transfer-characteristics 2 --matrix-coefficients 2 --color-range 0 --output "C:\Work\Video\Test\2023-06-30@19_26_10_5010_01.av1"
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]: SVT-AV1 Encoder Lib v1.6.0
Svt[info]: SVT [build]  : GCC 13.1.0 64 bit
Svt[info]: LIB Build date: Jun 21 2023 00:14:30
Svt[info]: -------------------------------------------
Svt[warn]: Instance 1: The adaptive quantization mode using segmentation is at a support level only to be available for demos, experimentation, and further development uses and should not be used for benchmarking until fully implemented.
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: preset : Pass 1
Svt[info]: -------------------------------------------
2023-06-30@19_26_10_5010_01_video finished after 00:00:05.931
finished...

SVT-AV1(1pass variable bitrate) processing started...
starting 2023-06-30@19_26_10_5010_03_video@19:26:18.240 - C:\Work\Video\Test\VBR 2pass.mkv
"C:\Program Files\Hybrid\64bit\SvtAv1EncApp.exe" --input stdin --width 1920 --height 1080 --fps-num 24000 --fps-denom 1001 --input-depth 10 --profile 0 --tile-rows 0 --tile-columns 0 --pass 2 --rc 1 --tbr 20000 --min-qp 0 --aq-mode 1 --stats "C:\Work\Video\Test\VBR 2pass_1.stats" --preset 3 --tune 0 --scm 0 --color-primaries 2 --transfer-characteristics 2 --matrix-coefficients 2 --color-range 0 --output "C:\Work\Video\Test\2023-06-30@19_26_10_5010_03.av1"
Svt[info]: -------------------------------------------
Svt[info]: SVT [version]: SVT-AV1 Encoder Lib v1.6.0
Svt[info]: SVT [build]  : GCC 13.1.0 64 bit
Svt[info]: LIB Build date: Jun 21 2023 00:14:30
Svt[info]: -------------------------------------------
Svt[warn]: Instance 1: The adaptive quantization mode using segmentation is at a support level only to be available for demos, experimentation, and further development uses and should not be used for benchmarking until fully implemented.
Svt[info]: -------------------------------------------
Svt[info]: SVT [config]: preset : Pass 2
Svt[info]: -------------------------------------------
2023-06-30@19_26_10_5010_03_video finished after 00:00:15.188
finished...

mkvmerge started...
starting 2023-06-30@19_26_10_5010_05_muxing@19:26:33.721 - C:\Work\Video\Test\VBR 2pass.mkv
"C:\Program Files\Hybrid\64bit\mkvmerge.exe" --ui-language en -o "C:\Work\Video\Test\2023-06-30@19_26_10_5010__04.mkv" --global-tags "C:\Work\Video\Test\mkvtags_2023-06-30@19_26_10_5010__04.xml" -d 0 --default-track 0:yes --track-name 0:"Diamonds of the Night / MPEG-4 AVC @ 35260 kbps" --language 0:cs --default-duration "0:24000/1001fps" --aspect-ratio-factor 0:1/1 --no-chapters --compression -1:none --forced-track 0:yes --field-order 0:0 --no-audio --no-subtitles "C:\Work\Video\Test\2023-06-30@19_26_10_5010_03.av1"
2023-06-30@19_26_10_5010_05_muxing finished after 00:00:00.473
finished...

Thank you,

David
Yeah, seems like something is wrong with the encoder itself, but I'm usually not using svtav1, but the hardware encoder of my NVIDIA or Intel card. Smile

Cu Selur