Giter VIP home page Giter VIP logo

atemweb's Introduction

ATEMWeb

Enables a REST API for the Blackmagic ATEM switchers.

Also provides a SignalR (WebSockets) endpoint for ATEM events - if another ATEM Switcher Control Panel is connected, you'll see the inputs change through messages within the WebSocket connection.

Limitations: currently only allows selecting the PGM source.

Quick start

  1. You'll need to install version 7.5.2 of the Blackmagic Switchers application, found here: https://www.blackmagicdesign.com/support/family/atem-live-production-switchers
  2. Install dotnet v6.0
  3. Compile & run with dotnet run
  4. The default url is https://localhost:5001/ if you haven't already, you'll need to install the loclahost security certificate from dotnet.
  5. Swagger is the best way to interact with the API and is available at https://localhost:5001/swagger/index.html
  6. Call the /api/atem/connect method to connect to your ATEM. If it's connected via USB then leave the address parameter blank, otherwise supply the IP address of the ATEM.
  7. A proper user interface is in the works, providing a similar feel and functionality offered by the ATEM Switcher application but that's very much a work in progress.

API endpoints

Swagger is enabled at https://localhost:5001/swagger/index.html allowing a complete catalog of the API's available. GET requests return values, POST requests assert a change (i.e. is an instruction to the ATEM to do something).

POST http://host:port/api/atem/mixeffects Use this to connect to your ATEM. Address property should be blank if you're connected via USB, otherwise use the ATEM's IP address.

GET https://localhost:5001/api/atem/mixeffects/1/GetProgramInput Returns the current PGM input number. If you have more than one M/E bank on your mixer then replace the 1 with the M/E bank number you wish to query.

POST https://localhost:5001/api/atem/mixeffects/1/SetProgramInput/1 Change the PGM output for the specified M/E block to the input number specified by the value after SetProgramInput.

Review the Swagger page for an exhaustive list of the API's available. Please note that some are still work in progress!

Future plans

  • Provide a full and feature-rich API to provide complete access to the ATEM via a REST API.
  • Provide a feature-rich web UI experience, with event feedback from the ATEM
  • Mimic the Vmix API.

atemweb's People

Contributors

roygdavis avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

craigkehl pbelbin

atemweb's Issues

Couldnt get API to work

Hello Roy,

Firstly thank you for developing this API, this is specifically what i`ve been looking for, however I couldnt get it to work, other than the index.html, which reads atem commands normally.

image

by running http://localhost:52094/api/api/?Function=fade&Duration=2&Input=6 I get the following error:
image

running with just one /api gets me a 404 error.

I also tried looking around the code, but couldnt find anything useful.

Am I missing something?

Thanks in advance.

Parser Error Message: The CodeDom provider type "Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" could not be located.

First of all thank you for sharing this. Second I think that the error I'm getting is because of my environment and not your application. I'm new to everything .Net but I think this error is because I don't have .Net 4.6.1 installed. I tried installing it but it states that I have a newer version. I appear to have .Net 4.8.

I'm running this on a Windows 10 1909 and I have your project in as the default site in IIS. Any help you could give would be appreciated.

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.