bitfocus / companion-module-datavideo-dvip

Controls DataVideo products like the SE-1200 and SE-3200.
MIT License
3 stars 1 forks source link

DataVideo SE-3200 #2

Open rrfarmer opened 4 years ago

rrfarmer commented 4 years ago

PLEASE USE THE FOLLOWING PAGE IF YOU WANT SUPPORT FOR A NEW DEVICE OR SOFTWARE PROGRAM: https://github.com/bitfocus/companion-module-requests/issues/new

Describe the feature I have been researching if a stream deck would work with sending commands to a DataVideo switcher, specifically the SE-3200. It has a network port and an IP, and software to load graphics and things into it over the network, but that's it. I can't seem to find anything that says you can send commands like "switch to input1" or to quickly rout signals. Here's the product page: https://www.datavideo.com/us/product/SE-3200

Is this platform-dependent (windows, mac, ..)? Not platform dependent.

If documentation is required to implement, do you know where to find it? If applicable, add screenshots, protocol description PDFs, etc to help the developers along. There is a protocol section on their webpage, but this is beyond me. The main controller is connected by RS-232, but they do have a network port.

Usecases One of the biggest reasons to use a DataVideo switcher is because it can also act like a presentation switcher/router. You can send inputs to outputs on the fly, however their interface is extremely hard to use and there are no presets for quickly switching back and forth. They have good products for video switching on the cheap end of the industry, way better than ATEM, and can be cheaper for certain setups! However, they are lacking in software and controllers and ease of use.

josephdadams commented 4 years ago

Transferring this to the module requests repository.

RoseOO commented 4 years ago

Reached out to them today and received the 3200 docs.

Se3200 Ethernet Control rev 0.9.x.x.pdf

josephdadams commented 4 years ago

Great job! Would you like to take on creating this module, @BB21B? Is the protocol similar to what your other DataVideo switcher uses?

rrfarmer commented 4 years ago

I called the company today and they sent me a software that is not available on the website, I have not tested it with a 3200 switcher but I will attach it here if anyone can use it.: https://www.dropbox.com/s/wbk2xgwkq41dgem/SE-3200%20Controller%20v0.9.9.8.exe?dl=0 @BB21B @josephdadams

RoseOO commented 4 years ago

@rrfarmer Just installed it and at a glance it appears to be near identical to the SE-1200MU software. Just on a side note it looks like it's a really capable vision mixer. It is just a shame datavideo's software leaves a bit to be desired... I would hazard a guess that the protocol is similar which makes sense as I believe they call it DVIP. Would be nice to see some packet captures of it talking to the unit and switching just the program and preview buses for example.

@josephdadams I'm happy to have a go. I definitely want to get my 1200MU code up because I wouldn't be surprised if some of it works with the 3200.

RoseOO commented 4 years ago

Said earlier I'd post my Wireshark filter too. I used this to grab what the client was sending in button presses. 1.101 being the mixer and 1.220 being me.

ip.addr == 192.168.1.101 && ip.src == 192.168.1.220 && !(data.data == 08:00:00:00:00:00:00:00) && tcp and not tcp.len==0

josephdadams commented 4 years ago

@BB21B https://github.com/bitfocus/companion-module-datavideo-dvip

If you find the commands vary by device, let’s set up a drop down in the config to choose the supported products.

krocheck commented 4 years ago

@BB21B I'd recommend you look at shure-wireless or bmd-hyperdeck, as these both have model selection.

RoseOO commented 4 years ago

@josephdadams I don't appear to have push access to the repo. @krocheck I'm going to have a fair bit of free time for the foreseeable future so I'll take a look and start to make improvements.

krocheck commented 4 years ago

@BB21B you should have gotten an email invite from GitHub with a link to accept access to the repo. I still show your status as "pending invite".

RoseOO commented 4 years ago

@krocheck Ahh I got it thanks

RoseOO commented 4 years ago

Okay pushed my initial version, @rrfarmer if you could check it out and let me know if anything works on the 3200. Thanks :)

rrfarmer commented 4 years ago

@BB21B I'm fairly new to github, where do I find your version?

RoseOO commented 4 years ago

@rrfarmer Hey it's just here https://github.com/bitfocus/companion-module-datavideo-dvip

