Code Monkey home page Code Monkey logo

tallyarbiter's Introduction

Hi there ๐Ÿ‘‹

Metrics

tallyarbiter's People

Contributors

0xjaskeerat avatar albertorighetto avatar chanx avatar cyberblaststudios avatar dbussert avatar dependabot[bot] avatar everton747 avatar fred-dtv avatar gr8kingg avatar hrueger avatar jocke4f avatar josephdadams avatar jtf4 avatar julusian avatar kmyhre avatar matteogheza avatar mattv8 avatar mchauge avatar mg-1999 avatar monkzzz avatar netdude78 avatar noahcallaway avatar peschuster avatar petervcook avatar robo-w avatar syoffe avatar the-sizzler avatar themusicnerd avatar videojedi avatar wrldtvlr 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tallyarbiter's Issues

New Install is missing module 'Packet"

Hi all,

I have installed a new Raspberry to use the TallyArbiter code. But after the install im run the code node index.js(at the installed directory) and the following is showing up on the terminal:

`pi@TallyServer:~/tallyarbiter $ node index.js
internal/modules/cjs/loader.js:638
throw err;
^

Error: Cannot find module 'packet'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object. (/home/pi/tallyarbiter/index.js:5:18)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)`

and i have downloaded it directly from GitHub by using this ommand (git clone https://github.com/josephdadams/tallyarbiter )

Im using the Raspberry pi 3B as Server
Node JS version V10.21.0
NPM version V6.14.8

Can somebody explain/help me to fix this?

Thanks in advance, Wesley

Add OSC support

Add OSC support, both as an incoming tally source and an outgoing action.

Change color of the Preview/Live status?

This is probably not really an issue...I'm new to github.

Is it possible to change the color of the status lights?

I just learned that while we have been using this awesome system for a few weeks that our lead pastor is red/green colorblind and can't consistently tell which light is which.

Flash on led work but not work when change input from vmix

I use TA 1.4 on two PI Zeros and from a browser I see that it works correctly.
When I connect them after a while I see them connected in TA
Today I tried to connect two leds to pin 20 and 21 to see the status exchange but when, for example on vmix, I swap the inputs, no led lights up.
While in TA I see the correct exchange between red and green.
If I launch a flash from TA I see the two LEDs flashing correctly.
Where am I wrong?
Thanks, Alberto

Error: read ECONNRESET with Webhook action

I have a simple Tally Arbiter setup with two OBS color sources that I am switching between in Studio mode. I have one light setup with four actions Program/Preview both with On/Off. When I switch between the color sources the console window prints out some errors. My tally light that I am controlling with the actions is an ESP32 and is using the script recommended in the Readme (TallyArbiter-arduino-neopixel). It is connected with the webhook action.

"An error occured triggering the Outgoing Webhook: Error: read ECONNRESET"

It's like Tally Arbiter fails to send one or two webhook signals to the device when switching sources in OBS.

gpio dont change state in listener

Hi, with the new changes the listener is not getting the information for the tally status.
In fact, the gpio status change messages do not appear in the console

Barco Event Master Support

Hi Joseph,

Do you have planned support for Barco Event Master Products? I know they don't have native support to generate any tally data, but there is a small program that was developed to extract states of sources that could be used as a bridge between Barco and Tally Arbiter: https://github.com/qmsk/e2

The tally state can be output on a HTTP REST WebSocket API. Information on the output can be found in his wiki here: https://github.com/qmsk/e2/wiki/Tally#web-api

Is this something that can be implemented into Tally Arbiter? I would be a happy tester if you do not have access to a Barco Product.

Reconnect Connected Listeners

I have setup 4 m5stick's with static IP addresses. I would love to be able to mark them in the Connected Listeners list to be persistent so when they are Reconnected they are assigned to the previously assigned Device instead of the first device. This is also for a church. Really love your software!!!! Also I used the m5stickCplus library (I mistakenly bought pluses) and it worked fine...

Atem mini Pro does not provide states

HI, I have the atem mini pro connected and it shows up as a connected source, but my linked devices do not get a status when in PGM or PVM... am I doing something wrong?

in this screenshot camera1 is in PGM on the atem ..
image

Problem with connection to ATEM 1 M/E

Hello, I have problem with connection to ATEM 1 M/E switcher... The switcher is green in Web GUI, but in CLI it put these errors:

[Fri Oct 23 2020 15:50:51 GMT+0200 (Central European Summer Time)] Tally Arbiter running on port 4455
reconnect
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 15. Received 17
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
Failed to deserialize command: Function: RangeError [ERR_OUT_OF_RANGE]: The value of "offset" is out of range. It must be >= 0 and <= 3. Received 4
[Fri Oct 23 2020 15:50:51 GMT+0200 (Central European Summer Time)] Source: ATEM1 ATEM connection opened.
[Fri Oct 23 2020 15:50:52 GMT+0200 (Central European Summer Time)] Listener Client Connected. Ty

And I have no tally data from the switcher....

The switcher software is 6.6.1. (Pretty old, but i cann't upgrade it, because of other infrastructure.)

Mac Install Weirdness

Truly impressed with how well written this is. Amazingly easy to install and get running. Well done - Hat tip!

Having a problem getting the serve to run on startup on a Mac Mini under High Sierra. Code runs just fine running directly within Node.

Following the "Running as a Service" steps, the first issue I had was PM2 Start. I had to manually create the LaunchAgents folder, as it did not exist for the admin user account I was using. Once I created that folder, I had to run pm2 Start as sudo or I'd get an error that said permission denied when creating the file .pm2/pm2.log.

The second problem was that although pm2 startup seemed to work fine (creating the startup launch script), it never seemed to do anything. Tried as a basic user and using sudo, but no joy.

Any suggestions?

Webhook preview / pgm duplicate off message on webhook

Hello everyone!
Is it just me that have the idea that when i have a source on preview and press cut, the green tally goes red as it is supposed. but if i cut back again, that signal should be green again but it goes black.
I'm using webhook.
Since the OFF order on my webhook device is always unit, i see it blinking green for some fast instants and then goes black. What it seems to be happening is having the hook for green but since PRGRAM is off, the last hook that goes is the PGM /OFF instead of the PRV ON.

Can someone confirm this? thank you

M5Stick doesn't show preview/program

Hey Joseph,

I'm always impressed when people create some new technology stuff. Thanks for your time! I've tried it myself and I got to the point where I see the status of my Camera 1 in the settings as well in the web viewer. I'm a bit proud of myself :D

Code is successfully transferred, I set all up, like you've written here on GitHub and my M5StickC is connected to the network,. Where could be (presumably) my mistake?

Best wishes from Germany :)

First Production Went Well!

Didn't find a discord group or other discussion platform that seemed appropriate, so I'll leave this here...

We did our first live production today using TallyArbiter polling an ATEM Production 4K switcher, 5 cameras along with four Atom Matrix listeners and it went very well. Everything worked just as it should. Running the server code on the same Mac Mini as our Wirecast instance. Thinking I might move the TallyArbiter server to a dedicated Raspberry Pi to avoid any possible problems in the future, but don't have any justification for doing so.

TypeError with GPO_Listener

When trying to connect a client via the GPO_Listener or with a very simple own listener Client, the Server throws the following Exception: TypeError: Cannot read property 'id' of undefined. The stack says the Error occurs in Line 541, seems like getDeviceByDeviceId() uses an undefined array of devices?
Connecting a Listener via Web Interface runs correctly.

Matrix Listeners Not Detected

Any suggestions on how to troubleshoot a couple of M5 Atom Matrix listeners not being detected? I've programmed 4. Two show up in the listeners list, two do not. They all have the same client code and were all purchased new. They all have IP addresses assigned. The two that aren't showing up do not have any entries in the TallyArbiter log window.

I have a couple of additional Matrixes I will try today. They only thing I can think of is that two of the original 4 might be defective.

M5Stick no connect to TA

Today I got two M5s and I immediately tried to install the m5 listener but unfortunately it doesn't work.
I configured TA ip and connected to the common wifi.
M5 connects to wifi, shows TA address and port but in TallyArbiter I don't see it.
I had a problem with the SocketIoClient arduino library.
I had to delete line 41 which contains hexdump in the library's SocketIoClient.cpp because it gave me an error in compiling.
I don't think that's what creates the problem.
Some advice ?
Thanks, Alberto

Workaround: Autostart for Win10

I found a workaround for autostarting the TallyArbiter on Win10 which I wanted to share with you and everyone who might need it:

  1. Install Node and pm2 as explained in the readme

  2. Setup a "nouac" rule to autostart with admin priviliges in task scheduler: https://youtu.be/QMh5MAV-m6E?t=167

  3. Create a batch file to start TA as a service:
    cd C:\Program Files\TallyArbiter-master pm2 start index.js --name TallyArbiter PAUSE

  4. Create a second batch file for the auto start process:

copy /-Y /V start-tally.bat %temp%\cmd.cmd /Y echo %~dp0 > %temp%\startin.txt schtasks /run /tn nouac

  1. Create a shortcut of the autostart batch file in shell:startup

Hope this helps.

Allow Companion to switch tally lights

Hi,
We use a ptz-camera as main camera. Companion is used to use presets on this camera. One of these presets is a long distance shot of the organ and choir. Is it possible to set a specific tally for a preset so that the choir can see when the camera is aimed at them?

Device Source

Sorry - one additional problem. Trying to link a listener to an ATEM Production 4K device source, the pulldown choices aren't readable. I was able to guess that the check was the one and only source I had defined, but had to manually enter the number.
IMG_20210208_143523

OBS - system confused by fade-to-black

FTB would normally turn off all tallies, but when connected to OBS (v26.1.1) in Studio mode, the system indicates the PV source as on air when faded to black. Coming out of FTB goes back to the original PGM source, but the tallies still show the PV channel as on-air

Connection error?

Not sure what I'm doing wrong, but am having difficulty showing the live status on the Producer information page.

My use case is to offer remote access via port redirection on the router (mapped a public port to local IP of TA port 4455 for TCP). Everything works locally, but I can't get this page to update remotely.

Are there any other ports I need to redirect?

image

Add Videohub

Hi Joseph,

could you please add the BMD Videohub protocol?

Example for this: You have an preview monitor for the video engineer whoยดs doing iris etc on the cameras. He selects his cameras via an Videohub. Would be great if he can get an tally information if the camera which he has in preview is on air or not.
So needs some logic if camera is on air and on output xyz of the videohub.

Thanks in advance,
Andreas

Add message system....

Text can be passed between the host and the client. There are some default buttons such as zoom in / zoom out / pan left ect...

No recovery after timeout towards vMix

Source code

Latest as of 2021-01-29

Environment

Computer: Mac mini (mid 2012)
MacOS: 10.15.7

Scenario

One vMix source configured. The vMix computer is offline. TallyArbiter setup a TCP port connection towards 8099, but timeouts after 45 seconds with an exception.

node:events:356
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT 192.168.0.89:8099
    at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1139:16)
