Print side | Luk vindue

Software decodning af AV1 Codec?

Udskrevet fra: recordere.dk - Danmarks AV Forum
Kategori: Recordere, afspillere og foto
Forumnavn: Microsoft Media Center, MCE og HTPC
Forumbeskrivelse: Media Center (MCE) og Home Theatre PC
Web-adresse: https://forum.recordere.dk/forum_posts.asp?TID=165866
Udskrevet den: 22-November-2024 kl. 21:02


Emne: Software decodning af AV1 Codec?
Skrevet af: csell
Emne: Software decodning af AV1 Codec?
Skrevet den: 04-Juni-2023 kl. 06:16

Hej.

De nye billige Nvidia GeForce RTX 4060 Ti, AMD Radeon RX 7600 og Intel ARC grafikkort har alle indbygget hardware encoding af AV1 codec. Jeg laver denne tråd for at finde ud af, hvor langt man kan komme med Software decodning af AV1 Codec, både i Windows og Android.
Personligt har jeg ikke behov for AV1 / 4K@24fps / 10bit, men hvor langt kan man komme, med kun software?


Microsoft har en AV1 Video Extension. Her er et link:

https://apps.microsoft.com/store/detail/av1-video-extension/9MVZQVXJBQ9V?hl=da-dk&gl=dk&rtc=1" rel="nofollow - https://apps.microsoft.com/store/detail/av1-video-extension/9MVZQVXJBQ9V?hl=da-dk&gl=dk&rtc=1

Men jeg læser dette Citat: 'dav1d is the fastest AV1 decoder on all platforms :)'

Fra https://code.videolan.org/videolan/dav1d" rel="nofollow - https://code.videolan.org/videolan/dav1d

Jeg er begyndt at bruge mpv player, og den bruger dav1d. Her er et par links:

https://www.videohelp.com/software/mpv-media-player" rel="nofollow - https://www.videohelp.com/software/mpv-media-player

Mere Info: https://sourceforge.net/projects/mpv-player-windows/" rel="nofollow - https://sourceforge.net/projects/mpv-player-windows/

Og et link til mpv android:

https://play.google.com/store/apps/details?id=is.xyz.mpv&hl=en_US" rel="nofollow - https://play.google.com/store/apps/details?id=is.xyz.mpv&hl=en_US

Jeg bruger 'FILE PICKER (LEGACY) nederst til ventre.

Jeg læste i en tråd på DaVinci Resolve Forum om 'AV1 encoding with Resolve and Nvidia RTX 4070', hvor brugeren David DEVO Harry har brugt et DaVinci Resolve eksempel, og konverteret det til AV1 codec i 11 forskellige bitrater. 

https://www.mediafire.com/folder/xsfjqlcxo32ri/AV1+TEST" rel="nofollow - https://www.mediafire.com/folder/xsfjqlcxo32ri/AV1+TEST

Jeg vil godt høre lidt om, hvor langt ned i bitrate, syntes i at man kan gå med til, i forskellige situationer?
Og om I kan klare jeg med en Software decoding, eller om I hellere vil vente på, at der kommer flere muligheder for en decodning i Hardware?

Yderlig vil jeg godt høre, om man kan sideloade mpv android App'en til en Chromecast med Google TV 4K?

Og til sidst links til MediaInfo, så at man kan se hvad I har downloadet. Først til Windows.

https://www.videohelp.com/software/MediaInfo" rel="nofollow - https://www.videohelp.com/software/MediaInfo

Og så til Android: https://play.google.com/store/apps/details?id=net.mediaarea.mediainfo&hl=en&gl=US" rel="nofollow - https://play.google.com/store/apps/details?id=net.mediaarea.mediainfo&hl=en&gl=US

Hilsen Carsten.




Svar:
Skrevet af: TBC1
Skrevet den: 04-Juni-2023 kl. 23:34
Oprindeligt skrevet af csell csell skrev:

