---
title: Adaptadores DVB
url: https://doc.pstreamer.tv/pt/manual/dvb.html
lang: pt-BR
product: Perfect Streamer
version: 1.13.3.445
---

# Adaptadores DVB

Perfect Streamer suporta qualquer adaptador DVB instalado no sistema. Padrões suportados: DVB-S, DVB-S2, DVB-T, DVB-T2, DVB-C, ATSC. Adicionalmente implementados: desencapsulamento T2-MI (ETSI TS 102 773) e descodificação BISS-1 / BISS-E.

A condição principal é um controlador de adaptador corretamente instalado e em funcionamento no sistema.

A secção DVB aparece apenas se o sistema possuir adaptadores DVB válidos. A reconfiguração em tempo de execução não é suportada; é necessário reiniciar o streamer.

## Ligação do adaptador

Para adicionar um novo adaptador DVB, aceda à secção correspondente e adicione o adaptador:

- Definir o nome do adaptador.
- Selecionar um adaptador da lista dos disponíveis no sistema.
- Selecionar o modo **Stream**.
- Especificar o tipo de sistema de transmissão: **DVB-S**, **DVB-S2**, **DVB-T**, **DVB-T2**, **DVB-C**.
- Especificar os parâmetros de receção: **Frequência da portadora**, **Polarização**, **Taxa de símbolo**, **FEC**, **Modulação**, **ID do fluxo DVB**, **Frequência do oscilador**, **Oscilador da banda alta**, **Limite da banda alta**, **Modo DiSEqC 1.0** e outros parâmetros consoante o tipo.

Opcionalmente pode ativar-se o registo de EIT na base de dados EPG (**Registar EIT na BD EPG**).

Repetir a adição para cada adaptador presente no sistema.

## Varredura DVB

Para evitar introduzir manualmente os parâmetros de receção (frequência, polarização, taxa de símbolo, FEC, modulação), o Perfect Streamer integra um scanner de transponders. O scanner percorre os transponders do satélite selecionado (DVB-S/S2) ou da banda regional (DVB-C, DVB-T/T2), efetua a sintonização e a captura de cada um, recolhe as tabelas PSI/SI (PAT, PMT, SDT) e constitui a lista final de multiplex com os respetivos programas. Qualquer multiplex encontrado pode ser adicionado à lista de adaptadores DVB com um único botão.

O scanner utiliza o adaptador físico na sua totalidade; para o iniciar é necessário um adaptador que não esteja a ser utilizado pelo kernel do sistema operativo nem por qualquer entrada de adaptador DVB ativa no Perfect Streamer.

### Adaptadores disponíveis

Ao abrir o ecrã de varredura no painel de administração, é apresentada uma lista dos adaptadores DVB físicos do sistema com o respetivo estado de ocupação:

- **free** — o adaptador está disponível para varredura.
- **kernel** — o dispositivo está retido por outro processo do sistema operativo.
- **pss-id-N** — o adaptador já está a ser utilizado por uma entrada de adaptador DVB no Perfect Streamer com o identificador indicado. Não é possível iniciar o scanner nele enquanto essa entrada estiver ativa. Para libertar o adaptador temporariamente, a entrada de adaptador DVB existente deve ser colocada em pausa (o indicador **Pause** nas suas definições).

### Listas de transponders

