Author Topic: Why does Dxtory not support NVENC/HEVC and OBS does?  (Read 3071 times)

Horikawa Otane

  • Noob
  • *
  • Posts: 10
Why does Dxtory not support NVENC/HEVC and OBS does?
« on: October 14, 2016, 10:43:39 pm »
I've seen posts by Demon on Doom9 that have highlighted that Nvidia seems to have limited access to its framebuffer in order to promote shadowplay.

However, how is it that OBS has access to these features whereas Dxtory doesn't? I get there's probably a reason, but I'm genuinely curious how they got it to work then.

The reason I'm wondering is - I can't get 60fps recordings at 1080p lossless with lagarith in even an old game like Amnesia, despite having a GTX 1060 6gb. I get like 20-30 (GPU warning). However, with OBS and lossless NVENC, I can get 1080p60 easily. The PROBLEM is that I can't get lossless audio with OBS with NVENC, OBS is a pain to use, and I can't get full chroma without the video becoming a green mess.

If I could get access to this stuff in Dxtory, I would be able to do lossless recordings of HD 3d games. Right now I can basically only get good lossless footage from lower definition 2d games.
« Last Edit: October 14, 2016, 10:44:18 pm by Horikawa Otane »

Malix

  • Monster
  • ****
  • Posts: 402
    • Youtube channel
Re: Why does Dxtory not support NVENC/HEVC and OBS does?
« Reply #1 on: October 14, 2016, 11:00:06 pm »
framebuffer access is not the same thing as the video encoding

framebuffer access = capture, but nvenc is the encoder which encodes the stuff.

Dxtory relies on external codecs (Lagarith, MagicYUV, UT Video,... what have you, these are 3rd party codecs) for the encoding, for the most part. IF there was a vfw codec that offloaded the encoding to nvenc, dxtory could use that.

edit: Amnesia is an opengl game, you could try fiddling with the dxtory options (like enabling "wait for available buffer", it helped a lot with dx9 games with the latest release).

Also, if you used nvenc in dxtory, that would be lossy.
« Last Edit: October 14, 2016, 11:04:24 pm by Malix »

Tup3x

  • Noob
  • *
  • Posts: 24
Re: Why does Dxtory not support NVENC/HEVC and OBS does?
« Reply #2 on: October 14, 2016, 11:09:28 pm »
The main reason why NVENC doesn't drop performance is that it uses NvFBC (fullscreen) or NvIFR (Windowed). I think there was some kind of restrictions to use it at least some time ago. I haven't checked it that has changes since. If developers can access that freely then that would improve the performance a lot. Another bonus for NvFBC would be the ability to capture driver FXAA for screenshots and video. It looks like it's possible to access it with NVIDIA Capture SDK using NVFBC_TO_SYS/NvIFRToSys.

I'd like to see built in FFMPEG support would be nice bypassing VFW codecs completely. VFW codecs and AVI container... Is a bit meh. It would be so nice to use mkv container, FLAC audio and lossless HEVC or AVC mode. As far as I know VFW is a mess so ditching (or providing alternative) it could make things a lot simpler.
« Last Edit: October 14, 2016, 11:24:51 pm by Tup3x »
Intel Core i7-3770K & Thermalright True Spirit | ASUS P8Z77-V | Corsair AX760 | Define R4 | 4x4GB G.SKILL RipjawsX 1600MHz | EVGA GeForce GTX 1070 GAMING ACX 3.0 Edition | Creative Sound Blaster Zx | Sennheiser HD 595 | Samsung 830 128GB & 2x Samsung F3 1TB & Toshiba 3TB | Windows 10 Pro x64

Kayten

  • Noob
  • *
  • Posts: 14