Give it a go, let me know if you have any luck. I should have some time to mess about with it again pretty soon

houtacheng commented 4 years ago

I have these devices, can I make a request together?

Datavideo SE650 Datavideo SE700 Datavideo HS2200 Datavideo SE2200

RoseOO commented 4 years ago

It would appear that the 1200 and the 3200 use different control numbers for the transition controls (Input selection for the M/E and probably other things) @rrfarmer would you be able to test this out? It has a dropdown for the 3200, currently it will probably only work on the PGM and PVW bus selection but let me know if anything else works, or doesn't. Cheers

rrfarmer commented 4 years ago

@BB21B I have not been able to get anything to connect to the switcher and not going to work means I have no time with it until this is all over.

RoseOO commented 4 years ago

@rrfarmer Ah fair enough, my original code wouldn't have worked out anyway. I have the 1200 at home and I think I've correctly transposed the commands to the 3200. When this all blows over let me know but I'll keep working on it.

RoseOO commented 4 years ago

@houtacheng Which one are you most interested in? Would you be able to test on the hardware and I can see what I can do

houtacheng commented 4 years ago

@BB21B Datavideo SE-700. please......

RoseOO commented 4 years ago

@houtacheng I have emailed them asking for documentation.

RoseOO commented 4 years ago

@houtacheng So the USA branch didn't have the documentation but I have discovered that the Windows software will happily try and communicate with any vision mixer regardless of model. Which means I can package capture it. At a glance the control set is nearly identical to the SE-1200MU so I should have some basic functionality soon.

RoseOO commented 4 years ago

@houtacheng The SE-700 was so similar in control numbers to the SE-1200MU other than changing the input list it was identical in the command numbers so I have pushed an update here:

https://github.com/bitfocus/companion-module-datavideo-dvip

Do note I have found after selecting the model in the list you have to restart companion for the correct list of actions to appear.

houtacheng commented 4 years ago

@BB21B May I ask how I can use this module?

RoseOO commented 4 years ago

@houtacheng you would need to clone it into the /lib/modules folder on your own build of Companion 2.0

RoseOO commented 4 years ago

@houtacheng Have you had any luck?

houtacheng commented 4 years ago

Sorry, I have yet to find an environment that I can compile for testing. Please give me a few more days to prepare.

RoseOO commented 4 years ago

@houtacheng It is now included in the latest build you can get from here:

https://bitfocus.io/companion/download/builds/

houtacheng commented 4 years ago

@BB21B That's great. I don't get a chance to get the equipment for testing until tomorrow.

VennyWang commented 4 years ago

@BB21B Thanks we had done the test of SE700, is there any luck for SE2200?

RoseOO commented 4 years ago

@VennyWang Great did that all work out well for you? I haven't managed to get the documents for the SE2200 but I'll email them again.

RoseOO commented 4 years ago

@VennyWang Could you also try the SE2200 by selecting the SE1200, it's quite possible that it uses the same or similar controls

RoseOO commented 4 years ago

@VennyWang It appears Datavideo do not have a document for the control over ethernet of the SE2200 without access to one it'll be hard to support.

VennyWang commented 4 years ago

@BB21B Thanks for your reply, on menu for SE2200 it did have DVIP connection we can choose (see attached image).... By the way, I will have a try soon to use SE1200. Will update the result in few days.

61534

VennyWang commented 4 years ago

dvipSE2200

@BB21B Hi there, no luck for connection as SE1200, any other option ?

RoseOO commented 4 years ago

@VennyWang Thanks for the screenshot, that shows me that the normal DVIP port selection doesn't work on this model which leads me to believe this is a very different flavour of DVIP. Just to quickly check but could you ping the mixer just to make sure the network was definitely okay.

Unfortunately though with Datavideo not having documentation for this one and without access to the hardware it'll be very hard to do anything with.

VennyWang commented 4 years ago

messageImage_1588560758479 messageImage_1588561593806 @BB21B Thanks for your quick reply,attached please fine the PING result for your reference, I installed Datavideo DVIP network configuration tool and well found my SE2200, but failed to connect by Companion again.

VennyWang commented 4 years ago

Snipaste_2020-05-04_11-16-13 By the way, I try to scan the port of my SE2200 and found port 5002 is available only(5000-5999), so is that possible we can send command through 5002 instead of 5009?

