Οδηγός API TCP JSON Protocol RTSP Board Encoder Video

Διεύθυνση ροής ήχου και βίντεο 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”:αληθής

}

Εύρος τιμών: $118.00 διά μέσου $178.00

CVBS HDMI στον κωδικοποιητή IP

CVBS AV Analog to IP Ethernet Video Encoder Wi-Fi Module

Η αρχική τιμή ήταν: $199.00.Η τρέχουσα τιμή είναι: $130.00.
Εύρος τιμών: $118.00 διά μέσου $178.00

Κάνε μια ερώτηση

← Πίσω

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