[unsupported] Datapath Vision Capture

[unsupported] Datapath Vision Capture 20130903

Boildown

Active Member
Muf said:
The utilities you get with the Datapath driver include a tool to modify the on-board EDID or upload a custom EDID. Try fiddling with the "default" resolution there.

I spent most of the day today researching this issue. I did find the EDID modification tool, that's a pretty cool program and I didn't previously realize the drivers even adding anything to my start menu before you mentioned this, so thanks!

Unfortunately I still can't get the Nvidia drivers to clone at anything other than identical resolutions. It makes sense in a way, but I was really hoping to do the scaling on my gaming computer's video card, and output at 720p and 120Hz to the capture card while still playing Planetside 2 at 1080p and 120Hz. There's is no documentation that I can find on this limitation. Only a couple vague references on discussion forums that indirectly link to a limitation of the software or hardware. I'd be very happy to learn of a way around it.

The good news is that a cloned display will work just fine at whatever Hz setting you put it at, as long as you keep the same resolution. But you might have to use a handy utility or two that I found to get it to work:

Custom Resolution Utility (CRU) and/or NVIDIA Pixel Clock Patcher or AMD/ATI Pixel Clock Patcher

The CRU allows you to add/alter/delete settings in the EDID for Nvidia and AMD graphics cards (doesn't work for Intel). What I found previously is that the clone would always select 1080p x 60Hz even if I made a custom setting for the Datapath card for 1080p 71Hz, which worked fine when extending. With the CRU I deleted EVERYTHING except for my custom entries. There is no longer a 60Hz option to fall back to, and it stays on my setting of 71Hz, or even higher.

From the CRU thread, I found custom settings to allow even higher framerates while staying within the 165 MHz bandwidth single-link DVI limitation: http://www.monitortests.com/forum/Threa ... 274#pid274 . For now I'm testing the 75Hz settings listed in this post.

When I use the Datapath Vision utility to set the EDID, it restricts to 165 MHz or below in the software. However we know the hardware (other than the DVI-SL specification) is capable of much more, its in the specs for analog connections at the very least. Using the Pixel Clock Patcher, the people on the forum are able exceed the single-link DVI spec limitation from the Nvidia/AMD output point of view. I'm not sure if my E1S will accept a signal such as that, but I'll test it in the next week or so. Anecdotally, using a good cables people have pushed it as high as 235 MHz over a single-link DVI connection to a computer monitor.
 

Boildown

Active Member
Update:

BbyY4rx.jpg


Top one (105Hz) wouldn't work, the rest do. That's with a single-link DVI cable into a Datapath E1S. So I did a capture today with a 90Hz input signal and 45Hz stream. It worked great. I'm beyond impressed with this capture card. Its a hidden gem, especially when you get it on Ebay for cheap. So much more capable than the Avermedia that I bought at right around the same price (though the Avermedia was new).

Edit: Found out from the CRU app author that there's a limit placed at 230 MHz, and 105 Hz refresh is barely over it. I can successfully capture 104.5 Hz refresh which is right at 230 MHz. I can also capture at 96Hz, which would be double the 48 Hz that many people stream at, if that makes a difference.

This Datapath capture card is freaking amazing.
 

Boildown

Active Member
I was messing with the -multi command today as described here: viewtopic.php?f=5&t=2089

I want to stream to Twitch with CBR on one instance of OBS and copy to the local hard drive at a higher resolution and CRF on the other instance. However when using this plugin, I get extreme stutter on one or both instances. I have to disable this plugin and use DirectShow on one or both instances for it to work properly.

It is also extremely prone to crashing OBS and/or the video driver when this plugin is used on two instances of OBS at once. In limited testing so far, this wasn't seen when using the Datapath capture card with DirectShow.

Edit to add:

With RGBEasy capture to disk and DirectShow stream to Twitch, I can't raise RGBEasy framerate above 30 or else the extreme stutter returns. That is while streaming to Twitch using DirectShow at 45fps.
 

Muf

Forum Moderator
I fixed the bug where frames would jump backward in time! (That's the one you were having, Draco.) It was a really silly thing where I used lastTexture to keep track of the last texture, then to get DMA copy working, I started rendering lastTexture instead of currentTexture, and forgot to update the frame drop code to use the texture BEFORE the last texture for frame drops, resulting in some funky time travelling. I now keep track of lastTexture and dropTexture separately, and all is dandy.

Bonus video
 
Thanks for the update and for all the work you've put into this plugin, Muf.

I've been using it a bunch. It's great! :)

Oh yeah, and kick ass video. Trippy as hell. :P
 

Boildown

Active Member
Looks like there's a Datapath VisionSD4+1S on ebay at the moment, if someone is interested. Unfortunately they're asking a stupid high price for a used card. Maybe they'll take a lowball Make An Offer.
 

Muf

Forum Moderator
Have you guys seen the VisionHD4 yet, btw? It looks pretty sweet, but I don't want to know what the list price is. :D Maybe for professional e-sports productions? :)
 

Draco

Member
Muf said:
I fixed the bug where frames would jump backward in time! (That's the one you were having, Draco.) It was a really silly thing where I used lastTexture to keep track of the last texture, then to get DMA copy working, I started rendering lastTexture instead of currentTexture, and forgot to update the frame drop code to use the texture BEFORE the last texture for frame drops, resulting in some funky time travelling. I now keep track of lastTexture and dropTexture separately, and all is dandy.

Bonus video

That's awesome news. I'm glad I wasn't just going nuts and using old antiquated hardware. :P

Alright, time to give this a shot then with some more GTAV! So far so good since adding it, but I'll need to check out the archive in a bit afterwards and maybe throw a 1080p60 feed at it soon. (Damn PS3 and its 720p) :(
 

Muf

Forum Moderator
Draco said:
That's awesome news. I'm glad I wasn't just going nuts and using old antiquated hardware. :P
The strange thing is the bug would only show up in the actual stream, and never the preview (at least for me). Since I've done most of my plugin development in preview mode, I didn't encounter the bug myself until I actually tried streaming! Also, the bug only appeared when the streaming frame rate was equal to or higher than the input port refresh rate. So if you had a 60Hz signal coming into the card, and OBS was set to 30fps, you'd never have any issues.
 

P4rD0nM3

New Member
Just an update from me. If you have a 1600p monitor like me and you want to stream at 1600p as well, go and buy the DVI-DL so you can stream at 1600p/60.
 

Boildown

Active Member
Was just looking at this: http://www.geforce.com/whats-new/articl ... ree-gaming

The Nvidia G-Sync technology. And then it hit me, I don't know if we'll be able to clone the display to the DVI port while G-Sync is active on the video card. I'd like to find out about that for sure.

Also G-Sync apparently only works on displayport and to my knowledge there isn't a single displayport capture card on the market. And if there was I have no idea if it'd work with varying framerates like this. And then there's the whole Shadowplay thing... maybe I won't even need a capture card any more. Things be changing.
 

Muf

Forum Moderator
Boildown said:
Also G-Sync apparently only works on displayport and to my knowledge there isn't a single displayport capture card on the market. And if there was I have no idea if it'd work with varying framerates like this.
Epiphan's cards support DisplayPort. The question is to what extent is G-Sync compatible with regular DisplayPort. For Datapath cards, you could always clone/split the DisplayPort output and connect one half to a DP-HDMI adapter.
 

Boildown

Active Member
Muf said:
Epiphan's cards support DisplayPort. The question is to what extent is G-Sync compatible with regular DisplayPort. For Datapath cards, you could always clone/split the DisplayPort output and connect one half to a DP-HDMI adapter.

Hadn't heard of that before. But checking now, the only one I see is the VGADVI Broadcaster, but it doesn't have the specs for it. Besides that, i just lists Displayport, but the documentation doesn't even contain the word "displayport" or "display port". I assume it only supports using displayport's DVI passthrough followed by a converter dongle. That won't work obviously.

I'm assuming the G-Sync implementation will require Displayport 1.2 (in addition to G-Sync itself), which if I recall correctly disqualifies the various passive conversions to DVI or HDMI. Maybe an active one, but that's a lot of cash for no guarantees.
 

Boildown

Active Member
Having had another look at the DisplayPort specs on the wikipedia page, and what G-Sync seems to be doing, I'm convinced any DisplayPort capture card would need a DisplayPort 1.2 input, no conversions. And those just don't seem to exist. So the only hope would be if you can clone your screen to a non-G-Sync output in addition to the G-Sync DisplayPort.
 

unph4zed

New Member
I didn't even know this plugin existed!!! Which version of OBS is this running stable on? I'm trying to use it with 32 bit v0.584b but in the plugins it shows up (string not found). I'm using a Vision DVI-DL.
 

Boildown

Active Member
unph4zed said:
I didn't even know this plugin existed!!! Which version of OBS is this running stable on? I'm trying to use it with 32 bit v0.584b but in the plugins it shows up (string not found). I'm using a Vision DVI-DL.

I haven't used this plugin in a while because I use -multi to run two instances of OBS at the same time, and when I did that with the plugin, it didn't work right... a lot of stuttering-ish bad things happening. One instance of OBS streams, the other saves to disk at higher quality and full resolution.

That said, as I recall it normally shows up as "string not found"... I just assume the plugin is missing a field, but it works normally if you realize that "string not found" is the Datapath device. Also make sure you're using the 32 bit version, as I recall the plugin only works with the 32-bit OBS.

The DVI-DL is my dream capture device, but so far I've been unwilling to drop 1.5k on it. I check Ebay now and again, but no recent signs of any deals at all lately, just a few single-link devices at near-list-prices.
 

Draco

Member
I'll second the stuttering issue. I just can't appear to get a smooth 1080p60 out of the card with this plugin now for some reason.

I only have the E2 (not E2s) and I sometimes wonder if I'm reaching any bandwidth limitations on the bus/card or if I have some other device hogging it somehow. (all the C/CPU features are off so that doesn't go crazy with DPC latency) When I use OBS's standard capture, I do get a small bit of jitter in small intervals, but I wish there were a way to display the FPS that the card is delivering for diagnosing that. I try not to grab in RGB24 either, even though I thought this card could easily send that to OBS.

I know when I run the "Vision window" monitoring program alone, it's a solid 60 or so. But with OBS grabbing at the same time, it plummets to 30-50, which I assumed was just normal for this card. Is it the same for you guys?
 

Muf

Forum Moderator
Draco said:
I only have the E2 (not E2s) and I sometimes wonder if I'm reaching any bandwidth limitations on the bus/card or if I have some other device hogging it somehow.
Due to limitations in OBS1, my plugin only captures in RGB32. This means for 1920x1080@60fps, you're trying to push 475MB/sec through the card. The E2s has a bandwidth limit of 650MB/s so that leaves plenty of headroom, but the 480MB/s bandwidth limit of the E2 might be too tight when you factor in possible unknown bus overhead. DirectShow capture doesn't have the same problem because it can capture RGB24 (356MB/sec) and YUY2 (238MB/s). However, as the buffer gets converted to RGB32 on the CPU, and then uploaded to the GPU from system memory, the total PCI-e bus load is higher, as well as CPU load.

The OBS2 (also known as "the redux" or "obs-studio") version of the plugin will support the full range of colour spaces supported by the cards, with full hardware acceleration (DMA) and colour space conversion done on the GPU.

I'll look into the missing string soon. I should probably make the UI properly translatable again, as it's all hardcoded even though the plugin contains the borrowed localisation code from the DirectShow plugin. I'm also getting a refurbished VisionRGB-PRO2 so I'll be able to make sure it works properly with the older generation of Datapath cards as well as with multiple cards present in the system.
 
Top