Environment Setup¶
Change the USB Bulk Transfer Rate¶
USB Bulk Transfer Rate should be changed to 150. The way to set it depends on the OS.
This value represents the maximum data size of USB bulk transmission and should be larger than the file size transferred from cameras to the host. (Unit is [MB].) If you need to adjust memory size adequately, you should set this value to the maximum file size of your camera model.
Camera body settings for USB connection¶
When connecting the SDK to the camera via a USB cable, the following settings must be made on the camera itself. ILCE-1 and DSC-RX0M2 is used as an example here. For other models, refer to “PC Remote Function” in the Help Guide.
For ILCE-1
When you connect the USB cable, four options will be displayed on the “Select USB Connect Mode”. Please select “Remote Shoot (PC Remote)” from there.“Network > Cnct./Remote Sht. > Remote Shoot Function > Remote Shooting” changes to “On” when remote control is ready. If you always use USB for remote control, the following settings will set the default to USB, and you will not have to select it each time you connect the USB cable.“Setup > USB > USB Connection Mode > Remote Shooting”
For DSC-RX0M2
Please set “Setup > USB Connection” to “PC Remote”.
Install the device driver on Windows¶
If you want to connect via USB on Windows, you need to install the device driver.Please refer to “0. Preparation-> Installation of device driver” page of RemoteSampleApp_IM_vx.xx.xx.pdf.
Removing macOS Quarantine Attributes¶
If you download the SDK package on macOS, the application files may have “quarantine” attributes. In this case, the application may not run properly. Please remove the quarantine attributes by executing the following command in Terminal.
xattr -d com.apple.quarantine <file_path>Target files are below:
libCr_Core.dylib
libmonitor_protocol.dylib
libmonitor_protocol_pf.dylib
CrAdapter/libCr_PTP_IP.dylib
CrAdapter/libCr_PTP_USB.dylib
CrAdapter/libssh2.dylib
CrAdapter/libusb-1.0.0.dylib
Camera body settings for wired LAN connection¶
When connecting the SDK to the camera via a wired LAN, the following settings must be made on the camera itself.
ILCE-1 is used as an example here. For other models, refer to “PC Remote Function” in the Help Guide.
Please set “Network > Cnct./Remote Sht. > Remote Shoot Function > Remote Shooting” to “On”.
The default setting for “Network > Wired LAN > IP Address setting” is “Auto”. Please change to “Manual” if necessary.After the “IP Address setting”, it takes about 30 seconds for the SDK to recognize the camera.When connecting via wired LAN, you need to perform the “ Network > Cnct./Remote Sht. > Remote Shoot Function > Pairing” operation on the camera to make it memorize the host PC. Once the pairing is established, turn off the camera, pause for about 10 seconds, and then turn it back on again. (The information is stored in the camera when the power is turned off.) You can also connect without “Network > Cnct./Remote Sht. > Remote Shoot Function > Pairing”.Connections without “Pairing” are possible by setting “Connect without Pairing” to “Enable”.If you set “Connect without Pairing” to “Enable”, unintended third parties may access the camera. Sony is not liable for any problems or damage caused by setting “Connect without Pairing” to “Enable”.IP Address Setting
The default setting for “Network > Wired LAN > IP Address Setting > IP Address Setting” is “Auto”. If the camera is connecting to a router with a DHCP service, set the setting to “Auto” to automatically assign an IP address. If you want to use a network HUB or connect directly to the host PC, change the setting to “Manual” and set the IP address manually.
“ Network > Wired LAN > IP Address Setting > IP Address Setting > Auto” can also be used when the camera is not connected to a router or similar. In this case, the IP address is determined by the camera itself. The host PC should set its IP address based on the one determined by the camera.
For the combination of connection type and ”IP address setting”, please use the following table to help.
Direct
Use HUB
Use Router
Auto
Manual
Auto
Manual
Auto
Manual
Windows
*1
-
*1
-
*1
-
macOS
*2
PC Linux
*3
-
*3
-
*4
-
Jetson Nano
*3
-
*3
-
*4
-
Raspberry Pi 2/4
-
*1 Enable network discovery and file sharing when using a Windows account without administrative privileges
*2 When Firewall is ON, allow connections by applications in the following way:
Open Firewall Options (System Preferences > Security & Privacy > Firewall > Firewall Options…) Set “Allow incoming connections” for the applications
*3 Set the network setting to “Link Local Only”
*4 Set the network setting to “Automatic (DHCP)”
Camera Remote SDK uses the following ports for such as searching the connected cameras. If Firewall is ON, the camera may not be recognized. Try one of the followings:
Register your application which using Camera Remote SDK as an exception to Firewall.
- Change the configuration of the ports as follows to enable communications.
- Remote port
UDP port: 1900, 32768 - 61000TCP port: 80, 8080, 22, 64321, 15740- Local port
UDP port: 1900, 49152 - 65535TCP port: 49152 - 65535Also because of the above, please note that there is a possibility security software makes Warning if your application has no digital signature.
Pairing
- First, select “Network > Cnct./Remote Sht. > Remote Shoot Function > Pairing” to display the pairing standby. Then call the Connect() function from your application.Then, the camera will change to the pairing confirmation screen. Select OK.
Camera body settings for wired LAN connection by SSH¶
When connecting to an SSH support models, the following settings must be made on the camera itself. ILME-FX6 is used as an example here. For other models, refer to the Help Guide.
MENU > Network > Access Authentication
- Decide a User name and PasswordIn the “User Name” and “Input Password” fields, enter the User name and Password used to connect to the host device (PC, smartphone, tablet, etc.).Please refer to each help guide and check if necessary.
- Fingerprint confirmationWhen remote operating a camera that requires SSH authentication, make sure that the user has a correct fingerprint before allowing the connection. You can see the fingerprint generated by the camera body in Show Settings> Fingerprint.
MENU > Network > Wired LAN
Please set “Setting” to “On”.
Please set “Cam. Remote Ctrl” to “Enable”.
MENU > Network > Wired LAN > Detail Settings
The default setting for “DHCP” is “On”. If the camera is connecting to a router with a DHCP service, set the setting to “On” to automatically assign an IP address. If you want to use a network HUB or connect directly to the host PC, change the setting to “Off” and set the IP address manually.
Refer to the table of MENU> Network> Wired LAN> IP Address Setting on the previous page for the combination of router use and hub use and DHCP setting. Replace “Auto” with “On” and “Manual” with “Off” to read.
The following TCP ports are used for communication with cameras that require SSH authentication.
Protocol
Remote port
Local port
Description
SSH
22
-
Used for SSH connection to the camera.
HTTP
8080
58081 - 58027
It can be used by users to access content in the slot’s media.Increases each time Connect() is called.Rotation with 127.See “Get the MediaProfile”Note that when multiple SSH-authenticated cameras are connected at the same time, users will be communicating with localhost instead of the camera’s IP address.Ex.) Cam1(192.168.10.3) = localhost:58081Cam2(192.168.10.4) = localhost:58082
Camera body settings for wireless LAN connection¶
When connecting the SDK to the camera via a wireless LAN(Wi-Fi), the following settings must be made on the camera itself.
Warning
Caution
When connected to Wi-Fi, the data transfer band is narrower than that of wired LAN, and it is more susceptible to radio wave interference, resulting in lower throughput.
It is intended for indoor use such as video content production and tethered shooting, and cannot be guaranteed for all use cases and environments.
Because the Wi-Fi chips and antenna performance installed in cameras are different, there will be differences in throughput and connection stability even under the same environment and conditions.
Please check the performance in your system environment before use.
ILCE-1 is used as an example here. For other models, refer to “Network” in the Help Guide.
- Use Wi-Fi DirectWhen connecting the camera and host device directly, executes “Network > Cnct./Remote Sht. > Remote Shoot Function > Wi-Fi Direct Info” and display the SSID and password required for the user to connect to the camera.If you call the EnumCameraObjects() API on a host device that has joined the camera’s SSID network, only this camera will be detected.The camera’s IP address is fixed (automatic) when connecting directly. Please refer to the help guide for details.When connected to Wi-Fi Direct, Wi-Fi connection cannot be established automatically when the camera is started. Please operate the camera’s menu operation and reconnect.If you want to connect automatically when the camera starts, please use Access Point connection.
- Use Access PointIf you want to get an IP Address from a router with DHCP function and join the same network, executes “Network > Wi-Fi > Access Point Set.” to detect connectable networks. When the connectable SSIDs are displayed, decide which SSID you want to join.Alternatively, you can enter the access point manually.When you join an SSID network, your camera will be assigned an IP Address. You can check the assigned IP Address in “Network > Wi-Fi > Display Wi-Fi Info.”
- Access authentication using SSHWhen controlling remotely using Wi-Fi Access Point, the default setting for SSH authentication is enabled for secure connection.“Network > Network Option > Access Authen. Settings > Access Authen.”User and Password in ”Access Authen. Settings” are the required for the user to connect to the camera with SSH authentication.There is no problem even if you leave the default value.Please refer to each help guide and review as necessary.
- PairingThe pairing function will be disabled when connecting with Wi-Fi Direct or using SSH authentication, but if you use a router with DHCP function as an Access Point and “Off” the SSH authentication function, the “Pairing” will be enabled.You can also connect without “Network > Cnct./Remote Sht. > Remote Shoot Function > Pairing”.Connections without “Pairing” are possible by setting “Connect without Pairing” to “Enable”.If you set “Connect without Pairing” to “Enable”, unintended third parties may access the camera. Sony is not liable for any problems or damage caused by setting “Connect without Pairing” to “Enable”.
Recommended environment settings
1. Please keep the distance between the camera and host device or Access Point within 5meter.2. Please turn off the Bluetooth function.Network > Bluetooth > Bluetooth Function3. For cameras that can change the Wi-Fi frequency band, please set the Wi-Fi frequency band to 5GHz. For precautions related to frequency bands, please refer to the instruction manual for the camera itself.When you cannot connect to Wi-Fi
- a. FirewallThe camera may not be recognized due to the firewall function.Disable the firewall in the settings of security software such as Windows Defender, or register your application which using Camera Remote SDK as an exception to Firewall.Windows Defender firewall settings can be changed by following the steps belowStart > Settings > Update & security > Windows Security > Firewall & network protectionSelect “Allow an app through the firewall” to display the “Allowed applications” dialog, click the “Allow another app…” button to add the user application.For macOS, please allow the application to connect using the following method.Open Firewall Options (System Preferences > Security & Privacy > Firewall > Firewall Options…)Set “Allow incoming connections” for the applications
- b. Airplane ModeIf the camera’s Airplane Mode is “On”, please change to “Off”.“Network > Network Option > Airplane Mode“
- c. VPNIf you are using a VPN software or a security software that uses a VPN on the host device that uses the Camera Remote SDK, turn off the VPN.
Library files used for ControlMonitoring and MoviePlayback¶
The ControlMonitoring() and ControlMoviePlayback() APIs require an accompanying dedicated library file.
There are several files in the external/crsdk folder created by unzipping the CrSDK_vX.XX.XX_YYYYMMDDx.zip. Prepare a new folder and store the two files in external/crsdk there. Then append the new folder path to the environment variables.
No.
OS
Target library files
1
Windows
1
monitor_protocol.dll
2
monitor_protocol_pf.dll
2
Linux 64bit PCLinux 64bit (ARMv8)Linux 32bit (ARMv7)
1
libmonitor_protocol.so
2
libmonitor_protocol_pf.so
3
macOS
1
libmonitor_protocol.dylib
2
libmonitor_protocol_pf.dylib
How to set the environment varies depending on the Operating System.
Windows
- <case 1>
Location
Environment variables
Current folder of running application
Unnecessary
- <case 2>
Location
Environment variables
Any folder ex.) C:\work\crsdk
PATH
Linux
- <case 1>
Location
Environment variables
Any folder ex.) /home/[User]/crsdk
LD_LIBRARY_PATH
- <case 2>
Location
Environment variables
System path ex.) /usr/lib
Unnecessary
macOS
Location
Environment variables
Any folder ex.) /Users/[User]/crsdk
DYLD_LIBRARY_PATH
- If you are using Debian 12, copy and rename the following library to the same directory as the original file.
- original file: /usr/lib/arm-linux-gnueabihf/ld-linux-armhf.so.3copy and rename to: /usr/lib/arm-linux-gnueabihf/ld-linux.so.3


