GithubHelp home page GithubHelp logo

capture-device-support's Introduction

HID API for Elgato UVC devices

The folder Library contains cross-platform code to access device-specific features of selected Elgato video products.

The CMake project in this folder builds a small console app for testing. Modify selectedDeviceID in SampleCode/main.cpp to select the correct device type.

Supported platforms

  • Windows (10 or higher)
  • macOS

Supported devices

  • HD60 S+
  • HD60 X

Supported features

  • Switch on-device HDR tonemapping on/off
  • Read HDMI HDR status packet (for HDR detection)

Limitations

The library was written for macOS and Windows. However, the sample project was only built with Visual Studio 2019 and tested on Windows so far.


Driver API for Elgato devices

For non-UVC devices device properties can be accessed via a custom driver property set (IKsPropertySet).

Sample code is provided, see SampleCode/DriverInterface.h/.cpp

Supported platforms

  • Windows (10 or higher)

Supported devices

  • 4K60 Pro MK.2
  • 4K60 S+

Supported features

  • Switch on-device HDR tonemapping on/off (4K60 Pro MK.2 only)
  • Set video compression (4K60 S+ only)
  • Read HDMI HDR status packet (for HDR detection)

4K60 Pro MK.2

To receive HDR the format on DirectShow filter pin must be set to P010.

4K60 S+

The 4K60 S+ always produces compressed video output. For HDR the encoder format must be set to HEVC via the driver interface.

capture-device-support's People

Contributors

fbirth avatar notr1ch avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

capture-device-support's Issues

Sign mismatch in EGAVHID::WriteHID

If you could change this:
if (inMessage.size() > mHIDCaps->OutputReportByteLength-1)

To this:
if (inMessage.size()+1 > mHIDCaps->OutputReportByteLength)

That seems to get rid of the warning. Seen in 32-bit build.

How to get IKsProperySet, 4k60 Pro Mk.2

Sorry if this is a dumb question but I'm trying to get your sample code to work with my 4k60 Pro Mk.2. I am frankly a total novice with both windows and C++ and I'm trying to figure out how to get this IKSPropertySet thing to pass into your function EGAVDeviceProperties::EGAVDeviceProperties(IKsPropertySet* inKsPropertySet, DeviceType inDeviceType).

Alternatively a full main style function would be nice. I basically am just trying to get a CLI program that sets the HDR tonemapping.

This is my device info according to pnputil

    Instance ID:                PCI\VEN_12AB&DEV_0710&SUBSYS_000E1CFA&REV_00\4&15001d53&0&0008
    Device Description:         Game Capture 4K60 Pro MK.2
    Class Name:                 MEDIA
    Class GUID:                 {4d36e96c-e325-11ce-bfc1-08002be10318}
    Manufacturer Name:          Elgato
    Status:                     Started
    Driver Name:                oem6.inf
    Hardware IDs:               PCI\VEN_12AB&DEV_0710&SUBSYS_000E1CFA&REV_00
                                PCI\VEN_12AB&DEV_0710&SUBSYS_000E1CFA
                                PCI\VEN_12AB&DEV_0710&CC_048000
                                PCI\VEN_12AB&DEV_0710&CC_0480
    Compatible IDs:             PCI\VEN_12AB&DEV_0710&REV_00
                                PCI\VEN_12AB&DEV_0710
                                PCI\VEN_12AB&CC_048000
                                PCI\VEN_12AB&CC_0480
                                PCI\VEN_12AB
                                PCI\CC_048000
                                PCI\CC_0480

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.