Emitted 'error' event on Socket instance at:
    at emitErrorNT (node:internal/streams/destroy:188:8)
    at emitErrorCloseNT (node:internal/streams/destroy:153:3)
    at processTicksAndRejections (node:internal/process/task_queues:81:21) {
  errno: -60,
  code: 'ETIMEDOUT',
  syscall: 'connect',
  address: '192.168.0.89',
  port: 8099
}

Due to this must TallyArbiter be launched after vMix has been started on the vMix computer. Expectation is that TallyArbiter handles the timout and tries to reconnect until successful.

Local GPO-listener unable to connect

Hi!
I'm quite new to code so it's probably just a minor issue with my setup. I've tried both localhost and running the server on another computer and i still get the same error. Downgraded the socket.IO to the version recommended. I want to run the server and listener on the same Pi.

I'm getting the error:

Unable to connect to Tally Arbiter server: 127.0.0.1 4455
Traceback (most recent call last):
File "tallyarbiter-gpolistener.py", line 165, in
sio.connect('http://' + server_config['ip'] + ':' + str(server_config['port']))
File "/usr/local/lib/python3.7/dist-packages/socketio/client.py", line 284, in connect
raise exceptions.ConnectionError(exc.args[0]) from None
socketio.exceptions.ConnectionError: Connection refused by the server

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "tallyarbiter-gpolistener.py", line 173, in
time.sleep(15)
File "/usr/local/lib/python3.7/dist-packages/engineio/client.py", line 39, in signal_handler
return original_signal_handler(sig, frame)
File "/usr/local/lib/python3.7/dist-packages/socketio/client.py", line 26, in signal_handler
return original_signal_handler(sig, frame)
KeyboardInterrupt

