SKAARHOJ PTZ Fly Compact Controller User Manual
- June 9, 2024
- SKAARHOJ
Table of Contents
PTZ Fly Compact Controller
User Manual
PTZ Fly Compact Controller
PTZ Control
SKAARHOJ controllers are able to control an ever increasing number of PTZ
camera makes and models. Each camera comes with its own set of controllable
parameters that are set by their internal protocols and design. We strive to
give the user access to the largest range of the camera’s features possible
with some bonus SKAARHOJ exclusives!
Getting Started
Select Default Configuration
Our controllers such as the PTZ Pro and the PTZ Fly comes with a range of
default configurations. In order to select the one suited for your camera brand
please use the “Online Configuration” functionality in our Firmware
Application. You must connect your device to your computer with the USB cable
and have internet access as well. For more details about using the Application
and selecting the right Port please see the Installation and Operation Manual
at
www.skaarhoj.com/support/manuals/
Setting IP for a Device Core / How our “Camera Selector” Works
For PTZ Control our Device Core works by setting a “Master IP” and the IP
addresses of your cameras needs to be sequential. You do not need to add
additional Device Cores. The controller will automatically connect to the
additional cameras provided they are given consecutive IP addresses. In this
case just one NewTek Device Core is set to 192.168.10.213 which means the
controller will connect to:
Cam 1 on 192.168.10.213
Cam 2 on 192.168.10.214
Cam 3 on 192.168.10.215
And so forth
Avoid setting IP addresses so the PTZ range will interfere with either the
controller it self or other clients connected. This could be if IP of the
controller is set to 192.168.10.215 when a PTZ IP range starts from
192.168.10.213.
Camera Selector on Camera
Make sure the camera address selector is set to 0 on all cameras connected to
our controller
Dip Switches and Dials
Various camera models uses dip switches and dial to set video format,
protocol, or baud rate. Check the camera manufacturer’s manual to verify the
correct settings.
Typically our PTZ cameras use VISCA over IP or VISCA over Serial with a baud
rate of 9600 or 11520 for serial communication.
Connected Cameras on PTZ Pro
When a PTZ Pro connects to cameras the buttons on the camera selector row will
light up.
In this case Camera 1 and Camera 3 are connected.
Network Recommendations
Connection Stability and NDI
Background: People are moving to NDI video on a large scale and while it’s a
fantastic technology, it can lead to frustrating network issues which may first
appear as faults on specific and seemingly unrelated devices like a SKAARHOJ
controller. In general, the problem is that NDI used on a poorly configured
network that is not “NDI ready” will lead to flooding of NDI video data to
devices that doesn’t want it and can’t handle it. For a SKAARHOJ controller
this means that the essential control data connection is killed by all the
irrelevant video data it receives. Even a single lost control package can lead
to poor of connection stability or the use of a joystick. In the worst case
the control won’t even connect. These cases can be frustrating because they
are tipping-point issues where a small change cascades into large
consequences.
In general: For any network control system to work – and certainly for a
SKAARHOJ controller – you need to consider that your network is configured so
that neither the SKAARHOJ controller nor the devices it communicates with and
no link in between are congested with network traffic that can result in
predictably poor performance. No matter how much error correction we build
into a controller, lost communication information will lead to poor
performance. When NDI video data and other Multicast data
is shared on a network it will congest the network unless proper guidance have
been taken. Use proper managed network switches with something called IGMP
snooping enabled so the lovely NDI data is only sent to the devices that wants
to receive it. If not – and this is the default unfortunately – all devices
including your SKAARHOJ controllers will receive it too and spend incredibly
amount of resources to filter it out.
Below you will find our recommendations as this present time. Please be aware
suggestions might get updated as we get to understand and test further.
If you use our controllers on a network with NDI sources (Multicast) it is
absolutely imperative to configure your network properly to ensure a stable
connection.
Network Guidelines
Besides having taken proper network switch considerations such as Gigabit
Ethernet on all network switch ports we recommend the following settings on
your Managed Switch when possible:
- Enable IGMP Snooping (mDNS is automatically blocked by many switches when snooping is enabled — refer to documentation from your switch vendor)
- Enable Flow Control as Asymmetrical or simply as On
- Disable Quality of Service
- Disable Jumbo Frames
- CONFIGURE IGMP Querier and Query Interval for each switch in multi-switch networks when using multicast
Additional Network Resources
• NewTek: NDI Network
Guidelines
• PTZOptics: Setting up a Ubiquiti Network for use with PTZOptics
Products
• NewTek Network Settings: https://support.newtek.com/hc/en-us/articles
/115001705074NETWORK-SETTINGS?mobile_site=true
Multicast Data on Network
If you are unsure if Multicast data is present on your network we recommend
using a network protocol analyzer such as Wireshark. Many tutorials can be
found online to filter to Multicast data on the network.
See a example here.
Camera Connection over VPN
Some VISCA camera have been unable to connect over a VPN, via a router or on a
different subnet. It seems like the circumstances are that as soon as the
camera is not placed on the same subnet, no connection can be made.
The cameras in question are VISCA over IP cameras and more specifically Sony
cameras (BRC-X400 confirmed) and also Bolin VCC-7HD30S-3SMN.
This is a WireShark case for Sony BRC-X400 of an exchange between the
controller (192.168.10.18) and the camera (192.168.10.149). The controller
sends a request to the camera on port 52381 according to the specs. In return
to this request the cameras sends a response back to the same port, 52381, but
notice that the sending port on the camera side is random, in this case 35799.
This reply never reaches the camera in the mentioned circumstances where the
controller is on another subnet. But it works fine on the same subnet. I
believe the reason is that when the return communication happens from a
different port than the receiving port, the router between the subnets will
not let it through.
In the case of the Bolin camera, this is how a transaction looks and it
exhibits the same issue, even with a new port for each return answer:
A Bolin 4K camera (4K12S) also requires to return traffic to the port 52381, but it will in fact send it out from the same port it received traffic on. This WORKS through a subnet:
Likewise will a Lumens A50P will work across subnets although that is the type of VISCA over IP camera that does not require return traffic to be sent to port 52381:
Disclaimer on VPN
Ultimately SKAARHOJ is not able to guarantee connection to PTZ cameras over
VPN. We are not experts in network infrastructure and will not be able to
offer assistance in setting up your VPN connections. We test and ensure that
our controllers work in a standard local set up.
Camera Configuration
Configurations with Multiple PTZ Brand
For default configurations such as “NewTek NDI-HX PTZ1 + Panasonic PTZ” and
“PTZOptics + Panasonic PTZ” on the PTZ Pro the generic system action “System:
Camera Select” are used instead of camera select on the specific Device Core
level. Care must be taken in understanding how IP settings are set in
UniSketch OS and how the system action works to make sure you can connect to
your cameras. A example are given below for the “NewTek NDI-HX PTZ1 +
Panasonic PTZ” default config:
Two states are used – each state control the different camera brand. In this
case the first state (state 0) is NewTek whereas the second state (state 1) is
Panasonic. The IP scheme is the same as a controller with just one Device
Core installed (as explained in the section “Setting IP for a Device Core /
How our “Camera Selector” Works”.
Brand 1
Below the set up for Cam1 and Cam2 for NewTek camera
Brand 2
Below the set up for Cam1 and Cam2 for Panasonic camera.
Note on Shutter Values
For our PTZ implementations, shutter values are normally displaced based on
NTSC and not PAL. When working in PAL, you may notice the displayed shutter
values are different then expected but the camera setting will be as expected.
Speed of PTZ on Joystick
Two options exist for setting a Speed Limit for PTZ actions. Either a fixed
value (between 0-7) where 0 have no reduction of the maximum speed and 7 have
the highest reduction of the maximum speed. The alternative is setting the
Speed Limit to a Memory parameter where the Speed Limit can be adjusted by a
encoder or button controlling that specific Memory parameter. This is the case
for many default configurations. In the example below the Pan action on the
NewTek Device Core is set to “Mem K”
The “Mem K” is adjusted with the action “Speed Limit Mem K” on a rotary encoder so the limit can be adjusted on the fly.
You can apply a “Local Label” to change the naming from “Spd Lim K” to something easier to understand.
The “System: Local Label 1” will take the naming from “String 1” in the “Manage Media” tab on the config page
Many PTZ cameras we have integrated with uses VISCA as a control protocol, and
natively in this protocol is speed limits between 0 and 7. The “Speed Limit”
action in UniSketch is shown in percentage values and will jump (not be
linear) to match the values between 0 and 7. The limitation is in the camera
protocol itself and not in our integration.
Focus
The same methodology for “Speed of PTZ” applies to Focus. You can either set a
fixed value to determine the amount Focus should be adjusted or you can assign
it to a memory parameter so you can adjust it on the fly. In the example below
the amount of Focus is adjusted by the parameter “Mem L”. This is assigned to
a rotary encoder adjusting “Mem L”.
By default focus adjustment are integrated with small steps with focus
near/focus far where the step size is either set to a fixed value between 0 and
7 or set to a Memory parameter adjusting the step size between 0 and 7 on the
fly.
If you prefer to initiate a focus near/focus far adjustment and stop the focus
adjustment by turning the focus knob back to neutral position/holding down the
focus knob, this can be achieved by using the action “System: Force HWC Type –
Speed” prior to having the Focus action like below. This allows for very fine
focus adjustments if the speed limit is sufficiently low.
See a video about this topic at: https://www.youtube.com/watch?v=iSov1zilBIk
Zoom Control
Zoom with Joystick
The same methodology for “Speed of PTZ” applies to Zoom. You can either set a
fixed value to determine the speed zoom should be adjusted or you can assign it
to a memory parameter so you can adjust it on the fly. In the example below the
speed of zoom is adjusted by the parameter “Mem K”. This is assigned to a
rotary encoder adjusting “Mem K”.
Zoom with Encoder – in steps
Zoom can also be controlled from an encoder instead of a Joystick. By just
having the Zoom action you will zoom in/out in steps where the step size is
determined by a fixed step size or by adjusting the step size on the fly using a
memory parameter.
Zoom with Encoder – initiating zoom in/out (creep zoom)
By using the action “System: Force HWC Type – Speed” like in the Focus
description you can change the zoom behavior to initiate a zoom in/out until
you have rotated the encoder back to neutral position/by holding it down.
Zoom with Buttons
If you want to assign zoom functionality on a button you should use the “Zoom
(Binary)” action instead of just the “Zoom” action.
Reverse Movement on Joystick
If you want to reverse movement on a joystick for pan/tilt/zoom you can for
most Device Cores use the option “Reverse movement” for the Pan, Tilt and Zoom
actions.
If this option does not exist on the Device Core you can use the action “System: Force HWC Type” – leave the type blank but choose “Invert” like below.
On Screen Displays
Access to OSD via Encoder
Often access to the OSD can be found in the Device Core action “System – Menu
Display”. Depending on how the manufacturer have implemented the VISCA command
there are different ways to navigate the menu. In the case of the NewTek NDI-
HX PTZ1 when the below action is assigned to an encoder the OSD is brought up
by turning clockwise. With the joystick you can navigate up and down in the
menu. By turning it clockwise again you enter the chosen menu. By turning
anti-clockwise you go back a menu layer and ultimate exit the OSD.
Access to OSD via Button
Again – variances can exist but if the OSD action is assigned to a button the
OSD for NewTek NDI-HX PTZ is brought up by pressing the button. By pressing a
second time you enter the menu. By pressing a holding you go back a menu layer
and ultimate you exit the OSD.
PTZ Grouping
With PTZ Grouping it is possible to control more than 7x of a single model
of camera from the same device core. This is by creating up to 5x groups of 7x
cameras and switching between the groups. To do so you will need to combine
the device core action for Camera Group Select and add the needed IP addresses
in the IP matrix.
You will need to assign the action Camera Group Select, available for many
VISCA device cores, to switch between your different groups. The individual
camera select will be done from the same camera select buttons used in a
standard configuration.
Setting up the Group IP addresses is done in the Device Cores Options section.
You can add the number of cameras you want in each group up to 7 and the
number of groups up to 5. If you leave the first IP address blank in a group,
the next IP address listed will be camera 1 of that group.
Please note that once you use the IP matrix to assign IP addresses, the
controller will no longer take the IP address from the device core IP under
network configuration.
PTZ Cruise Control
On many of our PTZ camera implementations we have added a cruise control
function to allow you to start a camera movement and have it continue for
0-100 seconds after you release the joystick.
This action is best used set for a specific camera and not a memory group. When set to Stop on release, the action will stop after the duration you set for Sec: Delay. When set to Stop on Flag Change the action will stop when a system flag has been activated.In the example below Cam 2 will continue its movement after the joystick released until there is a flag change. Since it is set for Cam 1 to respond to Flag 1, then Cam 2 will respond to Flag 2, Cam 3 to Flag 3, and so on.
PTZ Trace
On many of our PTZ camera implementations we have added a trace function to
allow you to record movements of up to 65 seconds to be play back. It is
important to note that there are only 10x Trace Memories per controller NOT
per camera. We suggest you set the Cam select for a specific camera and not for
a Mem group.
Setting the function to Play/Record will play the record on a short button
press while a 1 second press will start the record.
The PTZ Trace starts by recalling the start position from a preset saved on
the camera. It is advised to use a high number preset to avoid conflict with
regular camera presets already in use. This can cause the start position of
the trace to be thrown off. Another factor that can cause problems in
recalling the trace is the preset recall speed. The controller gives the
camera 3 seconds to recall the starting position before starting the trace. If
the preset recall speed is set too low, the trace will start playing back at
the incorrect position.
There are two options for when the playback of the trace will start. Play from
1st action will start the playback of the trace from the first movement you
make while recording the trace. Play from Rec. start will start the playback
of the trace from when you started the record, even if there are a few seconds
without movement.
Tally
In some cases it can be desirable to route tally to the PTZ cameras based on
tally from a video switcher.
This can to some degree be done using Virtual Triggers, which are available on
all of our UniSketch OS controller
In the case of adding ATEM Tally it would be done the following way:
- Add the ATEM Device Core and set IP Setting
- Under Virtual Tiggers in the Online Configuration, Select BMD ATEM: Program Src as your Source states.
- Set the operator to Active
- Add the Tally actions for your PTZ camera, set it as Hold Down so it gets released after the source changes
Troubleshooting
Recovery Process for Overloaded Controllers
There is a limit to how many device cores you add to a configuration. Some
device cores takes up more CPU-power than others, and if too many are added
the controller can become unresponsive or crash. See our suggestion to the
device core count on the Device Cores webpage:
https://www.skaarhoj.com/support/device-cores – it is listed as ‘Core
limit’. It’s also important to note that many PTZ device cores can handle
multiple cameras – often up to 7 or 8. This means only one device core is
needed to control the cameras, if they are of the same model/family.
The camera limit is also found on the Device Cores webpage – it is listed as
‘Client limit’.
If too many device cores have been added, and the controller has become
unresponsive, it is necessary to remove some device cores from the
configuration.
If the Online Configuration webpage is still open, select ‘Device Cores’ in the
menu, and click the red X to delete one or more device cores.
After removing device cores, please remember to click ‘Save Settings’ – then
click ‘Controller
Configuration’ in the menu, and again click ‘Save Settings’. Go to the Firmware
Overview page and generate a new firmware for the controller. Download and
unzip the file. Return the Firmware Updater and select Options/Load Firmware
from File. Select the unzipped .hex file.
The controller should now have returned to an operational state. It can also
be a good idea to press Clear Presets in the serial monitor portion of the
firmware updater to make sure all the old firmware has been wiped away.
If your controller is totally unresponsive, and you can’t access Online
Configuration, then you need to contact Skaarhoj support.
Controller does not show up under Port in Firmware Application
If your controller doesn’t show up under ports, try these things first:
- Make sure you have attached your controller with a micro USB cable to your computer. Check the micro USB is fully inserted into the USB plug on the controller
- Is the controller turned on?
- Reboot you computer
- Change the USB cable for another one
- Avoid using USB adapters to eliminate point of failures
- Try to use a different USB port on your computer
- Boot the controller in config mode: Disconnect the controllers power, then hold the config button under the power plug down with a pen tip, power on the controller and hold the button until it lights blue, then release.
- Force quit and reopen the Firmware Updater.
If none of the above brings up the USB port, you may try this procedure but only after clearing it with the SKAARHOJ support team!:
- Locate the small hole just below the config button
- Power off the controller and press this tiny button for a second, add power and release the tiny button after 5 seconds. You may repeat this. (Pressing this button while the controller is on should reset it completely).
- Turn off the controller, then turn it on again. Now you should see the USB port in the firmware application and be able to perform a “Update Firmware” (which at first will ask to install an intermediate firmware which you agree to).
Old method if no hole below config button are present:
- Open the controller carefully and locate the SKAARDUINO main board (the one with the ethernet plug)
- Locate the flat cable connector in the corner of this board. Next to this connector you will see a tiny button.
- Power on the controller and press this tiny button for a second and release. You may repeat this. (Pressing this button while the controller is on should reset it completely).
- Turn off the controller, then turn it on again. Now you should see the USB port in the firmware application and be able to perform a “Update Firmware” (which at first will ask to install an intermediate firmware which you agree to).
Contact Support
You are always welcome to contact us for support questions – write an email to
support@skaarhoj.com and we will do our best to
accommodate your request.
In order for us to provide the best support please state:
- Which SKAARHOJ unit it is about
- The serial number of your device (small silver label with 6 digits)
- The nature of the problem
- Which hardware device(s) you are controlling and their firmware version
- If you have successfully installed the Firmware Updater Application and made contact with your device though the Serial Monitor (you need the USB programming cable)
- Your operating system
References
- UniSketch Manuals | Skaarhoj
- Support/Wireshark_Multicast_Demo.mov at master · SKAARHOJ/Support · GitHub
- UniSketch Device Cores | Skaarhoj
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>