Alkl58 / NotEnoughAV1Encodes

GUI for AV1 (aomenc, rav1e & svt-av1)
MIT License
543 stars 24 forks source link

[Feature]Plus intel ARC discrete graphics av1 encoding? #112

Closed henanzheng closed 2 years ago

henanzheng commented 2 years ago

Intel ARC discrete graphics card has been listed, support av1 encoding, I don't know if you can add this function?

Thank you!

henanzheng commented 2 years ago

SVT-av1 encoding quality is very good, but the speed is a bit slow, if you can add QSV-av1 to improve the speed will be a good thing.^-^

Alkl58 commented 2 years ago

The main problem is, that I can't test wether it would work or not.

The best would be if ffmpeg would support it, however currently I can't find any information on that. Will look into it the next few days.

Many Greetings

henanzheng commented 2 years ago

At present, the qsv-av1 of Intel arc has not been added with ffmpeg. Some people have developed corresponding software, but the coding effect is not good at present. According to the wamf test, the image quality of QSV hevc is amazing, and there is little difference with x265. We look forward to it.

henanzheng commented 2 years ago

Sorry, we need to correct the above remarks.

Intel GPU accelerated video codec API:

  1. Standard Windows API: a. DXVA2/D3D11VA, there are libdxva2 and libd3d11va in FFmpeg; b. Media Foundation, ffmpeg is not supported.

2、Intel API: Libmfx in VAAPI and Intel Media SDK (contained in ffmpeg), The latest is oneVPL, https://github.com/oneapi-src/oneVPL/ It seems that there is no ffmpeg.

Alkl58 commented 2 years ago

This thread can / should continue in #118

henanzheng commented 2 years ago

Hello! Thank you for your selfless efforts.

For QSVEncC, I tested 6 schemes. The conclusion is that 1 and 2 are the most stable. Resolution adjustment is a common operation. If ffmpeg is used, the speed will be significantly improved. If multiple video cards are used together, it is also feasible, but error prone. For example, the original video is of vfr. The scheme is as follows:

1、================================ cd /d %~dp0 ffmpeg -y -i "%~1" -codec:a copy -codec:v rawvideo -pix_fmt yuv420p -vf "scale=854:-2:flags=bicubic,setsar=1/1" -f nut - | QSVEncC64 --avsw -i - -c av1 --icq 18 --output-depth 10 --quality best --la-depth 100 --gop-ref-dist 8 --audio-codec opus --audio-bitrate 128 -o "%~d1%~p1%~n1_ffmpeg+qsvencc64 管道-前改变分辨率.mp4"

:: 能稳定执行,且速度非常快。

2、================================ cd /d %~dp0 ffmpeg -y -i "%~1" -codec:a copy -codec:v rawvideo -pix_fmt yuv420p -f nut - | QSVEncC64 --avsw -i - -c av1 --icq 18 --output-depth 10 --quality best --la-depth 10 --gop-ref-dist 8 --output-res 854x-2 --audio-codec opus --audio-bitrate 128 -o "%~d1%~p1%~n1_ffmpeg+qsvencc64 管道-后改变分辨率.mp4"

:: 能稳定执行,且速度相对慢一些。

3、================================ cd /d %~dp0 QSVEncC64.exe --avhw -i "%~1" -o "%~d1%~p1%~n1_QSVEnc-av1-19-10bit-4-hw.mp4" -c av1 --audio-codec opus --audio-bitrate 128 --icq 19 --output-depth 10 --quality best --la-depth 100 --gop-ref-dist 4 --metadata comment="QSVEncC64-QSV-AV1-19-10bit-best-4-hw"

:: 对输入文件要求高,vfr 视频容易出错,速度很快。

4、================================ cd /d %~dp0 QSVEncC64.exe --avsw -i "%~1" -o "%~d1%~p1%~n1_QSVEnc-av1-19-10bit-4-sw.mp4" -c av1 --audio-codec opus --audio-bitrate 128 --icq 19 --output-depth 10 --quality best --la-depth 100 --gop-ref-dist 4 --metadata comment="QSVEncC64-QSV-AV1-19-10bit-best-4-sw"

:: 对输入文件兼容的好些,但是有些奇怪的文件仍旧会出错,速度慢一些。

5、================================ NVEncC64.exe --avhw -i "%~1" --output-res 854x-2 --audio-copy -o - --output-format nut | QSVEncC64.exe --avhw -i - -c av1 --icq 19 --output-depth 10 --quality best --la-depth 100 --audio-codec aac --audio-bitrate 64 --colormatrix bt2020nc --colorprim bt2020 --transfer arib-std-b67 --metadata comment="QSVEncC64-QSV-av1-19-8-10bit-best-SDR转HDR-管道 N--I-前-改变分辨率" -o "%~d1%~p1%~n1_QSVEnc-av1-19-8-10bit-SDR转HDR-管道 N--I-前-改变分辨率.mp4"

:: 最快,也会有输入文件兼容问题,但是比3稳定。

6、================================ NVEncC64.exe --avhw -i "%~1" --audio-copy -o - --output-format nut | QSVEncC64.exe --avhw -i - -c av1 --icq 19 --output-depth 10 --quality best --la-depth 100 --output-res 854x-2 --audio-codec aac --audio-bitrate 64 --colormatrix bt2020nc --colorprim bt2020 --transfer arib-std-b67 --metadata comment="QSVEncC64-QSV-av1-19-8-10bit-best-SDR转HDR-管道 N--I-后-改变分辨率" -o "%~d1%~p1%~n1_QSVEnc-av1-19-8-10bit-SDR转HDR-管道 N--I-后-改变分辨率.mp4"

:: 输入文件的兼容性比5稳定,速度比5慢。

================================== Save as a bat file, and drag and drop the video file to the bat file to perform encoding.

The new version of ffmpeg has added “oneAPI---oneVPL---oneVPL-intel-gpu -libvpl”, but the available parameters are too few.

I'm sorry for my poor English.

From: Alkl58 Date: 2022-10-21 02:41 To: Alkl58/NotEnoughAV1Encodes CC: henanzheng; Author Subject: Re: [Alkl58/NotEnoughAV1Encodes] [Feature]Plus intel ARC discrete graphics av1 encoding? (Issue #112) This thread can / should continue in #118 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>