Jeg laver denne tråd for at finde ud af, hvor langt man kan komme med Software decodning af AV1 Codec, både i Windows og Android.
Personligt har jeg ikke behov for AV1 / 4K@24fps / 10bit, men hvor langt kan man komme, med kun software?

Aner det personligt ikke - Men det afhænger vel i allerhøjeste grad af hvor kraftig en CPU (til softwaredekodningen) der er er i den benyttede enhed.
Oprindeligt skrevet af csell csell skrev:

Jeg vil godt høre lidt om, hvor langt ned i bitrate, syntes i at man kan gå med til, i forskellige situationer?
Og om I kan klare jeg med en Software decoding, eller om I hellere vil vente på, at der kommer flere muligheder for en decodning i Hardware?

Personligt går min smertegrænse for degradering ved noget omkring CQ50-80 stykker (ifbm. med tale om av1_NVEnc; lower is better) når det er hardware encoded - Her er et tydligt degraderet CQ 100 eksempel:  https://drive.google.com/file/d/1bFjUloZCd13MgedIOwfbTSsW6cZ7epqs/view?usp=sharing" rel="nofollow - https://drive.google.com/file/d/1bFjUloZCd13MgedIOwfbTSsW6cZ7epqs/view?usp=sharing
_________________________________________
Der er benyttet disse settings: ffmpeg -hide_banner -hwaccel nvdec -i intotheforest_remux.mkv -c:v av1_nvenc -preset p7 -tune hq -level 19 -tier 1 -rc 0 -multipass 2 -rc-lookahead 53 -no-scenecut 1 -b_adapt 0 -b_ref_mode 1 -qp 100 -spatial-aq 1 -temporal-aq 1 -highbitdepth 1 -c:a copy "C:\Users\tbc\Desktop\VIDEOARBEJDE\AV1_NVENC_TestCQ100.mkv"

...Så kan du selv køre mediainfo, så det ikke fylder ekstremt her.

Problemet med hardware encoding stadig langt fra er på samme niveau som software encoding: AOMEnc med sådan en Neflix agtig 16 Mbps som målsætningen:  https://drive.google.com/file/d/1yPMx-I3uj3cQ0dRQLa9qmRL_51o1MULi/view?usp=sharing" rel="nofollow - https://drive.google.com/file/d/1yPMx-I3uj3cQ0dRQLa9qmRL_51o1MULi/view?usp=sharing
Der er benyttet disse settings: --passes=2 --pass=1 --target-bitrate=16000 --verbose --bit-depth=10 --ivf --threads=32 --end-usage=vbr --cpu-used=2 --auto-alt-ref=1 --static-thresh=0 --tile-columns=2 --tile-rows=1 --enable-tpl-model=1 --enable-keyframe-filtering=2 --coeff-cost-upd-freq=0 --mode-cost-upd-freq=0 --mv-cost-upd-freq=0

Gør man det samme (16 mbps VBR) med Hardware encoding, bliver filstørrelsen omtrent det samme, men resultatet værre:  https://drive.google.com/file/d/1-vMezFi_rJG1L1VLJXk0IUCIBT599-dR/view?usp=sharing" rel="nofollow - https://drive.google.com/file/d/1-vMezFi_rJG1L1VLJXk0IUCIBT599-dR/view?usp=sharing
Der er benyttet disse settings: ffmpeg -hide_banner -hwaccel nvdec -i intotheforest_remux.mkv -c:v av1_nvenc -preset p7 -tune hq -level 19 -tier 1 -rc 1 -multipass 2 -rc-lookahead 53 -no-scenecut 1 -b_adapt 0 -b_ref_mode 1 -b:v 16M -spatial-aq 1 -temporal-aq 1 -highbitdepth 1 -c:a copy "C:\Users\tbc\Desktop\VIDEOARBEJDE\AV1_NVENC_TestBIT.mkv"

Til reference er dette det originale capturehttps://drive.google.com/file/d/1Eo5Wkl0GJ0s2nt_2-mVZ1K0YKL2i6pM8/view?usp=sharing" rel="nofollow - https://drive.google.com/file/d/1Eo5Wkl0GJ0s2nt_2-mVZ1K0YKL2i6pM8/view?usp=sharing
Der er benyttet disse parametre: 80 Mb/s AVC via Geforce Experience indbyggede capture tool

