rigaya / QSVEnc

QSVによる高速エンコードの性能実験
http://rigaya34589.blog135.fc2.com/blog-category-10.html
Other
313 stars 28 forks source link

Commands being ignored A750 #102

Closed hmartin417 closed 1 month ago

hmartin417 commented 1 year ago

During the encoding process, there are many commands that are ignored. The biggest that i have found is the ignoring of what audio streams to copy. Trellis seems to be ignored as well along with async-depth. I also had to remove setting of the tier. it would fail when i had it set to high. It still just copies them all. I have added the syntax below along with a screenshot. syntax: %QSVenc% -i "%%a" --avhw --hyper-mode on --device 1 --format matroska --input-analyze 90 --codec hevc --qvbr-quality 29 --profile main10 --ref 5 --bframes 7 --b-pyramid --adapt-ltr --strict-gop --gop-ref-dist 8 --avsync forcecfr --async-depth 0 --output-buf 128 --fallback-rc --no-repeat-pps --no-tskip --sao none --fixed-func --max-bitrate 8000 --trellis off --output-depth 10 --video-metadata clear --audio-metadata clear --metadata clear --chapter-copy --colormatrix auto --transfer auto --colorprim auto --master-display copy --max-cll copy --chromaloc auto --colorrange auto --audio-copy 1,2 --sub-copy eng --chapter-copy --metadata title="%%~na" --video-metadata title="%%~na" --video-metadata language=English --log "E:\Logs\%%~na.txt" -i "%%a" -o "%cd%\MUXED\%%~na.video" & goto:end

Capture

rigaya commented 1 year ago

Not all options are available depending no your environment and device, or command line usage.

ignoring of what audio streams to copy.

You need to set trackID to all audio related options. If you want to only copy track 1 and 2,

--audio-metadata clear

should be

--audio-metadata 1?clear --audio-metadata 2?clear

Trellis seems to be ignored along with async-depth

There is in the log that trellis is not suuported on your platform!

--async-depth 0 means auto.


Others

Using --gop-ref-dist is not recommended for HEVC encoding, it is for AV1 encoding only.

hmartin417 commented 1 year ago

Ignoring audio: I want to only mux track 1 and 2 to my output file. the audio-meta clear will clear all tracks meta which i want. i dont want all of the audio tracks though. SO it is not recognizing that i only want audio tracks 1 and 2 and instead defaulting to adding them all.

Trellis: Yes, it does show in the top that it is disabled/not supported at the top. In my syntax, i already have it turned off so it shouldnt even be trying to use it. The clip also still shows trellis as auto.

I will remove the gop-ref-dist then.

this entire script i use has been working for years on a RTX card with no issues. I have had to change a few commands as they are not in quicksync, but most of it is still there.

rigaya commented 1 year ago

it is not recognizing that i only want audio tracks 1 and 2 and instead defaulting to adding them all.

This is because you are using --audio-metadata clear. This should be replaced to --audio-metadata 1?clear --audio-metadata 2?clear.

trellis as auto

It means off for HEVC, actually available only for H.264 now. Therefore you can just remove the options or simply ignore it.

hmartin417 commented 1 year ago

Thank you for clarifying that it needs to be that way. Apparently Quicksync handles them differently than NVidia. How do i get lookahead??

How would you set the below in QSV? -c hevc --vbrhq 0 --vbr-quality 28 --qp-init 20:22:25

rigaya commented 1 year ago

Please not that QSV is not NVENC, it is a different encoder, thus it does not have the same/equivalent options or behavior.

NVEnc --lookahead is separate rate control mode --la in QSVEnc, however, only supported in H.264. Therefore cannot be used with HEVC encoding.

You might want to try --icq instead of NVEnc --vbrhq 0 --vbr-quality 28. There are no equivalent option in QSVEnc to --qp-init.

hmartin417 commented 1 year ago

Ok. Thanks for all the help and details!

hmartin417 commented 1 year ago

Could you provide any detail on how to load DV back into the encode?

rigaya commented 1 year ago

Setting dolby visio nprofile can be done by --dolby-vision-profile, and rpu data can be imported by --dolby-vision-rpu.

Rpu data can be extracted using dovi_tools from input file.

Please note that not all dolby vision data is supported, only single-layer profiles are supported. Also please refer to notes in --dolby-vision-rpu.

hmartin417 commented 1 year ago

Any chance you can make a copy function like with hdr?

On Sat, Dec 3, 2022, 7:57 PM rigaya @.***> wrote:

Setting dolby visio nprofile can be done by --dolby-vision-profile https://github.com/rigaya/QSVEnc/blob/master/QSVEncC_Options.en.md#--dolby-vision-profile-float, and rpu data can be imported by --dolby-vision-rpu https://github.com/rigaya/QSVEnc/blob/master/QSVEncC_Options.en.md#--dolby-vision-rpu-string .

Rpu data can be extracted using dovi_tools https://github.com/quietvoid/dovi_tool from input file.

Please note that not all dolby vision data is supported, only single-layer profiles are supported. Also please refer to notes in --dolby-vision-rpu https://github.com/rigaya/QSVEnc/blob/master/QSVEncC_Options.en.md#--dolby-vision-rpu-string .

— Reply to this email directly, view it on GitHub https://github.com/rigaya/QSVEnc/issues/102#issuecomment-1336290354, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMZBZIMBVKIPYZOJFIE3KPLWLPT77ANCNFSM6AAAAAASR3Q2RU . You are receiving this because you authored the thread.Message ID: @.***>

rigaya commented 1 month ago

I'll close this issue, as there is no plan for copy function of dolby vision, as I don't have enough knowledge for that.