Índice
Endereço de fluxo de áudio e vídeo RTSP em tempo real:
- Formato: rtsp://IP:número da porta/fluxo
- Porta padrão: 554
- ID do fluxo: 0 (convencional), 1 (fluxo secundário)
- Por exemplo, para recuperar o substream do endereço do dispositivo 192.168.1.188, o URL é:
- rtsp://192.168.1.1 8 8 :554 / 1
O cliente (aplicativo móvel) obtém e define parâmetros da câmera através do protocolo TCP;
A câmera atua como um servidor TCP, com a porta TCP padrão sendo 8866.
Formato de dados de comunicação TCP:
string JSON pura
Obtenha o status da câmera:
Estrutura de dados:
estrutura typedef
{
char s8DevId[64]; // ID do dispositivo, o padrão é IP se nenhum ID for definido.
u32 u32TfRecord; // Status de gravação do cartão TF, 0: sem gravação; 1: gravação em andamento
}JSON_DEV_STATUS_INFO_S;
Caracteres de comando:
#definir JS_CMD_GET_DEV_STATUS “ObterDevStatus”
Supondo que o endereço IP do dispositivo seja 192.168.1.188, o cliente envia os seguintes dados JSON:
{
” ObterDevStatus “: { }
}
Depois que a câmera recebeu os dados com sucesso, ele retornou os seguintes dados JSON:
{
” ObterDevStatus “: {
” s8DevId ” : ” 192.168.1.188 ” ,
“u32TfRecord” : 0
}
}
Aquisição/configuração de parâmetros de codificação de vídeo:
Estrutura de dados:
estrutura typedef
{
u8 u8VideoEncChn; //0 : convencional; 1: fluxo secundário;
u8 u8VideoCodecType; // 1:h264 ; 2:p265
u16 u16Largura do vídeo; // Largura do vídeo
u16 u16VideoHeight; // Altura do vídeo
u16 u8FrameRate; // Taxa de quadros (1-30)
u16 u8IframeInterval; // Eu- tamanho do intervalo do quadro (1-100)
u8 u8BitrateControlMode; //Modo de controle de taxa de bits: 0: CBR 1: VBR
u16 u16BitRateKps; // Tamanho da taxa de bits
char s8VideoSizeName[256]; // Lista de resoluções suportadas }JSON_VIDEO_ENC_PARAM_S;
Caracteres de comando:
Obtenha parâmetros:
#definir JS_CMD_GET_VIDEO_ENC_PARAM “getVideoEncParam”
Configurando parâmetros:
#definir JS_CMD_SET_VIDEO_ENC_PARAM “setVideoEncParam”
Por exemplo:
O cliente recupera os seguintes dados JSON contendo os parâmetros de codificação do fluxo de bits principal da câmera:
{
” getVideoEncParam “: {
” u8VideoEncChn “: 0
}
}
Os dados JSON retornados pela câmera são os seguintes;
{
” getVideoEncParam “: {
” u8VideoEncChn “: 0,
“u8VideoCodecType” : 1,
“ u16VideoWidth ” : 3840,
” u16VideoHeight ” : 1080,
“u8FrameRate” : 30,
” u8IframeInterval ” : 60,
” u8BitrateControlMode ” : 0,
“ u16BitRateKps ” : 4096,
” s8VideoSizeName ” : ” 3840×1080,1920×540 “
}
}
O cliente define a taxa de quadros do fluxo secundário da câmera como 15 e a taxa de bits para 1024K no formato JSON, do seguinte modo:
{
” setVideoEncParam “: {
” u8VideoEncChn “: 1,
” u8FrameRate “: 15,
” u16BitRateKps “: 1024
}
}
Após configuração bem-sucedida, a câmera retorna TRUE.
Aquisição/configuração de parâmetros de codificação de áudio:
Estrutura de dados:
estrutura typedef
{
u8 u8Ativar; //0: Desativar; 1: Habilitar;
u32 u32ChnNum; // 1 : mono; 2: Estéreo
u8 u8EncodeType; //6 : AAC; 8: G711A; 9: G711U; u32 u32SampleRate; // Taxa de amostragem: 8000, 16000, 24000, 32000, 48000
u8 u8AoutVolume; // Tamanho do volume: [0–100] }JSON_VIDEO_ENC_PARAM_S;
Caracteres de comando:
Obtenha parâmetros:
#definir JS_CMD_GET_AUDIO_PARAM “getAudioParam”
Configurando parâmetros:
#definir JS_CMD_SET_AUDIO_PARAM “setAudioParam”
Por exemplo:
O cliente recupera os seguintes dados JSON dos parâmetros de codificação de áudio da câmera:
{
” getAudioParam “: { }
}
Os dados JSON retornados pela câmera são os seguintes;
{
” getAudioParam “: {
” u8Ativar “: 1,
“u32ChnNum” : 1,
“u8EncodeType” : 8,
“ u32SampleRate ” : 8000,
“u8AoutVolume” : 80,
}
}
As configurações do lado do cliente para codificação de áudio da câmera são AAC, estéreo, e uma taxa de amostragem de 48kHz. Os dados JSON são os seguintes:
{
” setAudioParam “: {
“u32ChnNum” : 2,
“u8EncodeType” : 6,
“ u32SampleRate ” : 48000
}
}
Após configuração bem-sucedida, a câmera retorna TRUE.
Aquisição/configuração de parâmetros de imagem de vídeo:
Estrutura de dados:
estrutura typedef
{
u8 u8VideoIspChn; //Canal ISP; [0-4]
u8 u8Brilho; // Brilho: [0~100]
u8 u8Contraste; // relação de contraste: [0~100]
u8 u8Hue; // Cromaticidade: [0~100]
u8 u8Saturação; // Nível de saturação: [0~100]
u8 u8Nitidez; // Nitidez: [0~100]
}JSON_IMAGE_PARAM_S;
Caracteres de comando:
Obtenha parâmetros:
#definir JS_CMD_GET_IMAGE_PARAM “getImageParam”
Configurando parâmetros:
#definir JS_CMD_SET_IMAGE_PARAM “setImageParam”
Por exemplo:
O cliente recupera os seguintes dados JSON dos parâmetros de imagem do canal 0 do ISP da câmera:
{
” getImageParam “: {
“u8VideoIspChn” : 0
}
}
Os dados JSON retornados pela câmera são os seguintes;
{
” getImageParam “: {
” u8VideoIspChn “: 0,
“u8Brilho” : 50,
“ u8Contraste ” : 50,
“u8Hue” : 50,
“u8Saturação” : 50,
“u8Nitidez” : 50
}
}
A configuração de dados JSON do lado do cliente para o brilho da câmera é 53, contraste é 60, e a saturação é 56 é o seguinte:
{
” setImageParam “: {
“u8VideoIspChn” : 0,
“u8Brilho” : 53,
“ u8Contraste ” : 60,
“u8Saturação” : 56
}
}
Após configuração bem-sucedida, a câmera retorna TRUE.
Recuperação de informações do cartão TF;
Estrutura de dados:
estrutura typedef
{
u32 u32TotalSize; // Tamanho total em MB
u32 u32UsadoTamanho; // Unidade de capacidade usada (MB)
u32 u32Tamanho disponível; // Capacidade disponível em MB
}JSON_SD_CARD_INFO_S;
Obtenha parâmetros:
#definir JS_CMD_GET_SD_CARD_INFO “getSdCardInfo”
Por exemplo:
O cliente recupera os seguintes dados JSON relativos às informações do cartão TF da câmera:
{
” getSdCardInfo “: { }
}
Os dados JSON retornados pela câmera são os seguintes;
{
” getSdCardInfo “: {
” u32Tamanho total “: 31254,
“ u32TamanhoUsado ” : 20000,
” u32Tamanho disponível ” : 11254
}
}
Configuração de gravação do cartão TF:
Estrutura de dados:
estrutura typedef
{
u8 u8AutoRecordEnable; //1: Habilitar gravação; 0: Desativar gravação
u8 u8RecordStrChn; // Seleção de fluxo de gravação: 0: fluxo primário; 1: fluxo secundário
u8 u8PreRecordSeconds; // Tempo de pré-gravação [0-10] em segundos
u16 u16RecordSecondsPerFile; // Duração de um único arquivo de gravação [10-1000] segundos
}JSON_RECORD_CONTROL_PARAM_S;
Obtenha parâmetros:
#definir JS_CMD_GET_RECORD_CONTROL_PARAM “getRecordControlParam”
Configurando parâmetros:
#definir JS_CMD_SET_RECORD_CONTROL_PARAM “setRecordControlParam”
Por exemplo:
O cliente recupera os seguintes dados JSON relativos à configuração de gravação do cartão TF da câmera:
{
” getRecordControlParam “: { }
}
Os dados JSON retornados pela câmera são os seguintes;
{
” getRecordControlParam “: {
” u8AutoRecordEnable “: 1,
“ u8RecordStrChn ” : 0,
” u8PrecordSeconds ” : 0,
” u16RecordSecondsPerFile ” : 300
}
}
Configuração de IP de rede com fio:
Estrutura de dados:
estrutura typedef
{
u8 u8DhcpAtivar; // 0: I.P. estático; 1: DHCP;
caractere s8IP[16]; //endereço de IP
char s8SubMask[16]; // Máscara de sub-rede
char s8GateWay[16]; // IP do gateway
char s8Dns[16]; //Endereço DNS
}JSON_NET_PARAM_S;
Obtenha parâmetros:
#definir JS_CMD_GET_NET_IP_PARAM “getNetIpParam”
Configurando parâmetros:
#definir JS_CMD_SET_NET_IP_PARAM “setNetIpParam”
Por exemplo:
O cliente recupera as informações IP da câmera usando dados JSON da seguinte maneira:
{
” getNetIpParam “: { }
}
Os dados JSON retornados pela câmera são os seguintes;
{
” getNetIpParam “: {
” u8DhcpEnable “: 0,
” s8IP ” : ” 192.168.1.188 ” ,
” s8SubMask ” : ” 255.255.255.0 ” ,
” s8GateWay ” : ” 192.168.1.1 ” ,
” s8Dns ” : ” 192.168.1.1 “
}
}
O cliente está configurado com o endereço IP da câmera como 192.168.3.10, porta de entrada como 192.168.3.1, e DNS como 192.168.3.1. Os dados JSON são os seguintes:
{
” setNetIpParam “: {
” s8IP ” : ” 192.168.3.10 ” ,
” s8GateWay ” : ” 192.168.3.1 ” ,
” s8Dns ” : ” 192.168.3.1 “
}
}
Após configuração bem-sucedida, a câmera não retorna nenhum dado, e o cliente precisa se reconectar ao dispositivo com o novo endereço IP.
Configuração de parâmetros WiFi:
O cliente/aplicativo recupera uma lista de SSIDs dos roteadores encontrados pelo dispositivo.
{
“getAPSsidList” :{ }
}
O dispositivo retornará uma lista de SSIDs: Selecione um SSID de rota na lista para se conectar.
Configure o Wi-Fi do seu dispositivo para funcionar no modo STA:
{
“setWifiSsidParam”:{
“u8Modo”: 0,
“s8Ss”: ” yrsx8888 “,
“s8PassWd”: “987545598400
}
}
Configure o Wi-Fi do dispositivo para funcionar no modo hotspot AP:
{
“setWifiSsidParam”:{
“u8Modo”: 1
}
}
Obtenha o status do Wi-Fi do dispositivo:
{
“getWifiSsidParam” : { }
}
Sincronização de tempo:
Estrutura de dados:
estrutura typedef
{
u8 u8TimeZone; // Valor do fuso horário RT_TIMEZONE_E
char s8DateTime[64]; // Formato de hora: “2019-06-12_12:56:59_3”
}JSON_DATE_TIME_INFO_S;
Definição do valor do fuso horário:
enumeração typedef
{
RT_TIMEZONE_InternationalDateLineOeste = 0, /* UTC-12:00 */
RT_TIMEZONE_MidwayIslandSamoa = 1, /* UTC-11:00 */
RT_TIMEZONE_Havaí = 2, /* UTC-10:00 */
RT_TIMEZONE_Alasca = 3, /* UTC-9:00 */
RT_TIMEZONE_TijuanaCalifórnia = 4, /* UTC-8:00 */
RT_TIMEZONE_PacificTimeUSCanadá = 5, /* UTC-8:00 */
RT_TIMEZONE_MountainTimeUSCanadá = 6, /* UTC-7:00 */
RT_TIMEZONE_ChihuahuaLapazMazatlán = 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_CentralTimeUSCanadá = 11, /* UTC-6:00 */
RT_TIMEZONE_América Central = 12, /* UTC-6:00 */
RT_TIMEZONE_BogotáLimaQuito = 13, /* UTC-5:00 */
RT_TIMEZONE_EasternTimeUSCanadá = 14, /* UTC-5:00 */
RT_TIMEZONE_IndianaLeste = 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_Brasília = 21, /* UTC-3:00 */
RT_TIMEZONE_BuenosAiresGeorgentown = 22, /* UTC-3:00 */
RT_TIMEZONE_Groenlândia = 23, /* UTC-3:00 */
RT_TIMEZONE_MidAtlantic = 24, /* UTC-2:00 */
RT_TIMEZONE_CapeVerdeIs = 25, /* UTC-1:00 (República de Cabo Verde) */
RT_TIMEZONE_Açores = 26, /* UTC-1:00 (Açores) */
RT_TIMEZONE_GreenwichMeanTimeDublinEdimburgoLisboaLondres = 27, /* UTC-0:00 */
RT_TIMEZONE_Casablanca = 28, /* UTC-0:00 */
RT_TIMEZONE_Monróvia = 29, /* UTC-0:00 */
RT_TIMEZONE_AmsterdãBerlimBernaRomaEstocolmoViena = 30, /* UTC+1:00 */
RT_TIMEZONE_BelgradoBratislavaBudapesteLjubljanaPraga = 31, /* UTC+1:00 */
RT_TIMEZONE_BruxelasCopenhagenMadridParis = 32, /* UTC+1:00 */
RT_TIMEZONE_SarajevoSkopjeVarsóviaZagreb = 33, /* UTC+1:00 */
RT_TIMEZONE_WestCentralAfrica = 34, /* UTC+1:00 */
RT_TIMEZONE_RarePretória = 35, /* UTC+2:00 */
RT_TIMEZONE_HelsínquiaKyivRigaSofiaTallinnVilnius = 36, /* UTC+2:00 */
RT_TIMEZONE_Cairo = 37, /* UTC+2:00 */
RT_TIMEZONE_Minsk = 38, /* UTC+2:00 */
RT_TIMEZONE_AtenasBucaresteIstambul = 39, /* UTC+2:00 */
RT_TIMEZONE_Jerusalém = 40, /* UTC+2:00 */
RT_TIMEZONE_Bagdá = 41, /* UTC+3:00 */
RT_TIMEZONE_Tbilissi = 42, /* UTC+3:00 */
RT_TIMEZONE_KuwaitRiade = 43, /* UTC+3:00 */
RT_TIMEZONE_MoscouStPetersburgVolgogrado = 44, /* UTC+3:00 */
RT_TIMEZONE_Nairóbi = 45, /* UTC+3:00 */
RT_TIMEZONE_Teerã = 46, /* UTC+3:30 */
RT_TIMEZONE_AbuDhabiMuscat = 47, /* UTC+4:00 */
RT_TIMEZONE_BakuErevan = 48, /* UTC+4:00 */
RT_TIMEZONE_Cabul = 49, /* UTC+4:30 */
RT_TIMEZONE_Tashkent = 50, /* UTC+5:00 */
RT_TIMEZONE_Ecaterimburgo = 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_AlmatyNovosibirsk = 55, /* UTC+6:00 */
RT_TIMEZONE_AstanaDhaka = 56, /* UTC+6:00 */
RT_TIMEZONE_Rangum = 57, /* UTC+6:30 */
RT_TIMEZONE_Krasnoiarsk = 58, /* UTC+7:00 */
RT_TIMEZONE_BangkokHanoiJacarta = 59, /* UTC+7:00 */
RT_TIMEZONE_PequimChongqingHongKongUrumqi = 60, /* UTC+8:00 */
RT_TIMEZONE_KualaLumpurSingapura = 61, /* UTC+8:00 */
RT_TIMEZONE_Perth = 62, /* UTC+8:00 */
RT_TIMEZONE_Taipei = 63, /* UTC+8:00 */
RT_TIMEZONE_IrkutskUlaanBataar = 64, /* UTC+8:00 */
RT_TIMEZONE_OsakaSapporoTóquio = 65, /* UTC+9:00 */
RT_TIMEZONE_Seul = 66, /* UTC+9:00 */
RT_TIMEZONE_Yakutsk = 67, /* UTC+9:00 */
RT_TIMEZONE_Adelaide = 68, /* UTC+9:30 */
RT_TIMEZONE_Brisbane = 69, /* UTC+10:00 */
RT_TIMEZONE_Vladivostok = 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_MagadanSolomonNova Caledônia = 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;
Obtenha parâmetros:
#definir JS_CMD_GET_DEV_DATE_TIME “GetDevDateTime”
Configurando parâmetros:
#definir JS_CMD_SET_DEV_DATE_TIME “setDevDateTime”
Obtenha os dados JSON da hora do dispositivo :
{
” GetDevDateTime ” : {}
}
O dispositivo retorna dados JSON:
{
” GetDevDateTime ” : {
“u8TimeZone” : 60,
“s8DateTime” : “2020-03-06_12:56:59_3”
}
}
Os dados JSON definem o horário do dispositivo para quinta-feira, marcha 12, 2020, em 3:38:30 PM:
{
” setDevDateTime ” : {
“s8DateTime” : “2020-03-12_15:38:30_4”
}
}
O dispositivo retornou TRUE após a configuração bem-sucedida.
Gestão de Equipamentos:
Dados JSON para reiniciar o dispositivo:
{
” setSysControlParam ” : {
“u8Reiniciar” : 1
}
}
Dados JSON para restaurar as configurações de fábrica:
{
” setSysControlParam ” : {
“u8ResetDefault” : 1
}
}
Formatando dados JSON do cartão SD:
{
” setSysControlParam ” : {
“u8FormatSdCard” : 1
}
}
Controle PTZ:
Estrutura de dados:
estrutura typedef
{
u8 u8Cmd; // Código de comando PTZ_CONTROL_CODE
u8 u8Velocidade; // Rapidez (1-64)
u8 u8Dados1; // Reservado; isso será usado para posições predefinidas.
u8 u8Data2; // Reservado, isso será usado para comandos PTZ especiais.
}JSON_PTZ_CONTROL_S;
enumeração PTZ_CONTROL_CODE
{
PTZ_STOP = 0, // Pare
PTZ_UP=1, // Acima
PTZ_DOWN=2, // baixa
PTZ_ESQUERDA=3, // Esquerda
PTZ_RIGHT=4, // certo
PTZ_LEFT_UP=5, // canto superior esquerdo
PTZ_LEFT_DOWN=6, // canto inferior esquerdo
PTZ_RIGHT_UP=7, // canto superior direito
PTZ_RIGHT_DOWN=8, // 8 : canto inferior direito
PTZ_ZOOM_IN=9, // 9 : Ampliar
PTZ_ZOOM_OUT=10, // 10: MENOS ZOOM=10, // 10 : MENOS ZOOM=10
PTZ_FOCUS_NEAR=11, // 11 : Focando no próximo
PTZ_FOCUS_FAR=12, // 12 : Concentre-se no longe
PTZ_IRIS_ADD=13, // 13 : Aumento de abertura
PTZ_IRIS_REDUCE=14, // 14 : Abertura reduzida
PTZ_GOTO_POINT = 15, // 15 : Chamar bit predefinido
PTZ_CLEAR_POINT = 16, // 16 : Limpar bit predefinido
PTZ_PERSET_POINT = 17, // 17 : Definir bit predefinido
PTZ_AUTO_RUN = 18, // 18 : Verificação automática horizontal
};
Controle PTZ:
#definir JS_CMD_PTZ_CONTROL “PtzControlCmd”
Comandos JSON controlados por Ptz:
- Movendo-se para baixo a uma velocidade de 30:
{
” PtzControlCmd “: {
” u8Cmd “: 2,
” u8Speed ” : 30
}
}
- 1. Definir posição predefinida 2:
{
” PtzControlCmd “: {
” u8Cmd “: 17,
“u8Speed” : 30,
“u8Data1” : 2
}
}
Pesquisa de arquivo de cartão TF:
( 1) Comando para pesquisar todos os arquivos de vídeo dentro de um período específico no mesmo dia:
{
“searchRecordFileList”:{
“u32Ano”:2020, // ano
“u8 mês”:7, // Mês
“u8Dia”:14, // Dia
“u8StartHour”:0, // Hora de início em horas
“u8StartMinute”:0, // Hora de início em minutos
“u8EndHour”:23, // Hora de término em horas
“u8EndMinute”:59, // Hora de término em minutos
“u8EncChn”:0, // 0 é o valor padrão.
“u8RecordTye”:0, // Tipo de arquivo: 0: Todos os arquivos, 1: Gravação agendada; 2: Gravação de alarme; 3: Imagens;
“u32StartIdx”:0, // O número de sequência do arquivo inicial
“u32Contagem esperada”: 10 // Número de arquivos retornados pela solicitação, atualmente o valor máximo é 32.
}
}
Dados retornados pelo dispositivo:
{
“searchRecordFileList”: {
“u32RecordFileTotalCount”: 7, // Número total de arquivos pesquisados neste período
“stRecordFileList”: [ // Nome do arquivo com caminho, tamanho do arquivo]
“/dev/disco/0/part0/rec-pic/20200714/0/000_180149_0_0300_2.mp4”, 251649649, “/dev/disco/0/part0/rec-pic/20200714/0/001_180644_0_0169_256.mp4”, 144935215, “/dev/disco/0/part0/rec-pic/20200714/0/002_181001_0_0300_2.mp4”, 251650689, “/dev/disco/0/part0/rec-pic/20200714/0/003_181458_0_0300_2.mp4”, 251657016, “/dev/disco/0/part0/rec-pic/20200714/0/004_181958_0_0300_2.mp4”, 301449467, “/dev/disco/0/part0/rec-pic/20200714/0/005_182458_0_0000_256.mp4”, 37801991, “/dev/disco/0/part0/rec-pic/20200714/0/006_182642_0_0244_256.mp4”, 200069913
]
}
}
Capturar manualmente uma imagem JPG:
Envie o seguinte comando para o dispositivo.
{
“ManualSnapJpg”:{
}
}
Retornado com sucesso:
{
“ManualSnapJpg”: verdadeiro
}
O controle PWM ajusta o brilho do LED:
Obtenha o valor PWM atual:
{
“getPwmParam”:{
“u32PwmChn”: 0
}
}
Retornado com sucesso:
{
“getPwmParam”:{
“u32PwmChn”:0,
“u8Ativar”:1,
“u8DutyValor”:20
}
}
- Defina o valor PWM:
{
“setPwmParam”:{
“u32PwmChn”: 0,
“u8Ativar”: 1,
“u8DutyValor”: 60
}
}
Retornado com sucesso:
{
“setPwmParam”:verdadeiro
}
Nota : u32PwmChn tem como padrão 0 e não deve ser alterado arbitrariamente. u8Enable tem um valor de 0/1, Onde 0 desativa a saída PWM e 1 permite saída PWM. u8DutyValue tem um intervalo de valores de 0-100.
17. Aquisição/configuração de texto OSD:
(1) Obtenha o canal de vídeo especificado, Parâmetros de texto OSD:
{“getVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1
}}
Retornado com sucesso:
{
“getVideoOsdTextInfo”:{
“u8IspChn”:0, // Canal de vídeo 0, Preencha 0 para uma câmera
“u8TextIdx”:1, // O número da caixa de texto OSD, suportando múltiplas caixas de texto.
“u8Ativar”:0, // Habilitar, 0: não exibir; 1: exibição
“u16XRatioBase50000”:40000, // Coordenadas relativas da posição horizontal, com valor máximo de 50000.
“u16YRatioBase50000”:1600, // Coordenadas relativas da posição vertical, com valor máximo de 50000.
“u8FgTransparência”:10, // Transparência em primeiro plano [0-255]
“u8BgTransparência”:255, // Valor de transparência de fundo [0-255]
“u8SizeType”:1, // Tamanho do texto, faixa de valor [0-3]
“u32TextColor_BGRA8888”:4294967295, // Valor ARGB888 da cor do texto
“aszTexto”:”” // A caixa de texto exibe a sequência de conteúdo
}
}
(2) Defina o canal de vídeo especificado, Parâmetros de texto OSD:
{
“setVideoOsdTextInfo”:{
“u8IspChn”:0,
“u8TextIdx”:1,
“u8Ativar”:1,
“u16XRatioBase50000”:40000,
“u16YRatioBase50000”:1600,
“u8FgTransparência”:10,
“u8BgTransparência”:255,
“u8SizeType”:1,
“u32TextColor_BGRA8888”:4294967295,
“aszTexto”:”teste 11111222233334444″
}
}
Retornado com sucesso:
{
“setVideoOsdTextInfo”:verdadeiro
}
Cvbs hdmi para codificador IP
Codificador CVBS para Ethernet IP estável em prova de sinal fraco, Bloqueio de sinal baixo
Cvbs hdmi para codificador IP
Cvbs hdmi para codificador IP
Módulo Wi-Fi do codificador de vídeo CVBS AV analógico para IP Ethernet

Faça uma pergunta
Sua mensagem foi enviada