aza547 / wow-recorder

A desktop screen recorder application that records and saves videos of in-game World of Warcraft encounters, and provides a graphical user interface to view the replays. It is free, open source and contains no adverts.
http://www.warcraftrecorder.com
Other
152 stars 34 forks source link

Widen Encoder Support #380

Open aza547 opened 1 year ago

aza547 commented 1 year ago

image

Splitframe commented 1 year ago

I have a A380 installed and can use it with Handbrake and OBS, but in Warcraft Recorder only the software AV1 encoder AOM and SVT are listed. The Intel hardware one would be qsv_av1 if I am not mistaken.

[2023-08-10 19:34:00.677] [info]  [Recorder] [
  'ffmpeg_svt_av1',
  'ffmpeg_aom_av1',
  'jim_nvenc',
  'jim_hevc_nvenc',
  'ffmpeg_nvenc',
  'ffmpeg_hevc_nvenc',
  'obs_qsv11_soft',
  'obs_qsv11',
  'obs_x264'
]
aza547 commented 10 months ago

Had a look at this today and managed to get h265 working for both AMD and NVENC encoders, but it seems "ffmpeg_svt_av1" is a software encoder (didn't try very hard but it seemed a bit dodgy, crashed a few times). I think what we really want is the AV1 GPU encoders. I don't have a new enough GPU to test that (my RX 6800 doesn't support it, just...).

aza547 commented 10 months ago

Keeping this issue around as it could still happen if: 1) I get my hands on a GPU for testing 2) Someone else with an AV1 encode enabled GPU can test for me

aza547 commented 10 months ago

Decided to revert the h265 changes after some testing due to a few worries.

  1. The video size seems much comparable to h264, which was meant to be the main benefit.
  2. Re-enabling hardware acceleration means could regress https://github.com/aza547/wow-recorder/issues/332.
  3. h265 is patented, while I think local recording is fine (OBS studio does it too), it might cause future complications.
Splitframe commented 10 months ago

Keeping this issue around as it could still happen if:

  1. I get my hands on a GPU for testing
  2. Someone else with an AV1 encode enabled GPU can test for me

If you tell me where to look I can test around with my A380 for AV1. I am fluent in Kotlin and C# and only did TS wrapping for KotlinJS, but I can debug and compile the code for tests and tweaks.

aza547 commented 10 months ago

The intel av1 support was released in https://github.com/obsproject/obs-studio/releases/tag/29.0.0.

Currently WR uses v28.2.50 via the 0.23.71 tag of OSN.

So first thing to do is to bump that. I've been avoiding doing it because I've not had reason to, but I'll give it a go and see what breaks :)

Splitframe commented 10 months ago

Ah okay, well if I can help with this just tell me here.

aza547 commented 10 months ago

Thanks - got a new version working on https://github.com/aza547/wow-recorder/tree/osn-bump.

Fancy giving that a go? That's on OBS v29.1.3, so should have the av1 encoder. I've also allowed all the encoders through to the settings so you should be able to see and select it.

Steps to launch in dev mode can be found here - hopefully that's clear - let me know if you need a hand. https://github.com/aza547/wow-recorder/blob/main/docs/CONTRIBUTING.md

aza547 commented 10 months ago

Now merged to main also.

Edit: Never mind, had to back out of main. Context here: https://github.com/aza547/wow-recorder/pull/469