O scanner baseia-se em listas de referência no formato Enigma2: a lista de satélites `satellites.xml` e as listas regionais `cables.xml` / `terrestrial.xml`. Cada ficheiro contém um conjunto de transponders para uma posição orbital conhecida ou para uma banda regional DVB-T/C (para mais detalhes, consulte o site do projeto [oe-alliance-tuxbox-common](https://github.com/oe-alliance/oe-alliance-tuxbox-common)).

Os ficheiros encontram-se no diretório `sat/` relativo a `pss.json` (por predefinição `/etc/pss/sat/`). São fornecidos com a distribuição do Perfect Streamer e são carregados ao abrir o ecrã de varredura. Quando necessário, podem ser atualizados substituindo o ficheiro XML correspondente.

No painel de administração, as listas de referência são apresentadas em três listas:

- **Satélite** — posições orbitais (por exemplo, *Hot Bird 13.0°E*, *Astra 19.2°E*).
- **Região cabo** — país ou fornecedor DVB-C.
- **Região terrestre** — região DVB-T/T2.

Se o satélite ou a região pretendidos não estiverem presentes nas listas de referência, é possível atualizar o XML ou utilizar em alternativa a **varredura cega** (ver abaixo).

### Início

Na caixa de diálogo de varredura, definem-se sequencialmente os seguintes elementos:

- Um adaptador físico livre.
- Tipo de delivery system: **DVB-S**, **DVB-S2**, **DVB-T**, **DVB-T2** ou **DVB-C**.
- Fonte:

  - para DVB-S/S2 — uma posição orbital da lista de satélites e os parâmetros LNB (frequências do oscilador local LO1 e LO2, limite da banda superior, porta DiSEqC);
  - para DVB-C — uma região cabo;
  - para DVB-T/T2 — uma região terrestre.

Após premir **Iniciar**, a varredura é executada em segundo plano. O progresso é apresentado no painel de administração:

- a percentagem de progresso baseada no número de transponders processados;
- a frequência e a polarização atuais;
- os contadores *Multiplex encontrados* e *Programas encontrados*;
- uma árvore dos multiplex já encontrados, expansível até aos programas.

O scanner é um recurso partilhado em todo o streamer: executa-se no máximo uma varredura de cada vez. Se for iniciada uma nova varredura enquanto outra está em curso, a anterior é automaticamente cancelada. O botão **Cancelar** interrompe a varredura e limpa a lista acumulada.

A duração da varredura depende do número de transponders na lista de referência selecionada (tipicamente até 5 segundos por transponder: até 2 segundos para o bloqueio do sinal e até 5 segundos para a recolha das PSI). Valores típicos:

- DVB-S Hot Bird 13.0°E — cerca de 2 minutos (44 transponders).
- DVB-S Astra 19.2°E — cerca de 1,5 minutos.
- DVB-T região europeia — menos de um minuto.

### Resultado

O resultado da varredura é apresentado como uma árvore **multiplex → programas**.

Parâmetros do multiplex:

- frequência, polarização, taxa de símbolo;
- FEC, modulação, delivery system;
- identificador do fluxo de transporte (**TSID**);
- as leituras do frontend no momento em que termina a recolha das PSI — **SNR**, **Signal**, **BER**;
- os contadores *pmt-total* / *pmt-recv* — quantas tabelas PMT foram anunciadas pela PAT e quantas foram efetivamente recolhidas dentro do tempo limite.

Parâmetros do serviço:

- **PNR** (program_number) — o identificador do serviço dentro do multiplex;
- **Nome** e **Fornecedor** — obtidos da tabela SDT, em UTF-8;
- **scrambled** — o indicador de codificação. A sua origem é determinada pela seguinte ordem: o bit `free_CA_mode` da SDT (declaração do broadcaster) → os indicadores de codificação de transporte da PMT. Se nem a SDT nem a PMT chegarem dentro do tempo limite, o valor predefinido é 0 («não codificado»); o estado real é apurado quando se tenta a receção;
- **video-pid**, **audio-pid**, **pcr-pid** — os principais fluxos elementares do serviço.

### Aplicação do resultado

O multiplex selecionado na árvore é adicionado à lista de adaptadores DVB com um único botão. É criada uma nova entrada com os parâmetros do resultado da varredura (frequência, polarização, taxa de símbolo, FEC, modulação, delivery system) juntamente com os parâmetros LNB e o par *adapter/device* especificados no arranque da varredura. O nome do adaptador é definido pelo utilizador; os parâmetros adicionais (chaves BISS para canais codificados, T2-MI, LNB partilhado, etc.) são preenchidos após a criação da entrada, nas suas definições.

Os programas dos multiplex encontrados são aplicados em separado — criando um fluxo (**Stream**) com uma fonte de entrada **demuxer** endereçada pelo PNR (ver a secção *Ligação de um fluxo SPTS a um serviço de multiplex DVB*).

### Varredura cega

O modo cego é utilizado quando:

- o satélite pretendido não consta das listas de referência (posição orbital não normalizada, uplink local);
- as listas de referência regionais DVB-T/C são insuficientes ou estão desatualizadas para uma localização específica;
- é necessário reverificar um troço da banda independentemente da lista de transponders conhecidos.

Neste modo, o scanner não consulta as listas de referência; sintetiza uma lista de transponders a partir de uma grelha de frequências. Por predefinição, são utilizadas as seguintes gamas típicas:

- DVB-S/S2 Ku — 10700..12750 MHz, passo de 4 MHz, ambas as polarizações (H e V), taxas de símbolo típicas 22000 / 27500 / 30000 ksym/s.
- DVB-C — 47000..862000 kHz, passo de 8000 kHz, QAM-64 e QAM-256, taxas de símbolo típicas 6875 / 6900 / 6952 ksym/s.
- DVB-T/T2 — 174000..862000 kHz, passo de 8000 kHz.

Uma varredura cega completa da banda Ku demora cerca de 100 minutos (vários milhares de pontos de sintonização). Na prática, o intervalo é restringido manualmente no painel de administração — frequência mínima/máxima e passo da grelha. Por exemplo, uma varredura de 11700..11800 MHz com passo de 4 MHz para uma única banda LNB demora cerca de 5 minutos.

O formato do resultado de uma varredura cega é idêntico ao de uma varredura normal. Particularidades:

- os campos **FEC** e **Modulação** dos multiplex encontrados ficam fixados no valor **AUTO** — o scanner não determina os seus valores exatos;
- o delivery system é igual ao solicitado (DVB-S, DVB-S2, …). Para redes mistas, recomenda-se efetuar duas passagens — DVB-S e DVB-S2 em separado.

A aplicação de um multiplex proveniente de uma varredura cega é efetuada da mesma forma que num caso normal — através do botão que o adiciona à lista de adaptadores DVB. Os campos **FEC** e **Modulação** são geralmente deixados em AUTO e, se necessário, afinados após um bloqueio estável do sinal no transponder em causa.

## Tamanho do buffer de receção do kernel

O parâmetro **buffer-size** (inteiro, valor predefinido 512) define o tamanho do buffer circular DVB demux do kernel em blocos de 65536 bytes.

- `512` (32 MB) — valor predefinido recomendado. Cobre cenários DVB-S/S2 de transponder completo (>= 33 Mbit/s) com um ou vários consumidores MPTS. Selecionado com base em testes de bancada com um adaptador TBS sob carga total do transponder.
- `8..64` (512 KB .. 4 MB) — aceitável para sistemas embarcados com RAM limitada ou para adaptadores nos modos Scanner / Femon onde o tráfego é baixo.
- `0` — manter o valor predefinido do controlador (normalmente 8…32 KB). Adequado apenas para cenários com muito pouca carga. Acima de 10 Mbit/s haverá perdas.

Quando uma mensagem da seguinte forma aparecer no registo:

```
DVB adapter X/Y dvr buffer overflow (NN so far, KK pids);
raise 'buffer-size' or reduce pid filter
```

aumentar **buffer-size** ou reduzir o número de PIDs que passam pelo filtro (por exemplo, eliminar a saída MPTS se não for necessária).

Custo de memória: o valor N consome N × 64 KB de memória do kernel por adaptador. Com muitos adaptadores (8 ou mais) convém tê-lo em conta (8 × 32 MB = 256 MB).

## Ligação de um fluxo SPTS a um serviço de multiplex DVB

Ao adicionar um novo canal SPTS ao `input` do fluxo, selecionar:

- Tipo: **demuxer**.
- Fonte: **adaptador DVB**.
- Multiplex criado no adaptador DVB, por nome do adaptador.
- PNR — selecionado a partir da lista emergente de serviços detetados no multiplex ou introduzido manualmente.

## Permissões de acesso aos dispositivos DVB

Se os adaptadores DVB não forem apresentados no Perfect Streamer, executar as seguintes ações:

```sh
sudo nano /etc/udev/rules.d/99-dvb-permissions.rules
SUBSYSTEM=="dvb", GROUP="video", MODE="0660"

sudo usermod -aG video pss
sudo chown -R root:video /dev/dvb/*
sudo reboot
```

## Desencapsulamento T2-MI

T2-MI (T2-Modulator Interface, ETSI TS 102 773) é um formato para transportar fluxos DVB-T2 sobre DVB-S2 multistream. O transponder externo DVB-S/S2 transporta um ou mais T2-MI carrier-PIDs, cada um encapsulando BBFRAMEs com um ou mais PLPs (Physical Layer Pipe). Após o desencapsulamento, extrai-se do BBFRAME o MPEG-TS interno contendo os programas e as tabelas PSI/SI.

A implementação Perfect Streamer funciona no **modo multi-carrier**: um único adaptador físico entrega simultaneamente o multiplex DVB-S/S2 externo **e** todos os carriers T2-MI desencapsulados (um por cada carrier-PID encontrado no PMT do fluxo externo).

### Parâmetros de configuração

**t2mi-mode** (Int, 0..2, valor predefinido 0) — modo de desencapsulamento:

- `0` — Desativado. O MPEG-TS externo é transmitido sem processamento. Se for detetado um descritor T2-MI (tag 0x51) no PMT, é registada uma dica única.
- `1` — Manual. O desencapsulamento está sempre ativo. Se `t2mi-pid` não for 0, é pré-criado um carrier nesse PID no arranque. Os carriers adicionais continuam a ser detetados automaticamente a partir do PMT.
- `2` — Auto. Os carriers são detetados automaticamente a partir do PMT do multiplex externo para todos os ES que pareçam T2-MI (descritor 0x51 ou único ES com stream_type=0x06 num serviço sem outros ES A/V). Se não forem encontrados carriers, o adaptador funciona como um multiplex DVB normal.

**t2mi-pid** (Int, 0..8191, valor predefinido 0) — PID para pré-criar um carrier no arranque, antes da chegada do PMT:

- `0` — sem pré-criação. Os carriers são detetados a partir do PMT (recomendado para o modo auto `2`).
- `1..8191` — pré-criar um carrier neste PID. Os T2-MI ES adicionais encontrados no PMT obtêm igualmente os seus próprios carriers.

No modo multi-carrier o parâmetro `t2mi-pid` **não** é um seletor de um único carrier — cada ES T2-MI detetado obtém o seu próprio carrier com o seu próprio desencapsulador. O parâmetro disponibiliza inicialização antecipada para um PID conhecido.

**t2mi-plp** (Int, 0..255, valor predefinido 0) — identificador do PLP extraído de cada carrier T2-MI no adaptador. Aplica-se a **todos** os carriers — a substituição por carrier não é suportada na versão atual. Se em produção diferentes carriers transportarem diferentes PLPs, convém:

- especificar um PLP comum a todos os carriers, ou
- configurar adaptadores separados para diferentes PLPs através de `lnb-sharing`.

Este é o identificador do campo `plp_id` do BBFRAME, **não** o ISI multistream DVB-S2 (definido pelo parâmetro `dvb-stream-id`). São identificadores diferentes em camadas diferentes.

Diagnóstico de seleção PLP:

- Cinco segundos depois do arranque de um carrier, se não tiver sido recebida nenhuma BBFrame para o PLP configurado mas se observarem outros PLPs, é registado um aviso com a lista dos `plp_id` observados.

**t2mi-tsid** (Int, -1..255, valor predefinido -1) — reservado para uso futuro. Seletor do identificador de fluxo T2-MI quando vários fluxos T2-MI partilham um mesmo carrier-PID. Ignorado na versão atual.

### PNR composto — ligação SPTS a partir de T2-MI

Um adaptador pode expor vários multiplex lógicos:

- `carrier-id = 0` — multiplex DVB-S/S2 externo (serviços A/V normais).
- `carrier-id = 1..N` — carriers T2-MI desencapsulados (um por cada ES T2-MI externo).

## Descodificação BISS

É suportada a descodificação de fluxos DVB cifrados com BISS-1 (modo E1) e BISS-E (modo E2). Aplicável aos sistemas de transmissão DVB-S, DVB-S2, DVB-T, DVB-T2.

A implementação permite manter vários descodificadores ativos em simultâneo num mesmo adaptador:

- Por **PNR** no multiplex externo (serviço normal).
- Por `plp_id` para decifrar o carrier-PID T2-MI **antes** do desencapsulamento (necessário para fluxos `multistream` cifrados — caso contrário o desencapsulador descarta cada pacote cifrado, ver contador `<t2mi scrambledDropped>`).