Klippet er valgt da det er ekstremt detaljerigt og dermed ret afslørende for dårlig kompression og det skarphed der mistet i forbindelse med yderligere komprimeringen ud over hvad der allerede er mistet i kompressionen.

Så summa summarum er software encodingen langt mere effektiv og skarpere, der ville jeg godt kunne klare mig med omkring 16 mbps, mens der skal helst skal den dobbelte bitrate til ved hardware encoding.

Problemet er bare at hardware encodingen kan klares med omkring 70 FPS i sekundet, mens software encodingen kan være helt ned til 7 FPS i minutet (--cpu-used=0) eller omkring 70 FPS i minuttet (--cpu-used=2) som brugt i ovenstående AOMEnc klip - og dermed tager så langt tid at det ikke er noget man orker at bruge i praksis til andet end ganske korte demo klip.

PS: Husk at bruge download linket oppe til højre for at få de benævnte encodes til vurdering - previewet på skærmen man møder når man trykker på links er jo yderligere google kompression og dermed ubrugelige til sammenligninger - Og i øvrigt hverken 4K eller AV1


-------------
PC:7800X3D,RTX4090 GB-Gaming OC,32GB DDR5@6K-CL30,LG CX
Stue:JVC N7,StudioTek 130,Denon AVR4308,Bladelius Ymer,B&W 803D,SVS PB16-Ultra,DMR-UBC80,Shield 2019
Sovevær.:77" S92C,HTP-075,ATV4K


Skrevet af: csell
Skrevet den: 06-Juni-2023 kl. 06:42
Hej.

Jeg har downloadet TBC1's filer, i samme rækkefølge som han selv brugte.

AV1_NVENC_TestCQ100  size 262.630 KB
  
intotheforest_remux_AOMEnc_AV1  size 153.827 KB

AV1_NVENC_TestBIT  size 161.324 KB

intotheforest_remux  size 693.659 KB, AVC, Original frame rate 60.000 FPS

Før jeg begynder at se på AV1 filerne, vil jeg lige opgradere min
MediaInfo til seneste version.


Citat: 'avcodec/allcodecs: make libdav1d the preferred AV1 decoder
It's considerably faster than libaom in most systems.'

Fra:  https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/dc0806dd25882f41f6085c8356712f95fded56c7" rel="nofollow - https://git.ffmpeg.org/gitweb/ffmpeg.git/commit/dc0806dd25882f41f6085c8356712f95fded56c7

Er der nogen der ved, hvilken lib. FFmpeg bruger til AV1 decodning?

Hilsen Carsten.



Skrevet af: MikeW
Skrevet den: 06-Juni-2023 kl. 12:14
FFMpeg bruger libaom-av1
Software decoding af avancerede codecs (H.265/AV1/H.266) kræver i stort set alle use cases native hardware understøttelse, så det giver kun meget lidt mening. Du kan sagtens slå HW acceleration fra på de fleste players/decoders, med tvivlsom performance til følge.
Jeg prøvede med  https://drive.google.com/open?id=1-vMezFi_rJG1L1VLJXk0IUCIBT599-dR&authuser=0" rel="nofollow - AV1_NVENC_TestBIT.mkv  (4K60) på min workstation (Intel i7 8700+Nvidia GTX1050), og det kører faktisk 99%


Skrevet af: csell
Skrevet den: 06-Juni-2023 kl. 14:35

Hej.

Her MediaInfo for TBC1's filer, i samme rækkefølge som han selv brugte.

Complete name                       : \Downloads\AV1_NVENC_TestCQ100.mkv
Overall bit rate mode               : Variable
Overall bit rate                        : 30.4 Mb/s

