Setup XiaoYi IP Camera on Surveillance StationBy default Synology Disk Station never support XiaoYi IP camera offically, so that’s why you can’t see the XiaoYi IP camera as part of the
compatible cameras.
OverallBut after I read a couple of Chinese web site, I realized that it is entirely possible to install the XiaoYi IP camera on Synology Surveillance Station, but some minor tweak and workaround is needed in order to achieve that.
The current situationOne of the tricky part with Xiao Yi IP camera is that Xiao Mi launched 2 version of Xiao Yi IP Cameras. The first one we called it “non night vision”, where the latest product is called “night vision”.
The so-called “non night vision”, won’t worked well during night time, but it support RTSP (
Real Time Streaming Protocol). RTSP protocol is very important for us if we want to setup the XiaoYi IP Camera to works in Synology Surveillance Station.
The “night vision” XiaoYi IP camera works well during dark time, but I noticed it contains 2 big problems.
The first one is it did not support RTSP protocol. Second one is the ping is very high when compare with the old version. I believe that since it is a manufacture problem for the later problem, then we can’t do anything about it. But the first problem can be solved with some trick (will show you guys later).
How to install XiaoYi IP camera on night vision versionPlease refer to
the latest post here.
How to install XiaoYi IP Camera (non night vision) on Surveillance Station?The first step is to add the Xiao Yi IP Camera into the XiaoMi account, and make sure it is connected to internet.
Second step, try to get the XiaoYi IP camera IP address from your router device list like below.
If you know the IP address, try to ping using google paping, pointing it at “
paping [IP address] -p 554“, if it is working then you can see a list of connected results like below. On how to use Google Paping, please refer to here.
Use VLC to double confirm everything, choose “Open network stream” option in File.
And then enter
“rtsp://[IP address]:554/ch0_0.h264” like “rtsp://192.168.0.194:554/ch0_0.h264”
If your one is non night vision XiaoYi IP camera, then you can see your screen.
After make sure every connect work smoothly within our expectation, then next big step is to connect them to Synology Surveillance Station.
The next big stepAs I explained earlier, Synology Surveillance Station never support XiaoMi IP camera officially. So we need to update the “device pack” configuration file with a custom XiaoYi camera configuration file.
[Xiaomi*Ants]
api = custom
resolution_h264 = 1280×720
default_resolution_h264 = 1280×720
fps_h264_640x480 = 5,10,15,20,25,30
fps_h264_1280x720 = 5,10,15,20,25,30
default_fps_h264_1280x720 = 20
default_image-quality = 5
h264 = rtsp
mpeg4 = rtsp
mjpeg = rtsp
motion = h264,mpeg4,mjpeg
motion_param = sensitivity,threshold
rtsp_keepalive = none
rtsp_protocol = auto,udp,tcp
Save the configuration as Xiaomi.conf.
By using WinSCP, upload this Xiaomi.conf configuration and store it at “/var/packages/SurveillanceStation/target/device_pack/camera_support” like below.
This step is very important, so that after we added the configuration, then we can see the XiaoYi camera listed in the drop down menu of the device pack like below.
Make sure you entered the IP address, and the port 554. Leave the username and password <blank>.
Click next or save it.
As you can see that the XiaoYi IP camera will listed as “disconnected”, this is common and it happened because we still have to do some tweak and workaround to make it work.
Make sure you read all the text carefully.
Export the XiaoYi IP camera configuration to a storage.
And remember to select the XiaoYi IP camera so it can export correctly.
Access the network drive of the NAS, and look for the .EXPcam file.
By using PSPad, modify the path and live path from “/” to “/ch0_0.h264” like below.
And then remove the current “disconnected” XiaoYi IP camera from the IP camera list.
Import the one that modified by you previously.
If you import an IP camera configuration, by default Surveillance Station will disable it. So you have to right click and Enable it.
It is 99% working fine now, as you can see the thumbnail preview.
And below is the final confirmation.
* With Surveillance Station 8 is more difficult...
Fix by selecting an available configuration, than copy and edit the .EXPcam file:
- Code:
[GATE-ANTS]
id = 9
enabled = 1
name = 'GATE-ANTS'
type = NULL
api = NULL
vendor = 'Xiaomi'
model = 'Ants'
firmware = ''
hostname = '192.168.6.4'
port = 554
media_port = 554
live_media_port = 554
stmout_port = 0
path = '/ch0_0.h264'
live_path = '/ch0_0.h264'
username = ''
password = ''
fps = NULL
fps_2 = 0
image_width = 0
image_height = 0
rec_time = 30
enable_audio = 0
recording_path = '/volume1/surveillance/GATE-ANTS'
recording_prefix = 'GATE-ANTS'
set_rec_folder = 0
set_evt_prefix = 0
recording_capacity = 512000
recording_days = 30
enable_capacity = 1
enable_days = 0
motion_sensitivity = 90
motion_threshold = 10
motion_object_size = 50
motion_percentage = 50
enable_motionlog = 1
schedule = '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
notifyschedule = 'FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF,FFFFF'
resolution = '1280x720'
video_type = 3
streaming_type = 1
enable_camera_motion = 0
enable_io_log = 1
liveview_all = NULL
quality = ''
live_quality = ''
live_resolution = '1280x720'
live_fps = 0
channel = '1'
liveview_mode = 0
rotation_option = 0
pre_rec_time = 5
post_rec_time = 5
audio_format = 0
exporting = 0
enable_manual_rec = 0
cap_file_path = ''
is_deleted = 0
status_flags = 0
occupied_size = 0
live_analytics_type = 0
live_analytics_setting = 1
live_analytics_sensitivity = 1
live_analytics_dwell_time = 5
live_analytics_direction = 1
live_analytics_width = 0
live_analytics_height = 0
live_analytics_obj_size = 0
live_analytics_region = ''
mount_type = 0
param_chklist = 0
time_server = ''
osd_status = 1
osd_position = 6
osd_format = 0
exposure_mode = 4
daybegin = 8
dayend = 18
video_mirror = 1
video_flip = 1
video_rotation = 0
exposure_control = 6
onvif_profile = NULL
tunneling = 0
owner_ds_id = 0
id_on_rec_server = 0
status_on_rec_server = 9
rec_status_on_rec_server = 0
device_type = 1
fov = ''
rec_stream_no = 0
live_stream_no = 0
rec_bitrate_ctrl = 0
live_bitrate_ctrl = 0
rec_cbr_bitrate = 1000
live_cbr_bitrate = 1000
tv_standard = 0
rtsp_protocol = 4
edge_storage_enabled = 0
edge_storage_sch = '111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111'
brightness = 0
contrast = 0
saturation = 0
sharpness = 0
volume = 50
mobile_media_port = 554
mobile_quality = ''
mobile_resolution = '320x180'
mobile_fps = 0
mobile_path = ''
mobile_stream_no = 0
mobile_bitrate_ctrl = 0
mobile_cbr_bitrate = 1000
mute = 0
update_time = 132
pt_speed = 3
zoom_speed = 3
ptz_speed_keep_origin = 0
ui_stream_no = '1,1,1'
custom_detect = 1
custom_alarm_detect = 0
alert_event = 0
recording_disabled = 0
audio_recording_disabled = 0
enable_multicast = 0
multicast_grp_addr = ''
multicast_video_port = 0
multicast_audio_port = 0
enable_multicast_mobile = 0
multicast_grp_addr_mobile = ''
multicast_video_port_mobile = 0
multicast_audio_port_mobile = 0
rec_storage_status = 0
enable_codec_optimization = 0
codec_optimization = 0
codec_optimization_text = ''
rtsp_keep_alive = 0
custom1_detect = 1
custom1_alarm_detect = 0
mobile_liveview_mode = 0
key_frame_interval = -1
dynamic_key_frame = 0
auto_pan_init_pos = -2
auto_pan_pre_sleep_time = 10
ext_di_enable = 0
ext_di_dev_id = 0
ext_di_port = 0
restart_day = 0
last_restart_time = ''
period_sync_time_hour = 0
last_sync_time = ''
rec_storage_mount_type = 0
profile_setting_list = '1,1,1,1,1,1,1,1,1,1,1,1'
adv_contious_trig_event = 1
enable_adv_contious_rec = 0
high_avg_bitrate = 1000
med_avg_bitrate = 1000
low_avg_bitrate = 1000
adv_live_trig_event = 1
enable_adv_live = 0
enable_third_stream_profile = 1
rtsp_path_timeout = 0
removable_lens = 0
adv_contious_min_duration = 10
adv_live_min_duration = 10
adv_live_trig_auto_adjust = 1
adv_live_trig_single_view = 1
alert_di = 0
connected_wire = ''
intercom_acs_duration = 0
enable_calling_notify = 0
dynamic_fps = 0
calling_notify_ado_src_id = 0
calling_notify_duration = 0
confChecksum = 1077556536
...and still working: