bitfocus / companion-module-requests

Repository for tracking module requests
101 stars 11 forks source link

Cisco C40 Codec Precision 60 Camera control #388

Closed nottooloud closed 3 years ago

nottooloud commented 3 years ago

PTZ cameras are great for streaming, but expensive. Cisco's telepresence rigs from a few years ago included their Precision 60 Camera. It's a 1080p60 PTZ w/ HDMI & SDI output. Great big F1.5 10x optical zoom lens. The C40 codec running TC 7.3 firmware can control up to 7 of these cameras. Being 5 years out of date, these are corporate throwaways. You can pick up the codec for $40, and the cameras for $100 each. They compare well to the current $1600 PTZ Optics 20x. The API is well documented, and speaks Telnet, SSH, and HTTP/HTTPS. It's attached to this request. I'd like to drop all the camera controls on a Stream Deck. Don't care at all about the rest of the codec controls, since I won't be using any of its other functions.

Particularly juicy is the Camera Ramp command, because you can combine the parameters. Parameters: CameraId(r): <1..7> Pan: <Left/Right/Stop> PanSpeed: <1..15> Tilt: <Down/Up/Stop> TiltSpeed: <1..15> Zoom: <In/Out/Stop> ZoomSpeed: <1..15> Focus: <Far/Near/Stop> Example: xCommand Camera Ramp CameraId:1 Pan:left PanSpeed:1 xCommand Camera Ramp CameraId:1 Pan:stop

Here are the commands I want. xCommand Camera Ramp xCommand Camera TriggerAutofocus xCommand Camera PositionReset xCommand Camera PanTiltReset xCommand Camera PositionSet xCommand Camera Preset Activate xCommand Camera Preset Remove xCommand Camera Preset Store xConfiguration Cameras Camera Brightness Level xConfiguration Cameras Camera Focus Mode

These ethernet-controlled P60s might actually be running VISCA over IP, since all their cameras before this ran hardwired VISCA, and this codec will control them, too. So it might be possible to skip the codec altogether. The cameras feed HDMI when standalone. I am certainly happy to run Wireshark if someone wants to dig into that.

codec-c60-c40-api-reference-guide-tc73.pdf

nottooloud commented 1 year ago

Don't need to sweat the Python, there's an exe. Just run it, and when the window pops up, tell it where to find your codec and what the password is. It'll find your cameras and control them or it won't.

DynaDV commented 1 year ago

Apologies if this question is not directly related to the thread in question, but do you guys happen to know how the Cisco cameras that do NOT have dip switches decide what resolution to output over the HDMI port? I'm looking at the 1080P4XS1 and Cisco docs state that it can do 1080p30 as well as 720p60. How would I put this camera into 720p mode without a codec?

There seems to be a CAM_Video_Format VISCA command, but in the absence of a codec, I can't seem to find any info on what resolution camera decides to output standalone. Does this command stick, or does the camera reset to full 1080p each time it powers on? Or always negotiates the resolution over EDID? Any insight would be appreciated, thank you.

MarkoS65 commented 1 year ago

According the user guide: "Auto: Camera negotiates format over HDMI. HD-SDI tracks HDMI and defaults to 1080p30 in absence of HDMI sync."

emplant2000 commented 1 year ago

Good news: i was able to find a P60 camera here at the office. I'll try to see what can be done.

Hi Yuri. I have one Cisco P60 camera and I want to control it from windows. Can I get your program? Best regards Marko.S

As already mentioned, these cameras unfortunately only work if you also have the codec (the hardware that controls all the video calls etc.. like a C90). Good news is that, if you do have the codec, you can use Butfocus companion to move the camera and zoom in/out.

Hi.

I also have TTC8-02 that is connected with two RJ45 as Serial and IP.

TTC8-02 got IP by DHCP and I got SSH. but there is no connect any username surely as 'admin'.

Serial is no respond any VISCA apprications. 9600 and 38600 too.

Now I'm trying this one. https://github.com/jcrawfordor/tandyberg

How about is your situation?

Mack

krispybaked commented 2 months ago

Is this companion module still running at all? It forwards me to the RoomOS version which doesn't seem to have any sort of camera control. I intend to use companion for P60 control via a codec pro

SveinTerje commented 2 months ago

Yes, the module still exist, but is now called RoomOS, as that's more accurate based on what we actually control. I use it every day.

krispybaked commented 2 months ago

oh right. Cool. So when you connect you see cisco camera's and control them? Or do i need to do some xml to control them?

Curious, what else do you use the streamdeck for besides using just a touch10/Navigator?

SveinTerje commented 2 months ago

When you connect, you get access to the xAPI (documented at roomos.cisco.com), and from there you can tell the codec to control the camera. You do not get direct camera control.

As for "what else can you do", the answer is "anything the xAPI can do", which is a very long novel to write. I reccommend having a look at the aforementioned URL to get an idea of the possibilities. The Codec Pro is both a very powerful video switcher/sticher/matrix and has loads of I/O

krispybaked commented 2 months ago

wow, you get everything EXCEPT pan/tilt/zoom. Asshats!

SveinTerje commented 2 months ago

xCommand Camera Ramp gives you pan/tilt/zoom

Just remember to do a "stop" when you release the button, or it will go all the way.

You can also set pan-speed, but it may not be as slow as you wish if you want a very slow pan.