Blackmagic ATEM - Show PVW/PGM status when source is used in Upstream Key

ATEM supports using an input as an "picture in picture" overlay using the UpstreamKey (USK) DVE functionalities.
Currently TallyArbiter does not recognize an input as being "used" in the USK and does not update the tallies accordingly.
It looks like the PGM state of the USK can be found in https://nrkno.github.io/tv-automation-atem-connection/interfaces/upstreamkeyer.html by looking at onAir and fillSource.

The PVW state looks to be a bit more difficult to determine. When I include the key in the next transition (include it in the PVW) I see that the video.ME.0.transitionProperties state gets updated.
The content of the state is { style: 0, selection: 3, nextStyle: 0, nextSelection: 3 } where both selection and nextSelection change with the keys included in the next transition.
It looks like the value of selection and nextSelection can be translated back into the binary version of which keys are included in the transition.
image
For example:
Only BKGD -> 1
BKGD + KEY1 -> 3
KEY1 -> 2

It would be very useful for us if TallyArbiter is able to represent this correctly in the future!

On Air Indicator

Hey Joseph!

Is there any way that an indicator on the tally page could be added to show when our system is on air. If there is any way this could be integrated with our tricaster's live stream that would be great but doing it manually from the producer page could also work.

Thank you so much!

Control of ATEM via OSC