krocheck commented 4 years ago

@BB21B will give her comment, but the way the scheme traditionally works is there's TCP socket combinations on 5001/5002, 5003/5004, 5005/5006, and 5007/5008. This allows 4 simultaneous control connections. 5009 is an initial socket connect to assign out the first available of those 4 control connections. It happens just for a moment then the module switches to one of those 4 ports.

@BB21B Should we bring back the port dropdown but default to an auto-detect option on the 5009 port?

RoseOO commented 4 years ago

Thanks for the additional information that is really useful.

@krocheck I was just thinking the same thing is to have a default auto option. However there is no suggestion that the matching realtime port (5001) is open so there may be protocol differences or it is just throwing all the data back down port 5002, if it is then I need to make some changes to what port the buffer is read from.

This will require some changes to how connections get handled though.

@VennyWang Would you be able to scan port 5001 and see if it is open at all. And would you be able to provide a Wireshark packet capture of you opening the DVIP Network Configuration tool (So start the capture before you open the program) and maybe adding a letter to the hostname?

You can filter ip.addr == 192.168.4.103 so you can just send me those packets. That would be really helpful to get an idea of how similar the protocol is. And hopefully the mixer might reveal the current state information on connection.

RoseOO commented 4 years ago

@VennyWang Just to add to this, but I just tested the DVIP network tool on my SE-1200MU and it does make a connection where mixer information is returned. If you are able to do the packet capture, while you have the DVIP network tool open and the mixer selected and open too can you make some Program and Preview bus cuts on the physical panel so I can check to see if the data is there too.

Thanks!

RoseOO commented 4 years ago

@VennyWang Okay done a fair bit of looking into this today and it seems that the SE2800. SE2900 and SE2800 use an older version of DVIP. However I have found that there is remote panel software you can download from here and install the SEConfig...exe

https://resource.datavideo.com/firmware/SE-2800-V4.16-V2.5-12152016.zip

Then in the SE Remote Control software it installs press the small set button and select your model and enter the IP address under Ethernet. If you could get some packet captures from that such as changing program and preview bus inputs that would be a helpful start.

Screenshot 2020-05-04 at 21 58 45

rrfarmer commented 4 years ago

@BB21B If you think it would help with the 3200, I can set up a VPN for you to try connection issues.

RoseOO commented 4 years ago

@rrfarmer The 3200 uses the newer protocol so should be fine as I've already specifically support it. Have you had a chance to test it out? There has just been an update to the 2.0 builds with the latest bits in.

Only the SE2200, SE2800 and SE2900 uses the older protocol (and it seems like it's really different).

RoseOO commented 4 years ago

@VennyWang Just another quick note but you need to press the PC Control button on the top left of the panel too.

RoseOO commented 4 years ago

I've started a new issue to cover support of the models I've identified that use an older DVIP protocol #4

VennyWang commented 4 years ago

@VennyWang Just another quick note but you need to press the PC Control button on the top left of the panel too.

Okay thanks for your reminding.

VennyWang commented 4 years ago

@VennyWang Okay done a fair bit of looking into this today and it seems that the SE2800. SE2900 and SE2800 use an older version of DVIP. However I have found that there is remote panel software you can download from here and install the SEConfig...exe

https://resource.datavideo.com/firmware/SE-2800-V4.16-V2.5-12152016.zip

Then in the SE Remote Control software it installs press the small set button and select your model and enter the IP address under Ethernet. If you could get some packet captures from that such as changing program and preview bus inputs that would be a helpful start.

Screenshot 2020-05-04 at 21 58 45

We'd completed these test and no issue for SE software control, just for your reference SE2200 use "LAN Service" port for SE software control but not "LAN" port for DVIP control.

VennyWang commented 4 years ago

@BB21B I will have a try to get packet capture in few days, thanks for your kindly help.

RoseOO commented 4 years ago

@VennyWang Thanks for testing and thanks for the note about the LAN Service port I'll be sure to document it.

If you could post your packet captures in the new issue for the older protocol that would be great.

If there is a chance you could provide remote access, say on TeamViewer or Anydesk I'd be happy to arrange a couple of hours to get all the values I need. That would probably be the quickest route.