Re: Why does Dxtory not support NVENC/HEVC and OBS does?
« Reply #3 on: October 14, 2016, 11:32:06 pm »
The main reason why NVENC doesn't drop performance is that it uses NvFBC (fullscreen) or NvIFR (Windowed).
NVENC has nothing to do with NvFBC or NvIFR. NVENC ist the encoder giving you AVC/HEVC material and is freely available, whereas frame capturing using NvFBC/NvIFR is access restricted by Nvidia.
NVENC can take some load off your CPU but it won't reduce the frame drop (if your CPU is strong enough to handle the encode on its own). OBS uses NVENC but not NvFBC/NvIFR.

It would be so nice to use mkv container, FLAC audio and lossless HEVC or AVC mode. As far as I know VFW is a mess so ditching (or providing alternative) it could make things a lot simpler.
What exactly? Popular video editing programs don't even support lossless H.264 material. I think it'll bring more problems than it solves.

Horikawa Otane

  • Noob
  • *
  • Posts: 10
Re: Why does Dxtory not support NVENC/HEVC and OBS does?
« Reply #4 on: October 14, 2016, 11:48:59 pm »
framebuffer access is not the same thing as the video encoding

framebuffer access = capture, but nvenc is the encoder which encodes the stuff.

Dxtory relies on external codecs (Lagarith, MagicYUV, UT Video,... what have you, these are 3rd party codecs) for the encoding, for the most part. IF there was a vfw codec that offloaded the encoding to nvenc, dxtory could use that.

edit: Amnesia is an opengl game, you could try fiddling with the dxtory options (like enabling "wait for available buffer", it helped a lot with dx9 games with the latest release).

Also, if you used nvenc in dxtory, that would be lossy.

NVenc now has a lossless mode for the 9xx series and above.

Tup3x

  • Noob
  • *
  • Posts: 24
Re: Why does Dxtory not support NVENC/HEVC and OBS does?
« Reply #5 on: October 15, 2016, 04:13:03 am »
The main reason why NVENC doesn't drop performance is that it uses NvFBC (fullscreen) or NvIFR (Windowed).
NVENC has nothing to do with NvFBC or NvIFR. NVENC ist the encoder giving you AVC/HEVC material and is freely available, whereas frame capturing using NvFBC/NvIFR is access restricted by Nvidia.
NVENC can take some load off your CPU but it won't reduce the frame drop (if your CPU is strong enough to handle the encode on its own). OBS uses NVENC but not NvFBC/NvIFR.

It would be so nice to use mkv container, FLAC audio and lossless HEVC or AVC mode. As far as I know VFW is a mess so ditching (or providing alternative) it could make things a lot simpler.
What exactly? Popular video editing programs don't even support lossless H.264 material. I think it'll bring more problems than it solves.
Considering that they the whole point of OBS is to capture stuff and encode it directly I assumed that they did use them. Though when I said NVENC I was actually talking about ShadowPlay.

That was just and example. The point was flexibility and the freedom to choose various formats. Besides, it work in VirtualDub with FFMPEG which is good enough for me.
Intel Core i7-3770K & Thermalright True Spirit | ASUS P8Z77-V | Corsair AX760 | Define R4 | 4x4GB G.SKILL RipjawsX 1600MHz | EVGA GeForce GTX 1070 GAMING ACX 3.0 Edition | Creative Sound Blaster Zx | Sennheiser HD 595 | Samsung 830 128GB & 2x Samsung F3 1TB & Toshiba 3TB | Windows 10 Pro x64

De-M-oN

  • Veteran
  • ***
  • Posts: 166
Re: Why does Dxtory not support NVENC/HEVC and OBS does?
« Reply #6 on: October 17, 2016, 04:59:45 am »
NVenc now has a lossless mode for the 9xx series and above.

And its a shame that Shadowplay doesnt offer what the card is able to do...

As long as 3rd party software cant use NVIFR / NVFBC and so still has to hook into the game engine you'll only lose the cpu usage by the encoding - which is not that much if you use already lossless encoding. The main performance drop comes from the hooking into the game engine.

http://forums.guru3d.com/showpost.php?p=4687310&postcount=61