Spis treści
Adres strumienia audio i wideo w czasie rzeczywistym RTSP:
- Format: rtsp://ip:numer portu/strumienia
- Domyślny port: 554
- Identyfikator strumienia: 0 (główny strumień), 1 (strumień wtórny)
- Na przykład, aby pobrać podstrumień z adresu urządzenia 192.168.1.188, adres URL jest:
- rtsp://192.168.1.1 8 8 :554 / 1
Klient (Aplikacja mobilna) pobiera i ustawia parametry kamery poprzez protokół TCP;
Kamera pełni funkcję serwera TCP, z domyślnym portem TCP 8866.
Format danych komunikacyjnych TCP:
czysty ciąg JSON
Uzyskaj status kamery:
Struktura danych:
struktura typedef
{
char s8DevId[64]; // Identyfikator urządzenia, domyślnie ustawiony jest adres IP, jeżeli nie ustawiono żadnego identyfikatora.
u32 u32TfNagraj; // Stan nagrywania karty TF, 0: brak nagrania; 1: nagrywanie w toku
}JSON_DEV_STATUS_INFO_S;
Znaki poleceń:
#zdefiniuj JS_CMD _ GET_DEV_STATUS “PobierzDevStatus”
Zakładając, że adres IP urządzenia to 192.168.1.188, klient wysyła następujące dane JSON:
{
” PobierzDevStatus “: { }
}
Po pomyślnym odebraniu danych przez aparat, zwrócił następujące dane JSON:
{
” PobierzDevStatus “: {
” s8DevId ” : ” 192.168.1.188 ” ,
„u32TfRekord” : 0
}
}
Pozyskiwanie/ustawianie parametrów kodowania wideo:
Struktura danych:
struktura typedef
{
u8 u8VideoEncChn; //0 : główny strumień; 1: strumień wtórny;
u8 u8Typ kodeka wideo; // 1:h264 ; 2:p265
u16 u16Szerokość wideo; // Szerokość wideo
u16 u16Wysokość wideo; // Wysokość wideo
u16 u8 Szybkość klatek; // Częstotliwość wyświetlania klatek (1-30)
u16 u8IframeInterwał; // ja- rozmiar interwału ramki (1-100)
u8 u8Tryb kontroli bitrate; //Tryb kontroli szybkości transmisji: 0: CBR 1: VBR
u16 u16BitRateKps; // Rozmiar bitrate
char s8Nazwarozmiaruwideo[256]; // Lista obsługiwanych rozdzielczości }JSON_VIDEO_ENC_PARAM_S;
Znaki poleceń:
Uzyskaj parametry:
#zdefiniuj JS_CMD_GET_VIDEO_ENC_PARAM “pobierzVideoEncParam”
Ustawianie parametrów:
#zdefiniuj JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”
Na przykład:
Klient pobiera następujące dane JSON zawierające parametry kodowania głównego strumienia bitów kamery:
{
” pobierzVideoEncParam “: {
” u8VideoEncChn “: 0
}
}
Dane JSON zwrócone przez kamerę są następujące;
{
” pobierzVideoEncParam “: {
” u8VideoEncChn “: 0,
„Typ u8VideoCodec” : 1,
„u16Szerokość wideo” : 3840,
” u16Wysokość wideo ” : 1080,
„u8Frame Rate” : 30,
” u8IframeInterwał ” : 60,
” u8BitrateControlMode ” : 0,
„u16BitRateKps” : 4096,
” Nazwa rozmiaru wideo s8 ” : ” 3840×1080,1920×540 “
}
}
Klient ustawia częstotliwość klatek dodatkowego strumienia kamery na 15 i bitrate do 1024K w formacie JSON, następująco:
{
” setVideoEncParam “: {
” u8VideoEncChn “: 1,
” u8 Szybkość klatek “: 15,
” u16BitRateKps “: 1024
}
}
Po udanej konfiguracji, kamera zwraca wartość TRUE.
Pozyskiwanie/ustawianie parametrów kodowania audio:
Struktura danych:
struktura typedef
{
u8 u8Włącz; //0: Wyłączyć; 1: Włączać;
u32 u32ChnNum; // 1 : Mononukleoza; 2: Stereofoniczny
u8 u8Typ kodowania; //6 : AAC; 8: G711A; 9: G711U; u32 u32Próbka; // Częstotliwość próbkowania: 8000, 16000, 24000, 32000, 48000
u8 u8AoutVolumen; // Rozmiar objętości: [0–100] }JSON_VIDEO_ENC_PARAM_S;
Znaki poleceń:
Uzyskaj parametry:
#zdefiniuj JS_CMD_GET_AUDIO_PARAM “pobierz Parametr Audio”
Ustawianie parametrów:
#zdefiniuj JS_CMD_SET_AUDIO_PARAM “ustawParamAudio”
Na przykład:
Klient pobiera następujące dane JSON dotyczące parametrów kodowania dźwięku kamery:
{
” pobierz Parametr Audio “: { }
}
Dane JSON zwrócone przez kamerę są następujące;
{
” pobierz Parametr Audio “: {
” u8Włącz “: 1,
„u32ChnNum” : 1,
„Typ u8Encode” : 8,
„u32Przykładowa częstotliwość” : 8000,
„u8AoutVolume” : 80,
}
}
Ustawienia po stronie klienta dotyczące kodowania dźwięku kamery to AAC, stereofoniczny, i częstotliwość próbkowania 48 kHz. Dane JSON są następujące:
{
” ustawParamAudio “: {
„u32ChnNum” : 2,
„Typ u8Encode” : 6,
„u32Przykładowa częstotliwość” : 48000
}
}
Po udanej konfiguracji, kamera zwraca wartość TRUE.
Pozyskiwanie/ustawianie parametrów obrazu wideo:
Struktura danych:
struktura typedef
{
u8 u8VideoIspChn; //Kanał dostawcy usług internetowych; [0-4]
u8 u8Jasność; // Jasność: [0~100]
u8 u8Kontrast; // Współczynnik kontrastu: [0~100]
u8 u8Odcień; // Chromatyczność: [0~100]
u8 u8Nasycenie; // Poziom nasycenia: [0~100]
u8 u8Ostrość; // Ostrość: [0~100]
}JSON_IMAGE_PARAM_S;
Znaki poleceń:
Uzyskaj parametry:
#zdefiniuj JS_CMD_GET_IMAGE_PARAM “pobierzImageParam”
Ustawianie parametrów:
#zdefiniuj JS_CMD_SET_IMAGE_PARAM “ustawParamObrazu”
Na przykład:
Klient pobiera następujące dane JSON dotyczące parametrów obrazu dla kanału 0 dostawcy usług internetowych kamery:
{
” pobierzImageParam “: {
„u8VideoIspChn” : 0
}
}
Dane JSON zwrócone przez kamerę są następujące;
{
” pobierzImageParam “: {
” u8VideoIspChn “: 0,
„u8Jasność” : 50,
„u8Kontrast” : 50,
„u8Hue” : 50,
„u8Nasycenie” : 50,
„u8Ostrość” : 50
}
}
Ustawienie danych JSON po stronie klienta dotyczące jasności kamery to 53, kontrast jest 60, i nasycenie jest 56 jest następująco:
{
” ustawParamObrazu “: {
„u8VideoIspChn” : 0,
„u8Jasność” : 53,
„u8Kontrast” : 60,
„u8Nasycenie” : 56
}
}
Po udanej konfiguracji, kamera zwraca wartość TRUE.
Pobieranie informacji o karcie TF;
Struktura danych:
struktura typedef
{
u32 u32Rozmiar całkowity; // Całkowity rozmiar w MB
u32 u32UżywanyRozmiar; // Używana jednostka pojemności (MB)
u32 u32Dostępny rozmiar; // Dostępna pojemność w MB
}JSON_SD_CARD_INFO_S;
Uzyskaj parametry:
#zdefiniuj JS_CMD_GET_SD_CARD_INFO “pobierz informacje o karcie SD”
Na przykład:
Klient pobiera następujące dane JSON dotyczące informacji o karcie TF aparatu:
{
” pobierz informacje o karcie SD “: { }
}
Dane JSON zwrócone przez kamerę są następujące;
{
” pobierz informacje o karcie SD “: {
” u32Rozmiar całkowity “: 31254,
„u32UsedRozmiar” : 20000,
” u32Dostępny rozmiar ” : 11254
}
}
Konfiguracja nagrywania na karcie TF:
Struktura danych:
struktura typedef
{
u8 u8Włącz automatyczne nagrywanie; //1: Włącz nagrywanie; 0: Wyłącz nagrywanie
u8 u8RekordStrChn; // Wybór strumienia nagrywania: 0: strumień pierwotny; 1: strumień wtórny
u8 u8PreRecordSeconds; // Czas wstępnego nagrywania [0-10] w kilka sekund
u16 u16Nagraj sekundy na plik; // Czas trwania pojedynczego pliku nagrania [10-1000] sekundy
}JSON_RECORD_Control_PARAM_S;
Uzyskaj parametry:
#zdefiniuj JS_CMD_GET_RECORD_Control_PARAM “getRecordControlParam”
Ustawianie parametrów:
#zdefiniuj JS_CMD_SET_RECORD_Control_PARAM “setRecordControlParam”
Na przykład:
Klient pobiera następujące dane JSON dotyczące konfiguracji nagrywania na karcie TF kamery:
{
” getRecordControlParam “: { }
}
Dane JSON zwrócone przez kamerę są następujące;
{
” getRecordControlParam “: {
” u8Włącz automatyczne nagrywanie “: 1,
„u8RecordStrChn” : 0,
” u8PrecordSekund ” : 0,
” u16Rekord sekund na plik ” : 300
}
}
Konfiguracja IP sieci przewodowej:
Struktura danych:
struktura typedef
{
u8 u8DhcpWłącz; // 0: Stałe IP; 1: DHCP;
znak s8IP[16]; //Adres IP
char s8SubMaska[16]; // Maska podsieci
char s8GateWay[16]; // Adres IP bramy
char s8Dns[16]; //Adres DNS
}JSON_NET_PARAM_S;
Uzyskaj parametry:
#zdefiniuj JS_CMD_GET_NET_IP_PARAM “pobierzNetIpParam”
Ustawianie parametrów:
#zdefiniuj JS_CMD_SET_NET_IP_PARAM “ustawNetIpParam”
Na przykład:
Klient pobiera informacje o adresie IP kamery przy użyciu danych JSON w następujący sposób:
{
” pobierzNetIpParam “: { }
}
Dane JSON zwrócone przez kamerę są następujące;
{
” pobierzNetIpParam “: {
” u8DhcpWłącz “: 0,
” s8IP ” : ” 192.168.1.188 ” ,
” s8Podmaska ” : ” 255.255.255.0 ” ,
” s8GateWay ” : ” 192.168.1.1 ” ,
” s8Dns ” : ” 192.168.1.1 “
}
}
Klient jest skonfigurowany z adresem IP kamery jako 192.168.3.10, bramka jako 192.168.3.1, i DNS jako 192.168.3.1. Dane JSON są następujące:
{
” ustawNetIpParam “: {
” s8IP ” : ” 192.168.3.10 ” ,
” s8GateWay ” : ” 192.168.3.1 ” ,
” s8Dns ” : ” 192.168.3.1 “
}
}
Po udanej konfiguracji, kamera nie zwraca żadnych danych, a klient musi ponownie połączyć się z urządzeniem z nowym adresem IP.
Konfiguracja parametrów WiFi:
Klient/aplikacja pobiera listę identyfikatorów SSID routerów znalezionych przez urządzenie.
{
“pobierzAPSsidList” :{ }
}
Urządzenie zwróci listę identyfikatorów SSID: Wybierz z listy identyfikator SSID trasy, z którą chcesz się połączyć.
Skonfiguruj Wi-Fi swojego urządzenia do pracy w trybie STA:
{
“setWifiSsidParam”:{
“u8Tryb”: 0,
“s8S”: ” yrsx8888 “,
“s8PassWd”: “987545598400
}
}
Skonfiguruj Wi-Fi urządzenia do pracy w trybie hotspot AP:
{
“setWifiSsidParam”:{
“u8Tryb”: 1
}
}
Uzyskaj status Wi-Fi urządzenia:
{
“pobierzWifiSsidParam” : { }
}
Synchronizacja czasu:
Struktura danych:
struktura typedef
{
u8 u8Strefa czasowa; // Wartość strefy czasowej RT_TIMEZONE_E
znak s8Data/godzina[64]; // Format czasu: “2019-06-12_12:56:59_3”
}JSON_DATE_TIME_INFO_S;
Definicja wartości strefy czasowej:
wyliczenie typedef
{
RT_TIMEZONE_InternationalDateLineWest = 0, /* UTC-12:00 */
RT_TIMEZONE_MidwayIslandSamoa = 1, /* UTC-11:00 */
RT_TIMEZONE_Hawaje = 2, /* UTC-10:00 */
RT_TIMEZONE_Alaska = 3, /* UTC-9:00 */
RT_TIMEZONE_TijuanaKalifornia = 4, /* UTC-8:00 */
RT_TIMEZONE_PacificTimeUSKanada = 5, /* UTC-8:00 */
RT_TIMEZONE_MountainTimeUSKanada = 6, /* UTC-7:00 */
RT_TIMEZONE_ChihuahuaLapazMazatlan = 7, /* UTC-7:00 */
RT_TIMEZONE_Arizona = 8, /* UTC-7:00 */
RT_TIMEZONE_Saskatchewan = 9, /* UTC-7:00 */
RT_TIMEZONE_GuaddlajaraMexicoCityMonterrey = 10, /* UTC-6:00 */
RT_TIMEZONE_CentralTimeUSKanada = 11, /* UTC-6:00 */
RT_TIMEZONE_Ameryka Środkowa = 12, /* UTC-6:00 */
RT_TIMEZONE_BogotaLimaQuito = 13, /* UTC-5:00 */
RT_TIMEZONE_EasternTimeUSKanada = 14, /* UTC-5:00 */
RT_TIMEZONE_IndianaWschód = 15, /* UTC-5:00 */
RT_TIMEZONE_Caracas = 16, /* UTC-4:30 */
RT_TIMEZONE_AtlanticTimeCanada = 17, /* UTC-4:00 */
RT_TIMEZONE_GeorgetownLapazSanJuan = 18, /* UTC-4:00 */
RT_TIMEZONE_Santiago = 19, /* UTC-4:00 */
RT_TIMEZONE_NenfoundLand = 20, /* UTC-3:30 */
RT_TIMEZONE_Brazylia = 21, /* UTC-3:00 */
RT_TIMEZONE_BuenosAiresGeorgentown = 22, /* UTC-3:00 */
RT_TIMEZONE_Grenlandia = 23, /* UTC-3:00 */
RT_TIMEZONE_MidAtlantic = 24, /* UTC-2:00 */
RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (Republika Zielonego Przylądka) */
RT_TIMEZONE_Azory = 26, /* UTC-1:00 (Azory) */
RT_TIMEZONE_GreenwichMeanTimeDublinEdinburghLisbonLondyn = 27, /* UTC-0:00 */
RT_TIMEZONE_Casablanca = 28, /* UTC-0:00 */
RT_TIMEZONE_Monrowia = 29, /* UTC-0:00 */
RT_TIMEZONE_AmsterdamBerlinBernRomeStockholmWiedeń = 30, /* UTC+1:00 */
RT_TIMEZONE_BelgradBratysławaBudapesztLubljanaPraga = 31, /* UTC+1:00 */
RT_TIMEZONE_BrusselsKopenhagaMadrytParyż = 32, /* UTC+1:00 */
RT_TIMEZONE_SarajewoSkopjeWarszawaZagrzeb = 33, /* UTC+1:00 */
RT_TIMEZONE_WestCentralAfrica = 34, /* UTC+1:00 */
RT_TIMEZONE_RarePretoria = 35, /* UTC+2:00 */
RT_TIMEZONE_HelsinkiKijówRygaSofiaTallinnWilno = 36, /* UTC+2:00 */
RT_TIMEZONE_Kair = 37, /* UTC+2:00 */
RT_TIMEZONE_Mińsk = 38, /* UTC+2:00 */
RT_TIMEZONE_AtenyBukaresztStambuł = 39, /* UTC+2:00 */
RT_TIMEZONE_Jerozolima = 40, /* UTC+2:00 */
RT_TIMEZONE_Baghdad = 41, /* UTC+3:00 */
RT_TIMEZONE_Tbilisi = 42, /* UTC+3:00 */
RT_TIMEZONE_KuwejtRiyad = 43, /* UTC+3:00 */
RT_TIMEZONE_MoscowStPetersburgWołgograd = 44, /* UTC+3:00 */
RT_TIMEZONE_Nairobi = 45, /* UTC+3:00 */
RT_TIMEZONE_Teheran = 46, /* UTC+3:30 */
RT_TIMEZONE_AbuDhabiMuscat = 47, /* UTC+4:00 */
RT_TIMEZONE_BakuErywań = 48, /* UTC+4:00 */
RT_TIMEZONE_Kabul = 49, /* UTC+4:30 */
RT_TIMEZONE_Tashkent = 50, /* UTC+5:00 */
RT_TIMEZONE_Jekaterynburg = 51, /* UTC+5:00 */
RT_TIMEZONE_IslamabadKarachi = 52, /* UTC+5:00 */
RT_TIMEZONE_ChennaiKolkataMumbaiNewDelhi = 53, /* UTC+5:30 */
RT_TIMEZONE_Katmandu = 54, /* UTC+5:45 */
RT_TIMEZONE_AlmatyNowosybirsk = 55, /* UTC+6:00 */
RT_TIMEZONE_AstanaDhaka = 56, /* UTC+6:00 */
RT_TIMEZONE_Rangoon = 57, /* UTC+6:30 */
RT_TIMEZONE_Krasnojarsk = 58, /* UTC+7:00 */
RT_TIMEZONE_BangkokHanoiJakarta = 59, /* UTC+7:00 */
RT_TIMEZONE_BeijingChongqingHongKongUrumqi = 60, /* UTC+8:00 */
RT_TIMEZONE_KualaLumpurSingapur = 61, /* UTC+8:00 */
RT_TIMEZONE_Perth = 62, /* UTC+8:00 */
RT_TIMEZONE_Tajpej = 63, /* UTC+8:00 */
RT_TIMEZONE_IrkuckUłanBataar = 64, /* UTC+8:00 */
RT_TIMEZONE_OsakaSapporoTokio = 65, /* UTC+9:00 */
RT_TIMEZONE_Seul = 66, /* UTC+9:00 */
RT_TIMEZONE_Jakuck = 67, /* UTC+9:00 */
RT_TIMEZONE_Adelajda = 68, /* UTC+9:30 */
RT_TIMEZONE_Brisbane = 69, /* UTC+10:00 */
RT_TIMEZONE_Władywostok = 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_MagadanSolomonNowaKaledonia = 74, /* UTC+11:00 */
RT_TIMEZONE_AucklandWellington = 75, /* UTC+12:00 */
RT_TIMEZONE_FidżiKamczatkaMarshallIs = 76, /* UTC+12:00 */
RT_TIMEZONE_Nukualofa = 77, /* UTC+13:00 */
RT_TIMEZONE_BUTT
}RT_TIMEZONE_E;
Uzyskaj parametry:
#zdefiniuj JS_CMD_GET_DEV_DATE_TIME “PobierzDevDateTime”
Ustawianie parametrów:
#zdefiniuj JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”
Uzyskaj dane JSON dotyczące czasu urządzenia :
{
” PobierzDevDateTime ” : {}
}
Urządzenie zwraca dane JSON:
{
” PobierzDevDateTime ” : {
„u8Strefa czasowa” : 60,
“s8DataGodzina” : “2020-03-06_12:56:59_3”
}
}
Dane JSON ustawiają czas urządzenia na czwartek, Marsz 12, 2020, w 3:38:30 PO POŁUDNIU:
{
” setDevDateTime ” : {
“s8DataGodzina” : “2020-03-12_15:38:30_4”
}
}
Urządzenie zwróciło wartość TRUE po pomyślnej konfiguracji.
Zarządzanie sprzętem:
Dane JSON do ponownego uruchomienia urządzenia:
{
” setSysControlParam ” : {
„U8Uruchom ponownie” : 1
}
}
Dane JSON do przywracania ustawień fabrycznych:
{
” setSysControlParam ” : {
„u8ResetDomyślny” : 1
}
}
Formatowanie danych JSON na karcie SD:
{
” setSysControlParam ” : {
„u8Format karty SD” : 1
}
}
Kontrola PTZ:
Struktura danych:
struktura typedef
{
u8 u8Cmd; // Kod polecenia PTZ_Control_CODE
u8 u8Prędkość; // Prędkość (1-64)
u8 u8Dane1; // Skryty; będzie to używane dla zaprogramowanych pozycji.
u8 u8Dane2; // Skryty, będzie to używane do specjalnych poleceń PTZ.
}JSON_PTZ_Control_S;
wyliczenie PTZ_Control_CODE
{
PTZ_STOP = 0, // Zatrzymać
PTZ_UP=1, // W górę
PTZ_DÓŁ=2, // w dół
PTZ_LEFT=3, // Lewo
PTZ_PRAWY=4, // dobrze
PTZ_LEFT_UP=5, // lewy górny róg
PTZ_LEFT_DÓŁ=6, // lewy dolny róg
PTZ_RIGHT_UP=7, // prawy górny róg
PTZ_RIGHT_DOWN=8, // 8 : prawy dolny róg
PTZ_ZOOM_IN=9, // 9 : Powiększ
PTZ_ZOOM_OUT=10, // 10: POMNIEJSZENIE=10, // 10 : POMNIEJSZENIE=10
PTZ_FOCUS_NEAR=11, // 11 : Skupiając się na blisko
PTZ_FOCUS_FAR=12, // 12 : Skup się na oddali
PTZ_IRIS_ADD=13, // 13 : Zwiększenie przysłony
PTZ_IRIS_REDUCE=14, // 14 : Przysłona zmniejszona
PTZ_GOTO_POINT = 15, // 15 : Wywołaj ustawiony bit
PTZ_CLEAR_POINT = 16, // 16 : Wyczyść ustawiony bit
PTZ_PERSET_POINT = 17, // 17 : Ustaw wstępnie ustawiony bit
PTZ_AUTO_RUN = 18, // 18 : Automatyczne skanowanie w poziomie
};
Kontrola PTZ:
#zdefiniuj JS_CMD_PTZ_Control “PtzControlCmd”
Polecenia JSON kontrolowane przez Ptz:
- Poruszanie się w dół z prędkością ok 30:
{
” PtzControlCmd “: {
” u8Cmd “: 2,
” u8Prędkość ” : 30
}
}
- 1. Ustaw zaprogramowaną pozycję 2:
{
” PtzControlCmd “: {
” u8Cmd “: 17,
„u8Speed” : 30,
„u8Dane1” : 2
}
}
Wyszukiwanie plików karty TF:
( 1) Polecenie wyszukiwania wszystkich plików wideo w określonym przedziale czasu tego samego dnia:
{
“wyszukaj listę plików nagrań”:{
“u32Rok”:2020, // rok
“u8Miesiąc”:7, // Miesiąc
“u8Dzień”:14, // Dzień
“u8Godzina początkowa”:0, // Czas rozpoczęcia w godzinach
“u8Start Minuta”:0, // Czas rozpoczęcia w minutach
“u8Godzina końcowa”:23, // Godzina zakończenia w godzinach
“u8Minuta końcowa”:59, // Czas zakończenia w minutach
“u8EncChn”:0, // 0 jest wartością domyślną.
“u8RecordTye”:0, // Typ pliku: 0: Wszystkie pliki, 1: Zaplanowane nagranie; 2: Nagranie alarmowe; 3: Obrazy;
“u32StartIdx”:0, // Numer kolejny pliku początkowego
“u32Oczekiwana liczba”: 10 // Liczba plików zwróconych przez żądanie, obecnie maksymalna wartość wynosi 32.
}
}
Dane zwrócone przez urządzenie:
{
“wyszukaj listę plików nagrań”: {
“u32RecordFileTotalCount”: 7, // Całkowita liczba plików przeszukanych w tym okresie
“stRecordFileList”: [ // Nazwa pliku ze ścieżką, rozmiar pliku]
“/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
]
}
}
Ręczne przechwytywanie obrazu JPG:
Wyślij następujące polecenie do urządzenia.
{
“Instrukcja SnapJpg”:{
}
}
Pomyślnie zwrócone:
{
“Instrukcja SnapJpg”: PRAWDA
}
Sterowanie PWM reguluje jasność diody LED:
Uzyskaj aktualną wartość PWM:
{
“pobierzPwmParam”:{
“u32PwmChn”: 0
}
}
Pomyślnie zwrócone:
{
“pobierzPwmParam”:{
“u32PwmChn”:0,
“u8Włącz”:1,
“u8Wartość obowiązkowa”:20
}
}
- Ustaw wartość PWM:
{
“ustawPwmParam”:{
“u32PwmChn”: 0,
“u8Włącz”: 1,
“u8Wartość obowiązkowa”: 60
}
}
Pomyślnie zwrócone:
{
“ustawPwmParam”:PRAWDA
}
Uwaga : u32PwmChn domyślnie 0 i nie należy ich dowolnie zmieniać. u8Enable ma wartość 0/1, gdzie 0 wyłącza wyjście PWM i 1 umożliwia wyjście PWM. u8DutyValue ma zakres wartości 0-100.
17. Pobieranie/ustawianie tekstu OSD:
(1) Uzyskaj określony kanał wideo, Parametry tekstowe OSD:
{“pobierzVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1
}}
Pomyślnie zwrócone:
{
“pobierzVideoOsdTextInfo”:{
“u8IspChn”:0, // Kanał wideo 0, wpisać 0 na jeden aparat
“u8TextIdx”:1, // Numer pola tekstowego OSD, obsługa wielu pól tekstowych.
“u8Włącz”:0, // Włączać, 0: nie wyświetlaj; 1: wyświetlacz
“u16XRatioBase50000”:40000, // Współrzędne względne położenia poziomego, o maksymalnej wartości 50000.
“u16YRatioBase50000”:1600, // Względne współrzędne położenia pionowego, o maksymalnej wartości 50000.
“u8FgPrzezroczystość”:10, // Przezroczystość pierwszego planu [0-255]
“u8BgPrzejrzystość”:255, // Wartość przezroczystości tła [0-255]
“u8RozmiarTyp”:1, // Rozmiar tekstu, zakres wartości [0-3]
“u32TextColor_BGRA8888”:4294967295, // Kolor tekstu Wartość ARGB888
“aszTekst”:”” // Pole tekstowe wyświetla ciąg treści
}
}
(2) Ustaw określony kanał wideo, Parametry tekstowe OSD:
{
“setVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1,
“u8Włącz”:1,
“u16XRatioBase50000”:40000,
“u16YRatioBase50000”:1600,
“u8FgPrzezroczystość”:10,
“u8BgPrzejrzystość”:255,
“u8RozmiarTyp”:1,
“u32TextColor_BGRA8888”:4294967295,
“aszTekst”:”test 11111222233334444″
}
}
Pomyślnie zwrócone:
{
“setVideoOsdTextInfo”:PRAWDA
}
CVBS HDMI do enkodera IP
Koder CVBS na Ethernet IP stabilny przy słabym sygnale, Blokada niskiego sygnału
CVBS HDMI do enkodera IP
CVBS HDMI do enkodera IP
Moduł Wi-Fi z analogowym koderem wideo CVBS AV na IP Ethernet

Zadać pytanie
Twoja wiadomość została wysłana