At the moment my church set up is using atemOSC to control our ATEM 4K Pro when videos are played out from a PC. I'm using ShowCueSystems on the PC and when I run the cue on the PC, it sends OSC commands to atemOSC which switches the ATEM preview bus to be the feed from the PC and then runs the currently selected auto transition. At the end of the video, it runs another auto transition.

I'd like to deploy TallyArbiter as well but am mindful of the limited number of connections that the ATEM supports so is there any scope for replicating the basic behaviour of atemOSC in TallyArbiter - ie tell it to select a given input as program and/or preview and then either cut/auto transition?

Problem updating tally with non-standard inputs (INPUT#) on Tricaster

Hey @josephdadams!

I was testing out TallyArbiter on my TC1 and I found a bug where the tally does not update when I have any source that does not begin with "INPUT" in preview or tally. The tally just freezes and does not update until I put a normal input in program or preview (sometimes it has to be in program or it won't update) I know that sources like DDR1 are in the tally API. I can send the API XML with the source list to you if you need it. Thanks!

Add support for StreamState of OBS

Hi,
I used tallyArbiter in some recent streams and I would appreciate a Source for the current streaming-/
recordingState of OBS for the Speakers to reference.

Thanks
Gunnar

Atem pgm+aux combination

Hi I'm a camera controller and like to create a tally when a source is switch on the ppm (me1) of a ATEM and on a specified aux. So I know a camera is active when I'm viewing it on my monitor and don't make big changes in the actual camera.

Example input 2 is actual on PGM (me1) and on aux2 input 2 is switch swell it needs to give a tally.
If for example camera 4 is switched on the PGM and aux2 is watching input 2 there shouldn't be a tally. but when I select input 4 on aux2 the tally go on.

Is this possible?

OSC Input for Countdown Times

Getting OSC input so messages can be sent to Tally systems.

An example would be a countdown timer from Mitti to display on the tally boxes.

vibrate when Preview/Live

As we are starting to use TallyArbiter more and more, we've came across an idea which would be really helpful:

At them moment we're using old Smartphones as Tallys for our shows and especially for the non-stationary cams it would be a great feature if the phone would vibrate when the cam is in preview, so the cameraman knows when to get ready even when the phone screen is pointed at the people in front of the cam.

Also the new M5Stick Plus seems to have a buzzer integrated, so it would be useful for that piece as well.

M5Sticks creating new listeners for same IP

I apologize if this is something I'm missing in the docs so please just close if so with my apologies as I'm new to the etiquette of github projects but it our M5stick-Cs have static IPs and reconnect at the same IP every time to TallyArbiter but they seem to create new listeners on occasion (maybe after coming out of sleep/turned off).

This means that they default to our Camera 1 again and we have to reconfigure them to the right devices.

The net effect is we end up with multiple M5 sticks as listeners with the same IPs in the admin interface, the old ones grayed out. I tried to determine if we could add permanent configs for listeners in the config.json but missed it if so. Thank you!

Problems with Device Action TCP

Hello,

i have a problem with the Device Action TCP.

System: Apple MBP MacOS 10.15.7
Software: OBS, TallyArbiter, Bitfocus Companion, PacketSender

The Preview, Programm Part works fine.
When i configure a TCP Action Device Action to send a command to Companion, TallyArbiter connects to Companion but does not send the command and does not disconnect.
With every switch, TallyArbiter connects on a new Port, but never disconnects.
When i close TallyArbiter all Ports in Companion are closed immediately.
When i send a TCP command from PacketSender to Companion everything works fine.
When i send a TCP Device Action from TallyArbiter to PacketSender, it receives the Command but also does not disconnect.

Also i cannot choose any listener clients in companion, i don't know if this is part of the same problem.

Thank you for this program and your help.

TCP_Configuration

Client_Connected

Recieve in Packet Sender

Client_Disconnected

Legacy IOS Devices

What's the latest IOS device thats supported as a Tally device? On iphone 5 or earlier, while the page will load, nothing will populate the dropdown menu. Is there a workaround or have you experienced this before?

Thanks.

M

Latest version receives incorrect data from ATEM

Hi, I tried out your software a month or so ago in the previous build to capture data from an ATEM broadcast studio and convert to an OSC command to trigger timeline points in the server which worked great.

I've just installed the latest build on a machine and on comparing the data coming in to the old build vs the new build, new build sees input 1 as PVW: True / PGM: True regardless of which input is selected in the pgm/pvw on the ATEM switcher. I have both builds running on two machines on the same network connected to the same ATEM and the old version works as expected.

The old version can get laggy with fast button pushes - I presume its reading the tally data from all M/E which slows it down hence the update to select m/e in the latest build but something seem broken.

Thanks

OBS not in Studio mode

Hi,
I love this program and would like to use it.
However, we are using OBS not in studio-mode, just switching sources through companion on and off.
TallyArbiter only reacts on sources when OBS is in studio mode.
Can this be enhanced?

regards

Frans

Livestream Studio6 Support

hi, I am trying to develop a Tally system for Studio 6 but it seems that it is complicated to get their API. I am not a Programmer or have much experience in this kind of development. I have tried to make a tally system on NodeMCU Arduino IDE like the one they make for VMix.

ATEM tally incorrect during a transition

This is such a great project!. I love it!

If I start a transition manually on an ATEM Studio HD the PV bank switches to red, but this is not matcher on TA. It only seems to notice at the end of the transition, when the new input hits the program bus. The screenshot shows the 2 reds on the ATEM, but the setup mimic on TA shows a red & green. Is this a problem with the signalling from the ATEM?

FYI my Stream Deck Companion status works fine when linking the button's status to "Change colours from mixer program tally"

image

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.