Video
Width                                     : 3 840 pixels
Height                                    : 2 160 pixels
Display aspect ratio                 : 16:9
Frame rate mode                     : Constant
Frame rate                              : 60.000 FPS
Color space                             : YUV
Chroma subsampling               : 4:2:0
Bit depth                                : 10 bits

                           
Complete name                      : \Downloads\intotheforest_remux_AOMEnc_AV1.mkv
Overall bit rate mode              : Variable
Overall bit rate                       : 17.8 Mb/s

Video
Bit rate                                 : 17.0 Mb/s
Width                                    : 3 840 pixels
Height                                   : 2 160 pixels
Display aspect ratio                : 16:9
Frame rate mode                    : Variable
Frame rate                             : 60.000 FPS
Color space                            : YUV
Chroma subsampling               : 4:2:0
Bit depth                                : 10 bits


Complete name                       : \Downloads\AV1_NVENC_TestBIT.mkv
Overall bit rate mode                : Variable
Overall bit rate                         : 18.7 Mb/s

Video
Width                                      : 3 840 pixels
Height                                     : 2 160 pixels
Display aspect ratio                  : 16:9
Frame rate mode                      : Constant
Frame rate                               : 60.000 FPS
Color space                              : YUV
Chroma subsampling                 : 4:2:0
Bit depth                                  : 10 bits


Complete name                         : \Downloads\intotheforest_remux.mkv
Overall bit rate mode                 : Variable
Overall bit rate                          : 80.3 Mb/s

Video
Format                                     : AVC

Width                                       : 3 840 pixels
Height                                      : 2 160 pixels
Display aspect ratio                   : 16:9
Frame rate mode                       : Variable
Original frame rate                     : 60.000 FPS
Standard                                   : PAL
Color space                                : YUV
Chroma subsampling                   : 4:2:0
Bit depth                                    : 8 bits
Scan type                                   : Progressive                                

Hilsen Carsten.



Skrevet af: csell
Skrevet den: 11-Juni-2023 kl. 09:07

Hej.

Denne weekend er vi taget i sommerhuset. Her fik jeg tid til at 
lave et forsøg med Software decodning af AV1 Codec. 

Jeg har en gammel PC, som jeg nogle gange skriver på.
Den har en Pentium CPU G630 @ 2,70GHz og 8,00 GB RAM.

På den installerede jeg en opdateret første generation Chromecast ver 1.
Den er kablet via en original Google strømforsyning med ethernet.

Og tilsluttede et gammelt Panasonic 42PZ85’s Full HD resolutions 1,920 x 1,080 TV.

Og prøvede at afspille følgende AV1 filer på PC'en med mpv player:

https://www.mediafire.com/folder/xsfjqlcxo32ri/AV1+TEST" rel="nofollow - https://www.mediafire.com/folder/xsfjqlcxo32ri/AV1+TEST

Med følgende resultat:

1 - 10000Kbs 4K DCI 24FPS: Hakker
2 - 5000Kbs 4K DCI 24FPS: Hakker lidt
3 - 4000Kbs 4K DCI 24FPS: Hakker i billede.
4 - 3000Kbs 4K DCI 24FPS: Et lille hak i lyden.

Her er en MediaInfo:

Complete name                    : \Downloads\4 - 3000Kbs 4K DCI 24FPS.mp4
Format                                : MPEG-4
File size                               : 19.1 MiB
Overall bit rate                     : 2 707 kb/s

Video
Format                                 : av01
Duration                               : 59 s 42 ms
Bit rate                                 : 2 509 kb/s
Width                                    : 4 096 pixels
Height                                   : 2 160 pixels
Display aspect ratio                : 1.896
Frame rate mode                    : Constant
Frame rate                             : 24.000 FPS
Color space                            : YUV
Scan type                               : Progressive
Bits/(Pixel*Frame)                   : 0.012
Stream size                             : 17.7 MiB (93%)


Jeg fik dog det problem, at TV viste et 720 pixel bredt billed, på en 1080 bred TV skærm.

Ellers vil jeg mene, at man godt kan se Software decodet AV1.

Jeg er dog i tvivl om video nedskaleringen skete i PC, eller Chromecasten ver 1?

Hilsen Carsten.



Print side | Luk vindue