[outdated][offline] DirectDraw (+dx8) capture support

Bl00drav3n

Member
If you know a good filehoster, please tell me about it. :)

Btw Jim asked me some time ago if he should include the source into OBS master repo - I am not sure if the plugin is functional/stable enough though.
 

ninjalens

New Member
hi i've moved the plugin files into their appropriate place and i still have the same results with age of empires 2 as without any plugins i think i might be doing something wrong
 

Bl00drav3n

Member
ninjalens said:
hi i've moved the plugin files into their appropriate place and i still have the same results with age of empires 2 as without any plugins i think i might be doing something wrong
I uploaded a corrected 32bit version just now - i accidently named the "GraphicsCapture" directory "GraphicsCaptureHook". Should be fixed now.
Sorry for the late response, I was busy with other stuff and forgot about the plugin. :(
 

lillbrorsan

New Member
Tried this plugin with Outlaws made by LucasArts and it does not capture the game at all, I have to use 3dfx display driver for the game to work without color issues so that might be it?
 

Bl00drav3n

Member
I am not sure which Graphics API Outlaws uses. You can check your OBS logs to find out if it uses DirectDraw/Direct3D/OpenGL.
 

lillbrorsan

New Member
It can run using DirectDraw and Direct3D but only OpenGL with a custom wrapper, at the moment I am using a custom wrapper called nGlide which fixes the issue with colors ingame but I can't capture the game with the only method I know for older games (Dxtory) without it crashing.
 

Bl00drav3n

Member
Hm if it doesn't work with D3D then it might be using DX8 - OBS is not yet capable of capturing that. If you set the graphics mode to DirectDraw and capture the game you should see some Log-output.
 

lusix

New Member
I come from China, I can't open the Google SkyDrive link address, there are other link to download? Thank you.
 

Bl00drav3n

Member
So I finally made a dropbox account and will continue to host my files there as google drive feels somewhat stupid.

@lusix I hope dropbox is available for you.
 

sevenRA1

Member
When the next OBS Update is released will this plugin still work? Or do you have to update it with every OBS update?
 

Bl00drav3n

Member
So far the plugin worked with every released version. Once Jim decides that the code should be included into OBS master it will work for every update. The only reason why I recompile and upload the plugin all the time is because of changes made to the GameCapture-Plugin. My code just extends the existing plugin to allow DDraw-capture.

Generally I can say: if there aren't new features or major bugfixes introduced with a new OBS version (regarding the capture plugin), I (and you) don't really need to update the DLL.
 

Bl00drav3n

Member
I am not sure how Firefox's Gecko engine actually draws stuff on screen, but I doubt it's using DirectDraw as it's highly outdated. Why are you asking?
 

Bl00drav3n

Member
Bl00drav3n updated DirectDraw capture support with a new update entry:

Basic DirectX8 support

I finally came around to implement DX8 capture \o/. At the moment the only accepted color format of the framebuffer is 32bit X8R8G8B8. I will implement 16bit R5G6R5 and 16bit A1R5G5B5 in the future (as well as maybe exotic 8bit), if requested I will try to speed up my efforts (being a bit lazy as usual).

Three things regarding the plugin:

When you exit a game while capturing ddraw or dx8, the game will crash. I'm not exactly sure what the reason for that happening is, but I'm...

Read the rest of this update entry...
 

David Donovan

New Member
This doesn't seem to work with Command and Conquer Generals. Maybe I'm doing it wrong, I usually don't go in and change things around so not very use to it. I Copied the contents of Plugins and put them in the plugins for OBS Still having the black screen with audio.

Code:
18:10:23: Open Broadcaster Software v0.624b - 32bit (´・ω・`)
18:10:23: -------------------------------
18:10:23: CPU Name: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
18:10:23: CPU Speed: 3401MHz
18:10:23: Physical Memory:  4095MB Total, 4095MB Free
18:10:23: stepping id: 9, model 58, family 6, type 0, extmodel 1, extfamily 0, HTT 1, logical cores 8, total cores 4
18:10:23: monitor 1: pos={0, 0}, size={1920, 1080}
18:10:23: Windows Version: 6.1 Build 7601 S
18:10:23: Aero is Enabled
18:10:23: -------------------------------
18:10:23: OBS Modules:
18:10:23: Base Address     Module
18:10:23: 012F0000         OBS.exe
18:10:23: 61210000         OBSApi.dll
18:10:23: 72F10000         DShowPlugin.dll
18:10:23: 731D0000         GraphicsCapture.dll
18:10:23: 6B6B0000         NoiseGate.dll
18:10:23: 73C80000         PSVPlugin.dll
18:10:23: ------------------------------------------
18:10:23: Adapter 1
18:10:23:   Video Adapter: NVIDIA GeForce GTX 680
18:10:23:   Video Adapter Dedicated Video Memory: 2087387136
18:10:23:   Video Adapter Shared System Memory: 2147807232
18:10:23:   Video Adapter Output 1: pos={0, 0}, size={1920, 1080}, attached=true
18:10:23: =====Stream Start: 2014-05-23, 18:10:23===============================================
18:10:23:   Multithreaded optimizations: On
18:10:23:   Base resolution: 1920x1080
18:10:23:   Output resolution: 1920x1080
18:10:23: ------------------------------------------
18:10:23: Loading up D3D10 on NVIDIA GeForce GTX 680 (Adapter 1)...
18:10:23: ------------------------------------------
18:10:23: Audio Format: 48000 Hz
18:10:23: ------------------------------------------
18:10:23: Audio Channels: 2 Ch
18:10:23: Playback device Default
18:10:23: ------------------------------------------
18:10:23: Using desktop audio input: Speakers (Realtek High Definition Audio)
18:10:23: Global Audio time adjust: 0
18:10:23: ------------------------------------------
18:10:23: Using auxilary audio input: Microphone (Realtek High Definition Audio)
18:10:23: Mic time offset: 0
18:10:23: ------------------------------------------
18:10:23: Audio Encoding: AAC
18:10:23:     bitrate: 128
18:10:23: Using graphics capture
18:10:23: Scene buffering time set to 400
18:10:23: ------------------------------------------
18:10:23: Video Encoding: x264
18:10:23:     fps: 30
18:10:23:     width: 1920, height: 1080
18:10:23:     preset: veryfast
18:10:23:     profile: main
18:10:23:     keyint: 60
18:10:23:     CBR: yes
18:10:23:     CFR: yes
18:10:23:     max bitrate: 2500
18:10:23:     buffer size: 2500
18:10:23: ------------------------------------------
18:10:25: Using RTMP service: Twitch / Justin.tv
18:10:25:   Server selection: rtmp://live-mia.justin.tv/app
18:10:25:   Interface: Realtek PCIe GBE Family Controller (ethernet, 100 mbps)
18:10:25: Completed handshake with rtmp://live-mia.justin.tv/app in 308 ms.
18:10:25: SO_SNDBUF was at 8192
18:10:25: SO_SNDBUF is now 65536
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:10:29: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:10:33: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:10:37: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:10:41: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:10:46: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:10:50: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:10:54: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:10:58: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:11:02: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:11:06: Capture window 0x00000000 invalid or changing, terminating capture
Warning -- GraphicsCaptureSource::AttemptCapture: OpenProcess failed, GetLastError = 5
18:11:10: Capture window 0x00000000 invalid or changing, terminating capture
18:11:19: =====Stream End (recording continues): 2014-05-23, 18:11:19=========================
18:11:19: RTMPPublisher::SocketLoop: Graceful loop exit
18:11:19: Average send payload: 9685 bytes, average send interval: 29 ms
18:11:19: Number of times waited to send: 0, Waited for a total of 0 bytes
18:11:19: Number of b-frames dropped: 0 (0%), Number of p-frames dropped: 0 (0%), Total 0 (0%)
18:11:19: Number of bytes sent: 17326652

Am I doing something wrong?

Edit: Updated file version still same issue.
 
Top