> For the complete documentation index, see [llms.txt](https://portal-integracao.intelbras.com.br/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://portal-integracao.intelbras.com.br/cameras-and-gravadores/integracao-api-cftvip-e-mibo/cameras-e-gravadores/gestao-do-modo-de-cena.md).

# Gestão do Modo de Cena

APIs do SceneModeManager para consultar capacidades e modo de cena por dispositivo/canal (getCaps, getMode, getDefault) e aplicar mudanças de cenário (setMode).

## Dicas & Boas Práticas <a href="#dicas-and-boas-praticas" id="dicas-and-boas-praticas"></a>

* Cada tarefa deve possuir **apenas um tipo de fonte de dados ativo** por vez (`LocalStream`, `RemoteStream`, `VideoFile`, `PictureFile`, etc.), evitando conflitos de processamento.
* O uso de **attachResult** estabelece uma **conexão persistente**; garanta que o cliente esteja preparado para receber e tratar dados em **streaming contínuo**.
* O campo **Heartbeat** é fundamental para manter a conexão ativa e evitar encerramentos inesperados por timeout.
* Em ambientes de produção, recomenda-se **validar regras, modos de cena e filtros em ambientes controlados** antes da implantação definitiva.
* Sempre verifique as **capacidades do dispositivo** antes de definir ou alterar o modo de cena, garantindo compatibilidade com o canal e o cenário desejado.

***

### Tabela de Parâmetros

<table><thead><tr><th>Name</th><th>Type</th><th width="74.66668701171875">R/O</th><th>Description</th><th>Example</th></tr></thead><tbody><tr><td>infos</td><td>object[1024]</td><td>O</td><td>Conteúdo igual ao retorno do método <code>SceneModeManager.getMode</code>.</td><td>—</td></tr><tr><td>DeviceID</td><td>char[128]</td><td>O</td><td>ID do dispositivo. Usado em cenários de cascata.</td><td><code>"12345678"</code></td></tr><tr><td>caps</td><td>object[1024]</td><td>O</td><td>Capacidades do dispositivo relacionadas aos modos de cenário.</td><td>—</td></tr><tr><td>caps.SupportedMode</td><td>char[32][32]</td><td>O</td><td>Modos de cenário suportados. Se ausente ou vazio, indica que não é suportado.</td><td><code>["AcuPick"]</code></td></tr><tr><td>caps.Channel</td><td>int32</td><td>O</td><td>Número do canal de vídeo. Se não existir, consulta o modo de cenário do dispositivo.</td><td><code>0</code></td></tr></tbody></table>

***

### Impacto Operacional&#x20;

* A troca de modo pode:
  * Reiniciar o módulo analítico
  * Interromper tarefas ativas
  * Limpar regras específicas
* Pode haver pequeno downtime durante a alteração
* Pode impactar uso de CPU

***

### Boas Práticas Técnicas&#x20;

* Não alternar modos com alta frequência
* Sempre salvar backup da configuração anterior
* Aplicar mudanças fora de horário crítico
* Testar impacto no analytics antes de produção

***

### Obter Capacidades do Modo de Cena

**Tópicos:** Consulta os modos de cena suportados pelo dispositivo ou por um canal específico. Esse endpoint permite verificar quais cenários de análise de vídeo estão disponíveis antes de aplicar qualquer configuração.

**Métodos: `POST`**` ``/cgi-bin/api/SceneModeManager/getCaps`

**Exemplo:**

```json
{ 
    "DeviceID": "12345678", 
    "Channel": 0 
}
```

**Resposta**:

```json
{ 
    "caps": [{ 
        "SupportedMode": ["AcuPick"], 
        "Channel": 0 
    },…{}] 
}
```

### Obter o Modo de Cena Atual

**Tópicos:** Retorna o modo de cena atualmente configurado no dispositivo ou em um canal específico. Útil para auditoria, diagnóstico ou sincronização de estado entre sistemas.

**Métodos: `POST`**` ``/cgi-bin/api/SceneModeManager/getMode`

**Exemplo:**

```json
{ 
    "Channel": 0, 
    "DeviceID": "12345678" 
} 
```

**Resposta**:

```json
{ 
    "infos": [{ 
        "Channel": 0, 
        "Mode": "None" 
    },…{}] 
} 
```

### Obter o Modo de Cena Padrão

**Tópicos:** Consulta o modo de cena padrão do dispositivo ou do canal informado. Esse modo é utilizado quando nenhuma configuração personalizada foi aplicada.

**Métodos: `POST`**` ``/cgi-bin/api/SceneModeManager/getDefault`

**Exemplo:**

```json
{ 
    "Channel": 0, 
    "DeviceID": "12345678" 
} 
```

**Resposta**:

```json
{ 
"infos": [{ 
},…{}] 
} 
```

### Definir o Modo de Cena

**Tópicos:** Define ou altera o modo de cena do dispositivo com base nas informações fornecidas. Essa operação aplica regras de análise específicas de acordo com o cenário selecionado.

**Métodos: `POST`**` ``/cgi-bin/api/SceneModeManager/setMode`

**Exemplo:**

```json
{ 
"infos": [{ 
},…{}], 
    "DeviceID": "12345678" 
}  
```

**Resposta**:

```
{}
```

***

Notas Finais:

* A alteração do modo de cena pode impactar diretamente o desempenho e o tipo de eventos gerados pelo dispositivo.
* Recomenda-se interromper tarefas ativas antes de modificar o modo de cena, quando aplicável.
* Nem todos os dispositivos ou canais suportam todos os modos de cena disponíveis.
* Sempre valide a resposta da API para confirmar se a operação foi aplicada com sucesso.

***


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://portal-integracao.intelbras.com.br/cameras-and-gravadores/integracao-api-cftvip-e-mibo/cameras-e-gravadores/gestao-do-modo-de-cena.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
