Πίνακας περιεχομένων
Διεύθυνση ροής ήχου και βίντεο RTSP σε πραγματικό χρόνο:
- Μορφή: rtsp://ip:αριθμός θύρας/ροής
- Προεπιλεγμένη θύρα: 554
- Αναγνωριστικό ροής: 0 (κύριο ρεύμα), 1 (δευτερεύον ρεύμα)
- Για παράδειγμα, για να ανακτήσετε τη δευτερεύουσα ροή από τη διεύθυνση της συσκευής 192.168.1.188, το URL είναι:
- rtsp://192.168.1.1 8 8 :554 / 1
Ο πελάτης (κινητής εφαρμογής) λαμβάνει και ορίζει τις παραμέτρους της κάμερας μέσω του πρωτοκόλλου TCP;
Η κάμερα λειτουργεί ως διακομιστής TCP, με την προεπιλεγμένη θύρα TCP 8866.
Μορφή δεδομένων επικοινωνίας TCP:
καθαρή συμβολοσειρά JSON
Λάβετε την κατάσταση της κάμερας:
Δομή δεδομένων:
typedef struct
{
char s8DevId[64]; // Αναγνωριστικό συσκευής, ορίζεται από προεπιλογή IP εάν δεν έχει οριστεί αναγνωριστικό.
u32 u32TfRecord; // Κατάσταση εγγραφής της κάρτας TF, 0: καμία εγγραφή; 1: εγγραφή σε εξέλιξη
}JSON_DEV_STATUS_INFO_S;
Χαρακτήρες εντολών:
#ορίστε JS_CMD _ GET_DEV_STATUS “GetDevStatus”
Υποθέτοντας ότι η διεύθυνση IP της συσκευής είναι 192.168.1.188, ο πελάτης στέλνει τα ακόλουθα δεδομένα JSON:
{
” GetDevStatus “: { }
}
Αφού η κάμερα έλαβε με επιτυχία τα δεδομένα, επέστρεψε τα ακόλουθα δεδομένα JSON:
{
” GetDevStatus “: {
” s8DevId ” : ” 192.168.1.188 ” ,
“u32TfRecord” : 0
}
}
Λήψη/ρύθμιση παραμέτρων κωδικοποίησης βίντεο:
Δομή δεδομένων:
typedef struct
{
u8 u8VideoEncChn; //0 : κύριο ρεύμα; 1: δευτερεύον ρεύμα;
u8 u8VideoCodecType; // 1:h264 ; 2:σελ265
u16 u16Πλάτος βίντεο; // Πλάτος βίντεο
u16 u16Ύψος βίντεο; // Ύψος βίντεο
u16 u8Ρυθμός καρέ; // ρυθμός καρέ (1-30)
u16 u8IframeInterval; // Εγώ- μέγεθος διαστήματος καρέ (1-100)
u8 u8BitrateControlMode; //Λειτουργία ελέγχου bitrate: 0: CBR 1: VBR
u16 u16BitRateKps; // Μέγεθος bitrate
char s8VideoSizeName[256]; // Λίστα υποστηριζόμενων αναλύσεων }JSON_VIDEO_ENC_PARAM_S;
Χαρακτήρες εντολών:
Λάβετε παραμέτρους:
#ορίστε JS_CMD_GET_VIDEO_ENC_PARAM “getVideoEncParam”
Ρύθμιση παραμέτρων:
#ορίστε JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”
Για παράδειγμα:
Ο πελάτης ανακτά τα ακόλουθα δεδομένα JSON που περιέχουν τις παραμέτρους κωδικοποίησης της κύριας ροής bit της κάμερας:
{
” getVideoEncParam “: {
” u8VideoEncChn “: 0
}
}
Τα δεδομένα JSON που επιστρέφονται από την κάμερα είναι τα εξής;
{
” getVideoEncParam “: {
” u8VideoEncChn “: 0,
“u8VideoCodecType” : 1,
"u16VideoWidth" : 3840,
” u16Ύψος βίντεο ” : 1080,
“u8FrameRate” : 30,
” u8IframeInterval ” : 60,
” u8BitrateControlMode ” : 0,
"u16BitRateKps" : 4096,
” s8VideoSizeName ” : ” 3840×1080,1920×540 “
}
}
Ο πελάτης ορίζει τον ρυθμό καρέ δευτερεύουσας ροής της κάμερας σε 15 και το bitrate σε 1024K σε μορφή JSON, ως εξής:
{
” setVideoEncParam “: {
” u8VideoEncChn “: 1,
” u8FrameRate “: 15,
” u16BitRateKps “: 1024
}
}
Μετά την επιτυχή εγκατάσταση, η κάμερα επιστρέφει TRUE.
Λήψη/ρύθμιση παραμέτρων κωδικοποίησης ήχου:
Δομή δεδομένων:
typedef struct
{
u8 u8Ενεργοποίηση; //0: Καθιστώ ανίκανο; 1: Καθιστώ ικανό;
u32 u32ChnNum; // 1 : Mono; 2: Στέρεο
u8 u8EncodeType; //6 : AAC; 8: G711A; 9: G711U; u32 u32Rate Sample; // Ρυθμός δειγματοληψίας: 8000, 16000, 24000, 32000, 48000
u8 u8AoutVolume; // Μέγεθος όγκου: [0–100] }JSON_VIDEO_ENC_PARAM_S;
Χαρακτήρες εντολών:
Λάβετε παραμέτρους:
#ορίστε JS_CMD_GET_AUDIO_PARAM “getAudioParam”
Ρύθμιση παραμέτρων:
#ορίστε JS_CMD_SET_AUDIO_PARAM “setAudioParam”
Για παράδειγμα:
Ο πελάτης ανακτά τα ακόλουθα δεδομένα JSON των παραμέτρων κωδικοποίησης ήχου της κάμερας:
{
” getAudioParam “: { }
}
Τα δεδομένα JSON που επιστρέφονται από την κάμερα είναι τα εξής;
{
” getAudioParam “: {
” u8 Ενεργοποίηση “: 1,
“u32ChnNum” : 1,
"U8EncodeType" : 8,
“u32SampleRate” : 8000,
"u8AoutVolume" : 80,
}
}
Οι ρυθμίσεις από την πλευρά του πελάτη για την κωδικοποίηση ήχου της κάμερας είναι AAC, στέρεο, και ρυθμό δειγματοληψίας 48 kHz. Τα δεδομένα JSON είναι τα εξής:
{
” setAudioParam “: {
“u32ChnNum” : 2,
"U8EncodeType" : 6,
“u32SampleRate” : 48000
}
}
Μετά την επιτυχή εγκατάσταση, η κάμερα επιστρέφει TRUE.
Λήψη/ρύθμιση παραμέτρων εικόνας βίντεο:
Δομή δεδομένων:
typedef struct
{
u8 u8VideoIspChn; //κανάλι ISP; [0-4]
u8 u8Φωτεινότητα; // Λάμψη: [0~ 100]
u8 u8Αντίθεση; // λόγος αντίθεσης: [0~ 100]
u8 u8Hue; // Χρωματικότητα: [0~ 100]
u8 u8 Κορεσμός; // Επίπεδο κορεσμού: [0~ 100]
u8 u8 Ευκρίνεια; // Οξύτητα: [0~ 100]
}JSON_IMAGE_PARAM_S;
Χαρακτήρες εντολών:
Λάβετε παραμέτρους:
#ορίστε JS_CMD_GET_IMAGE_PARAM “getImageParam”
Ρύθμιση παραμέτρων:
#ορίστε JS_CMD_SET_IMAGE_PARAM “setImageParam”
Για παράδειγμα:
Ο πελάτης ανακτά τα ακόλουθα δεδομένα JSON των παραμέτρων εικόνας για το κανάλι 0 του ISP της κάμερας:
{
” getImageParam “: {
“u8VideoIspChn” : 0
}
}
Τα δεδομένα JSON που επιστρέφονται από την κάμερα είναι τα εξής;
{
” getImageParam “: {
” u8VideoIspChn “: 0,
“u8Brightness” : 50,
“u8Contrast” : 50,
“u8Hue” : 50,
“U8Saturation” : 50,
“U8 Sharpness” : 50
}
}
Η ρύθμιση δεδομένων JSON από την πλευρά του πελάτη για τη φωτεινότητα της κάμερας είναι 53, αντίθεση είναι 60, και κορεσμός είναι 56 έχει ως εξής:
{
” setImageParam “: {
“u8VideoIspChn” : 0,
“u8Brightness” : 53,
“u8Contrast” : 60,
“U8Saturation” : 56
}
}
Μετά την επιτυχή εγκατάσταση, η κάμερα επιστρέφει TRUE.
Ανάκτηση πληροφοριών κάρτας TF;
Δομή δεδομένων:
typedef struct
{
u32 u32Συνολικό Μέγεθος; // Συνολικό μέγεθος σε MB
u32 u32UsedSize; // Μονάδα μεταχειρισμένης χωρητικότητας (MB)
u32 u32ΔιαθέσιμοΜέγεθος; // Διαθέσιμη χωρητικότητα σε MB
}JSON_SD_CARD_INFO_S;
Λάβετε παραμέτρους:
#ορίστε JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”
Για παράδειγμα:
Ο πελάτης ανακτά τα ακόλουθα δεδομένα JSON σχετικά με τις πληροφορίες της κάρτας TF της κάμερας:
{
” getSdCardInfo “: { }
}
Τα δεδομένα JSON που επιστρέφονται από την κάμερα είναι τα εξής;
{
” getSdCardInfo “: {
” u32TotalSize “: 31254,
“U32UsedSize” : 20000,
” u32ΔιαθέσιμοΜέγεθος ” : 11254
}
}
Διαμόρφωση εγγραφής κάρτας TF:
Δομή δεδομένων:
typedef struct
{
u8 u8AutoRecordEnable; //1: Ενεργοποίηση εγγραφής; 0: Απενεργοποίηση εγγραφής
u8 u8RecordStrChn; // Επιλογή ροής εγγραφής: 0: πρωτεύον ρεύμα; 1: δευτερεύον ρεύμα
u8 u8PreRecordSeconds; // Χρόνος προηχογράφησης [0-10] σε δευτερόλεπτα
u16 u16RecordSecondsPerFile; // Διάρκεια ενός μόνο αρχείου εγγραφής [10-1000] δευτερόλεπτα
}JSON_RECORD_CONTROL_PARAM_S;
Λάβετε παραμέτρους:
#ορίστε JS_CMD_GET_RECORD_CONTROL_PARAM “getRecordControlParam”
Ρύθμιση παραμέτρων:
#ορίστε JS_CMD_SET_RECORD_CONTROL_PARAM “setRecordControlParam”
Για παράδειγμα:
Ο πελάτης ανακτά τα ακόλουθα δεδομένα JSON σχετικά με τη διαμόρφωση εγγραφής κάρτας TF της κάμερας:
{
” getRecordControlParam “: { }
}
Τα δεδομένα JSON που επιστρέφονται από την κάμερα είναι τα εξής;
{
” getRecordControlParam “: {
” u8AutoRecordEnable “: 1,
"u8RecordStrChn" : 0,
” u8PrecordSeconds ” : 0,
” u16RecordSecondsPerFile ” : 300
}
}
Διαμόρφωση IP ενσύρματου δικτύου:
Δομή δεδομένων:
typedef struct
{
u8 u8DhcpEnable; // 0: Static IP; 1: DHCP;
char s8IP[16]; //διεύθυνση IP
char s8SubMask[16]; // Μάσκα υποδικτύου
char s8GateWay[16]; // IP πύλης
char s8Dns[16]; //Διεύθυνση DNS
}JSON_NET_PARAM_S;
Λάβετε παραμέτρους:
#ορίστε JS_CMD_GET_NET_IP_PARAM “getNetIpParam”
Ρύθμιση παραμέτρων:
#ορίστε JS_CMD_SET_NET_IP_PARAM “setNetIpParam”
Για παράδειγμα:
Ο πελάτης ανακτά τις πληροφορίες IP της κάμερας χρησιμοποιώντας δεδομένα JSON ως εξής:
{
” getNetIpParam “: { }
}
Τα δεδομένα JSON που επιστρέφονται από την κάμερα είναι τα εξής;
{
” getNetIpParam “: {
” u8DhcpEnable “: 0,
” s8IP ” : ” 192.168.1.188 ” ,
” s8SubMask ” : ” 255.255.255.0 ” ,
” s8GateWay ” : ” 192.168.1.1 ” ,
” s8Dns ” : ” 192.168.1.1 “
}
}
Ο πελάτης έχει ρυθμιστεί με τη διεύθυνση IP της κάμερας ως 192.168.3.10, πύλη ως 192.168.3.1, και DNS ως 192.168.3.1. Τα δεδομένα JSON είναι τα εξής:
{
” setNetIpParam “: {
” s8IP ” : ” 192.168.3.10 ” ,
” s8GateWay ” : ” 192.168.3.1 ” ,
” s8Dns ” : ” 192.168.3.1 “
}
}
Μετά την επιτυχή εγκατάσταση, η κάμερα δεν επιστρέφει δεδομένα, και ο πελάτης πρέπει να επανασυνδεθεί στη συσκευή με τη νέα διεύθυνση IP.
Διαμόρφωση παραμέτρων WiFi:
Ο πελάτης/εφαρμογή ανακτά μια λίστα με SSID των δρομολογητών που βρέθηκαν από τη συσκευή.
{
“getAPSsidList” :{ }
}
Η συσκευή θα επιστρέψει μια λίστα με SSID: Επιλέξτε ένα SSID διαδρομής από τη λίστα για να συνδεθείτε.
Διαμορφώστε το Wi-Fi της συσκευής σας ώστε να λειτουργεί σε λειτουργία STA:
{
“setWifiSsidParam”:{
“u8 Λειτουργία”: 0,
“s8Ss”: ” yrsx8888 “,
“s8PassWd”: “987545598400
}
}
Διαμορφώστε το Wi-Fi της συσκευής ώστε να λειτουργεί σε λειτουργία AP hotspot:
{
“setWifiSsidParam”:{
“u8 Λειτουργία”: 1
}
}
Λάβετε την κατάσταση Wi-Fi της συσκευής:
{
“getWifiSsidParam” : { }
}
Συγχρονισμός χρόνου:
Δομή δεδομένων:
typedef struct
{
u8 u8TimeZone; // Τιμή ζώνης ώρας RT_TIMEZONE_E
char s8DateTime[64]; // Μορφή ώρας: “2019-06-12_12:56:59_3”
}JSON_DATE_TIME_INFO_S;
Ορισμός τιμής ζώνης ώρας:
typedef enum
{
RT_TIMEZONE_InternationalDateLineWest = 0, /* UTC-12:00 */
RT_TIMEZONE_Midway IslandSamoa = 1, /* UTC-11:00 */
RT_TIMEZONE_Χαβάη = 2, /* UTC-10:00 */
RT_TIMEZONE_Αλάσκα = 3, /* UTC-9:00 */
RT_TIMEZONE_Tijuana Καλιφόρνια = 4, /* UTC-8:00 */
RT_TIMEZONE_PacificTimeUSCanada = 5, /* UTC-8:00 */
RT_TIMEZONE_MountainTimeUSCanada = 6, /* UTC-7:00 */
RT_TIMEZONE_ChihuahuaLapazMazatlan = 7, /* UTC-7:00 */
RT_TIMEZONE_Αριζόνα = 8, /* UTC-7:00 */
RT_TIMEZONE_Saskatchewan = 9, /* UTC-7:00 */
RT_TIMEZONE_GuaddlajaraMexicoCityMonterrey = 10, /* UTC-6:00 */
RT_TIMEZONE_CentralTimeUSCanada = 11, /* UTC-6:00 */
RT_TIMEZONE_CentralAmerica = 12, /* UTC-6:00 */
RT_TIMEZONE_BogotaLimaQuito = 13, /* UTC-5:00 */
RT_TIMEZONE_EasternTimeUSCanada = 14, /* UTC-5:00 */
RT_TIMEZONE_IndianaEast = 15, /* UTC-5:00 */
RT_TIMEZONE_Καράκας = 16, /* UTC-4:30 */
RT_TIMEZONE_AtlanticTimeCanada = 17, /* UTC-4:00 */
RT_TIMEZONE_GeorgetownLapazSanJuan = 18, /* UTC-4:00 */
RT_TIMEZONE_Σαντιάγο = 19, /* UTC-4:00 */
RT_TIMEZONE_NenfoundLand = 20, /* UTC-3:30 */
RT_TIMEZONE_Brasilia = 21, /* UTC-3:00 */
RT_TIMEZONE_BuenosAiresGeorgentown = 22, /* UTC-3:00 */
RT_TIMEZONE_Γροιλανδία = 23, /* UTC-3:00 */
RT_TIMEZONE_MidAtlantic = 24, /* UTC-2:00 */
RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (Δημοκρατία του Πράσινου Ακρωτηρίου) */
RT_TIMEZONE_Αζόρες = 26, /* UTC-1:00 (Αζόρες) */
RT_TIMEZONE_GreenwichMeanTimeDublinEdinburghLisbonLondon = 27, /* UTC-0:00 */
RT_TIMEZONE_Casablanca = 28, /* UTC-0:00 */
RT_TIMEZONE_Monrovia = 29, /* UTC-0:00 */
RT_TIMEZONE_AmsterdamBerlinBernRomeStockholmVienna = 30, /* UTC+1:00 */
RT_TIMEZONE_BelgradeBratislavaBudapestLjubljanaPrague = 31, /* UTC+1:00 */
RT_TIMEZONE_ΒρυξέλλεςΚοπεγχάγηΜαδρίτηΠαρίσι = 32, /* UTC+1:00 */
RT_TIMEZONE_ΣαράγεβοΣκόπιαΒαρσοβίαΖάγκρεμπ = 33, /* UTC+1:00 */
RT_TIMEZONE_WestCentralAfrica = 34, /* UTC+1:00 */
RT_TIMEZONE_RarePretoria = 35, /* UTC+2:00 */
RT_TIMEZONE_HelsinkiKyivRigaSofiaTallinnVilnius = 36, /* UTC+2:00 */
RT_TIMEZONE_Κάιρο = 37, /* UTC+2:00 */
RT_TIMEZONE_Minsk = 38, /* UTC+2:00 */
RT_TIMEZONE_AthensΒουκουρέστιΚωνσταντινούπολη = 39, /* UTC+2:00 */
RT_TIMEZONE_Ιερουσαλήμ = 40, /* UTC+2:00 */
RT_TIMEZONE_Βαγδάτη = 41, /* UTC+3:00 */
RT_TIMEZONE_Tbilisi = 42, /* UTC+3:00 */
RT_TIMEZONE_ΚουβέιτΡιάντ = 43, /* UTC+3:00 */
RT_TIMEZONE_MoscowStPetersburgVolgograd = 44, /* UTC+3:00 */
RT_TIMEZONE_Nairobi = 45, /* UTC+3:00 */
RT_TIMEZONE_Τεχεράνη = 46, /* UTC+3:30 */
RT_TIMEZONE_AbuDhabiMuscat = 47, /* UTC+4:00 */
RT_TIMEZONE_BakuYerevan = 48, /* UTC+4:00 */
RT_TIMEZONE_Καμπούλ = 49, /* UTC+4:30 */
RT_TIMEZONE_Tashkent = 50, /* UTC+5:00 */
RT_TIMEZONE_Ekaterinburg = 51, /* UTC+5:00 */
RT_TIMEZONE_IslamabadΚαράτσι = 52, /* UTC+5:00 */
RT_TIMEZONE_ChennaiKolkataMumbaiNewDelhi = 53, /* UTC+5:30 */
RT_TIMEZONE_Κατμαντού = 54, /* UTC+5:45 */
RT_TIMEZONE_AlmatyΝοβοσιμπίρσκ = 55, /* UTC+6:00 */
RT_TIMEZONE_AstanaDhaka = 56, /* UTC+6:00 */
RT_TIMEZONE_Rangoon = 57, /* UTC+6:30 */
RT_TIMEZONE_Krasnoyarsk = 58, /* UTC+7:00 */
RT_TIMEZONE_BangkokHanoiJakarta = 59, /* UTC+7:00 */
RT_TIMEZONE_BeijingChongqingHongKongUrumqi = 60, /* UTC+8:00 */
RT_TIMEZONE_KualaLumpurΣιγκαπούρη = 61, /* UTC+8:00 */
RT_TIMEZONE_Περθ = 62, /* UTC+8:00 */
RT_TIMEZONE_Taipei = 63, /* UTC+8:00 */
RT_TIMEZONE_IrkutskUlaanBataar = 64, /* UTC+8:00 */
RT_TIMEZONE_OsakaSapporoTokyo = 65, /* UTC+9:00 */
RT_TIMEZONE_Σεούλ = 66, /* UTC+9:00 */
RT_TIMEZONE_Yakutsk = 67, /* UTC+9:00 */
RT_TIMEZONE_Αδελαΐδα = 68, /* UTC+9:30 */
RT_TIMEZONE_Brisbane = 69, /* UTC+10:00 */
RT_TIMEZONE_Βλαδιβοστόκ = 70, /* UTC+10:00 */
RT_TIMEZONE_GuamMoresby = 71, /* UTC+10:00 */
RT_TIMEZONE_Hobart = 72, /* UTC+10:00 */
RT_TIMEZONE_CanberraMelbourneSydney = 73, /* UTC+10:00 */
RT_TIMEZONE_MagadanSolomonNewCaledonia = 74, /* UTC+11:00 */
RT_TIMEZONE_AucklandWellington = 75, /* UTC+12:00 */
RT_TIMEZONE_FijiKamchatkaMarshallIs = 76, /* UTC+12:00 */
RT_TIMEZONE_Nukualofa = 77, /* UTC+13:00 */
RT_TIMEZONE_BUTT
}RT_TIMEZONE_E;
Λάβετε παραμέτρους:
#ορίστε JS_CMD_GET_DEV_DATE_TIME “GetDevDateTime”
Ρύθμιση παραμέτρων:
#ορίστε JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”
Λάβετε δεδομένα JSON ώρας συσκευής :
{
” GetDevDateTime ” : {}
}
Η συσκευή επιστρέφει δεδομένα JSON:
{
” GetDevDateTime ” : {
"u8TimeZone" : 60,
“s8DateTime” : “2020-03-06_12:56:59_3”
}
}
Τα δεδομένα JSON ορίζουν την ώρα της συσκευής την Πέμπτη, Μάρτιος 12, 2020, στο 3:38:30 ΜΕΤΑ ΜΕΣΗΜΒΡΙΑΣ:
{
” setDevDateTime ” : {
“s8DateTime” : “2020-03-12_15:38:30_4”
}
}
Η συσκευή επέστρεψε TRUE μετά την επιτυχή εγκατάσταση.
Διαχείριση Εξοπλισμού:
Δεδομένα JSON για επανεκκίνηση της συσκευής:
{
” setSysControlParam ” : {
“U8Επανεκκίνηση” : 1
}
}
Δεδομένα JSON για επαναφορά εργοστασιακών ρυθμίσεων:
{
” setSysControlParam ” : {
“u8ResetDefault” : 1
}
}
Μορφοποίηση δεδομένων JSON κάρτας SD:
{
” setSysControlParam ” : {
“u8FormatSdCard” : 1
}
}
Έλεγχος PTZ:
Δομή δεδομένων:
typedef struct
{
u8 u8Cmd; // Κωδικός εντολής PTZ_CONTROL_CODE
u8 u8 Ταχύτητα; // Ταχύτητα (1-64)
u8 u8Δεδομένα1; // Ρεζερβέ; αυτό θα χρησιμοποιηθεί για προκαθορισμένες θέσεις.
u8 u8Data2; // Ρεζερβέ, αυτό θα χρησιμοποιηθεί για ειδικές εντολές PTZ.
}JSON_PTZ_CONTROL_S;
enum PTZ_CONTROL_CODE
{
PTZ_STOP = 0, // Να σταματήσει
PTZ_UP=1, // Πάνω
PTZ_DOWN=2, // κάτω
PTZ_LEFT=3, // Αριστερά
PTZ_RIGHT=4, // σωστά
PTZ_LEFT_UP=5, // πάνω αριστερά
PTZ_LEFT_DOWN=6, // κάτω αριστερά
PTZ_RIGHT_UP=7, // πάνω δεξιά
PTZ_RIGHT_DOWN=8, // 8 : κάτω δεξιά
PTZ_ZOOM_IN=9, // 9 : Μεγέθυνση
PTZ_ZOOM_OUT=10, // 10: ΣΥΓΚΕΝΤΡΩΣΗ=10, // 10 : ΣΥΓΚΕΝΤΡΩΣΗ=10
PTZ_FOCUS_NEAR=11, // 11 : Εστιάζοντας στο κοντινό
PTZ_FOCUS_FAR=12, // 12 : Επικεντρωθείτε στα μακριά
PTZ_IRIS_ADD=13, // 13 : Αύξηση διαφράγματος
PTZ_IRIS_REDUCE=14, // 14 : Μειωμένο διάφραγμα
PTZ_GOTO_POINT = 15, // 15 : Προκαθορισμένο bit κλήσης
PTZ_CLEAR_POINT = 16, // 16 : Διαγραφή προκαθορισμένου bit
PTZ_PERSET_POINT = 17, // 17 : Ρύθμιση προκαθορισμένου bit
PTZ_AUTO_RUN = 18, // 18 : Οριζόντια αυτόματη σάρωση
};
Έλεγχος PTZ:
#ορίστε JS_CMD_PTZ_CONTROL “PtzControlCmd”
Εντολές JSON που ελέγχονται από το Ptz:
- Κινείται προς τα κάτω με ταχύτητα 30:
{
” PtzControlCmd “: {
” u8Cmd “: 2,
” u8 Ταχύτητα ” : 30
}
}
- 1. Ρύθμιση προκαθορισμένης θέσης 2:
{
” PtzControlCmd “: {
” u8Cmd “: 17,
“U8Speed” : 30,
"u8Data1" : 2
}
}
Αναζήτηση αρχείου κάρτας TF:
( 1) Εντολή για αναζήτηση όλων των αρχείων βίντεο μέσα σε μια συγκεκριμένη χρονική περίοδο την ίδια ημέρα:
{
“searchRecordFileList”:{
“u32 Έτος”:2020, // έτος
“u8 Μήνας”:7, // Μήνας
“u8Day”:14, // Ημέρα
“u8StartHour”:0, // Ώρα έναρξης σε ώρες
“u8StartMinute”:0, // Ώρα έναρξης σε λεπτά
“u8EndHour”:23, // Ώρα λήξης σε ώρες
“u8EndMinute”:59, // Ώρα λήξης σε λεπτά
“u8EncChn”:0, // 0 είναι η προεπιλεγμένη τιμή.
“u8RecordTye”:0, // Τύπος αρχείου: 0: Όλα τα αρχεία, 1: Προγραμματισμένη εγγραφή; 2: Εγγραφή συναγερμού; 3: εικόνες;
“u32StartIdx”:0, // Ο αριθμός σειράς του αρχικού αρχείου
“u32ExpectedCount”: 10 // Αριθμός αρχείων που επιστράφηκαν από το αίτημα, επί του παρόντος η μέγιστη τιμή είναι 32.
}
}
Δεδομένα που επιστράφηκαν από τη συσκευή:
{
“searchRecordFileList”: {
“u32RecordFileTotalCount”: 7, // Συνολικός αριθμός αρχείων που αναζητήθηκαν εντός αυτής της χρονικής περιόδου
“stRecordFileList”: [ // Όνομα αρχείου με διαδρομή, μέγεθος αρχείου]
“/dev/disk/0/part0/rec-pic/20200714/0/000_180149_0_0300_2.mp4”, 251649649, “/dev/disk/0/part0/rec-pic/20200714/0/001_180644_0_0169_256.mp4”, 144935215, “/dev/disk/0/part0/rec-pic/20200714/0/002_181001_0_0300_2.mp4”, 251650689, “/dev/disk/0/part0/rec-pic/20200714/0/003_181458_0_0300_2.mp4”, 251657016, “/dev/disk/0/part0/rec-pic/20200714/0/004_181958_0_0300_2.mp4”, 301449467, “/dev/disk/0/part0/rec-pic/20200714/0/005_182458_0_0000_256.mp4”, 37801991, “/dev/disk/0/part0/rec-pic/20200714/0/006_182642_0_0244_256.mp4”, 200069913
]
}
}
Τραβήξτε χειροκίνητα μια εικόνα JPG:
Στείλτε την παρακάτω εντολή στη συσκευή.
{
“Εγχειρίδιο SnapJpg”:{
}
}
Επιστράφηκε με επιτυχία:
{
“Εγχειρίδιο SnapJpg”: αληθής
}
Ο έλεγχος PWM ρυθμίζει τη φωτεινότητα των LED:
Λάβετε την τρέχουσα τιμή PWM:
{
“getPwmParam”:{
“u32PwmChn”: 0
}
}
Επιστράφηκε με επιτυχία:
{
“getPwmParam”:{
“u32PwmChn”:0,
“u8 Ενεργοποίηση”:1,
“u8DutyValue”:20
}
}
- Ορίστε την τιμή PWM:
{
“setPwmParam”:{
“u32PwmChn”: 0,
“u8 Ενεργοποίηση”: 1,
“u8DutyValue”: 60
}
}
Επιστράφηκε με επιτυχία:
{
“setPwmParam”:αληθής
}
Σημείωση : Το u32PwmChn έχει οριστεί ως προεπιλογή 0 και δεν πρέπει να αλλάζει αυθαίρετα. Το u8Enable έχει τιμή 0/1, που 0 απενεργοποιεί την έξοδο PWM και 1 ενεργοποιεί την έξοδο PWM. Το u8DutyValue έχει εύρος τιμών 0-100.
17. Λήψη/Ρύθμιση κειμένου OSD:
(1) Αποκτήστε το καθορισμένο κανάλι βίντεο, Παράμετροι κειμένου OSD:
{“getVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1
}}
Επιστράφηκε με επιτυχία:
{
“getVideoOsdTextInfo”:{
“u8IspChn”:0, // Κανάλι βίντεο 0, συμπληρώνω 0 για μια κάμερα
“u8TextIdx”:1, // Ο αριθμός του πλαισίου κειμένου OSD, υποστήριξη πολλαπλών πλαισίων κειμένου.
“u8 Ενεργοποίηση”:0, // Καθιστώ ικανό, 0: δεν εμφανίζεται; 1: απεικόνιση
“u16XRatioBase50000”:40000, // Σχετικές συντεταγμένες της οριζόντιας θέσης, με μέγιστη τιμή 50000.
“u16YRatioBase50000”:1600, // Σχετικές συντεταγμένες της κατακόρυφης θέσης, με μέγιστη τιμή 50000.
“u8FgΔιαφάνεια”:10, // Διαφάνεια σε πρώτο πλάνο [0-255]
“u8BgΔιαφάνεια”:255, // Τιμή διαφάνειας φόντου [0-255]
“u8SizeType”:1, // Μέγεθος κειμένου, εύρος τιμών [0-3]
“u32TextColor_BGRA8888”:4294967295, // Τιμή χρώματος κειμένου ARGB888
“aszText”:”” // Το πλαίσιο κειμένου εμφανίζει τη συμβολοσειρά περιεχομένου
}
}
(2) Ρυθμίστε το καθορισμένο κανάλι βίντεο, Παράμετροι κειμένου OSD:
{
“setVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1,
“u8 Ενεργοποίηση”:1,
“u16XRatioBase50000”:40000,
“u16YRatioBase50000”:1600,
“u8FgΔιαφάνεια”:10,
“u8BgΔιαφάνεια”:255,
“u8SizeType”:1,
“u32TextColor_BGRA8888”:4294967295,
“aszText”:”δοκιμή 11111222233334444″
}
}
Επιστράφηκε με επιτυχία:
{
“setVideoOsdTextInfo”:αληθής
}
CVBS HDMI στον κωδικοποιητή IP
Κωδικοποιητής CVBS σε Ethernet IP σταθερός σε αδύναμη απόδειξη σήματος, Κλείδωμα χαμηλού σήματος
CVBS HDMI στον κωδικοποιητή IP
CVBS HDMI στον κωδικοποιητή IP

Κάνε μια ερώτηση
Το μήνυμά σας έχει σταλεί