# Arquitectura

O &kdetv; usa uma arquitectura de 'plugins' portável e flexível. Existem vários tipos de 'plugins', p.ex. de saída de vídeo, visualização no ecrã, mesas de mistura e filtros de imagens. Quando iniciar o &kdetv; pela primeira vez, vá à janela de configuração para seleccionar os 'plugin's que necessita para o seu 'hardware'. Mais importante, você deverá saber qual o 'plugin' de vídeo que está a usar para não ficar insatisfeito com a performance do &kdetv;. Leia as secções sobre os 'plugins' de vídeo para mais detalhes.

## Nomes dos Dispositivos Vídeo

Na maioria dos sistemas &linux;, irá notar dois tipos de nomes de dispositivos na lista de dispositivos:

- XVideo: video4linux (porto <um_número>)

  Estes são os dispositivos oferecidos pelo 'plugin' do &xvideo;. Para mais informações sobre as capacidades deste 'plugin' veja no 'plugin' de &xvideo;.

- Video4Linux: <Nome da sua placa de vídeo>

  Estes são os dispositivos oferecidos pelo 'plugin' do &video4linux;. Para mais informações sobre as capacidades deste 'plugin', veja o 'Plugin' do &video4linux;.

- Video4Linux2: <Nome da sua placa de vídeo>

  Estes são os dispositivos oferecidos pelo 'plugin' do &video4linux2;. Para mais informações sobre as capacidades deste 'plugin', veja o 'Plugin' do &video4linux2;.

## 'Plugin' de &xvideo;

Para descobrir se está a usar um dispositivo do 'plugin' do &xvideo;, veja aqui: Nomes dos Dispositivos de Vídeo.

### Como é que funciona?

O 'plugin' usa o Servidor de X para apresentar o vídeo. Ele coopera com um módulo do servidor de X que oferece a reprodução de vídeo (o módulo &v4l;, uma interface de &video4linux; para &xvideo;). A interface oferece uma reprodução de vídeo bastante eficiente em CPU, dado que a imagem de vídeo é copiada directamente da placa de captura para a memória de vídeo. No 'hardware' mais moderno, a placa gráfica irá dimensionar a imagem para o tamanho desejado. Algum 'hardware' até faz o desentrelaçamento da imagem (o autor deste texto usa uma placa gráfica Radeon 9500 com os controladores de &xfree; 'open-source' e esta combinação oferece o desentrelaçamento). Dado que a interface &v4l; funciona do lado do servidor de &xfree;, poderá oferecer a visualização de vídeo sobreposta sem corromper o ecrã, em contraste com o modo de sobreposição do 'plugin' do &video4linux;.

### Quais são as suas características?

- Utilização baixa do CPU.

- Dependendo do 'hardware', uma qualidade muito boa de imagem.

### Que são as características que não tem? Porquê?

- Filtragem de imagens. As imagens são transferidas directamente para a placa gráfica, não há possibilidade de as manipular.

- Capturas de ecrã. Razão: veja em cima.

- Procura em excesso. Razão: veja em cima.

- Selecção do modo de áudio. Esta funcionalidade não é exposta pela interface de &xvideo; do &xfree;.

- Sintonização de canais sem ter o descodificador de VBI a correr. A capacidade de detecção da potência do sinal não é exposta pela interface de &xvideo; do &xfree;.

- Redimensionamento de imagem em 'hardware' muito antigo (&eg;, NVIDIA Riva 128).

- Só pode oferecer o acesso aos controlos de imagem mais importantes, dado que a API do &xvideo; não expõe os outros.

## 'Plugin' de &video4linux;

Para descobrir se está a usar um dispositivo do 'plugin' do &video4linux;, veja aqui: Nomes dos Dispositivos de Vídeo.

Este 'plugin' tem dois modos de operação:

### Sobreposição

Funciona no modo de Sobreposição quando assinalar a opção Usar a sobreposição se possível. Neste modo, a imagem de TV é transferida directamente para a placa gráfica. Dado que a janela de vídeo só pode ser actualizada após ter sido movida ou redimensionada (o &kdetv; é um cliente do &xfree;), irá notar uma visualização inválida e intermitências constantes quando mover ou redimensionar a janela. Isto é necessário para redesenhar as regiões do ecrã que ficaram corrompidas com a sequência de vídeo. Este modo quase não usa nenhuns recursos de CPU mas deverá apenas ser usado em alternativa se mais nada funcionar.

#### Quais são as suas características?

- Utilização baixa do CPU.

- Capturas de ecrã.

- Escolha de modo áudio.

- Procura de canais sem correr um descodificador &vbi;.

#### Que são as características que não tem? Porquê?

- Filtragem de imagens; as imagens são transferidas directamente para a placa gráfica, não há possibilidade de as manipular.

- Procura em excesso. Razão: veja em cima.

- Escalamento de imagem. A maior parte do 'hardware' de TV (processadores bt8x8) não o suporta.

- Só pode oferecer o acesso aos controlos de imagem mais importantes, dado que a API do &v4l1; não expõe os outros.

### Capturar e Mostrar

Este modo fica activo quando a opção Usar a sobreposição se possível não estiver assinalada. A imagem é capturada da placa de TV e guardada num 'buffer' local. Este pode ser manipulado de várias formas (desentrelaçamento, sobreamostragem, outros filtros) e é então mostrado através de vários métodos (ver em baixo). Esta é a forma mais flexível, mas também a mais intensiva em termos de CPU que o &kdetv; oferece.

#### Modos de visualização

##### &xvideo; (com ou sem memória partilhada)

A imagem é enviada para a placa gráfica no formato &yuv422;. Dependendo do controlador, da placa gráfica ou do CPU, a imagem é transferida para RGB com a profundidade de cor e é apresentada. Esta é a forma mais rápida e flexível que o &kdetv; oferece. É altamente recomendado que use este modo, dado que é o único que expõe todas as funcionalidades do &kdetv;. A utilização de memória partilhada poderá acrescentar algum benefício de performance.

##### &opengl;

A imagem é enviada para a placa gráfica no formato RGB como uma textura de um polígono. Se tiver aceleração por 'hardware' no &opengl;, a imagem é dimensionada para o tamanho desejado pela placa gráfica, o que provoca uma utilização de CPU muito baixo. A desvantagem deste modo de visualização é que o modo de &opengl; para ser instável. Para além disso, todos os desentrelaçadores usam o formato de imagem &yuv422;, o que iria causar algumas conversões adicionais que iriam anular o efeito da aceleração por 'hardware'.

##### X11 (com ou sem memória partilhada)

A imagem é apresentada com os mecanismos normais do &xfree;. Isto é MUITO lento e não oferece o redimensionamento da imagem. Use como alternativa se mais nada funcionar. Dado que a imagem de vídeo é capturada no formato RGB, todos os desentrelaçadores bons deixarão de funcionar. A utilização de memória partilhada poderá adicionar algum benefício de performance.

#### Escolha de taxa de imagens

Os 'plugins' oferecem a hipótese de seleccionar entre uma taxa de imagens completa e pela metade. A taxa completa só é útil em conjunto com um dos desentrelaçadores bons do &dscaler;, dado que criam uma imagem nova a partir dos dois campos mais recentes. A taxa de imagens completa oferece um movimento mais suave.

#### Que funcionalidades oferece (assumindo que é usado o modo de visualização do &xvideo;)?

- Melhor qualidade de imagem.

- Filtragem de imagem de forma arbitrária, &eg; desentrelaçamento.

- Capturas de ecrã.

- Sobreamostragem.

- Escolha de modo áudio.

- Procura de canais sem correr um descodificador &vbi;.

#### Que são as características que não tem? Porquê?

- Só pode oferecer o acesso aos controlos de imagem mais importantes, dado que a API do &v4l1; não expõe os outros.

- Poderão existir algumas limitações ao modo de visualização seleccionado; veja acima. Ao usar o modo de &xvideo;, todas as funcionalidades do &kdetv; estão disponíveis.

## 'Plugin' de &video4linux2;

Para descobrir se está a usar um dispositivo do 'plugin' do &video4linux2;, veja aqui: Nomes dos Dispositivos de Vídeo.

Este 'plugin' só suporta um modo de operação: Captura e visualização. A Sobreposição não é suportada devido aos efeitos incómodos de intermitência que são impossíveis de resolver ao efectuar a sobreposição num servidor X.

A imagem é capturada da placa de TV e guardada num 'buffer' local. Este pode ser manipulado de várias formas (desentrelaçamento, sobreamostragem, outros filtros) e é então mostrado no ecrã.

### Modos de visualização

#### &xvideo; (com ou sem memória partilhada)

A imagem é enviada para a placa gráfica no formato &yuv422;. Dependendo do controlador, da placa gráfica ou do CPU, a imagem é transferida para RGB com a profundidade de cor e é apresentada. A utilização de memória partilhada poderá acrescentar algum benefício de performance.

### Escolha de taxa de imagens

Os 'plugins' oferecem a hipótese de seleccionar entre uma taxa de imagens completa e pela metade. A taxa completa só é útil em conjunto com um dos desentrelaçadores bons do &dscaler;, dado que criam uma imagem nova a partir dos dois campos mais recentes. A taxa de imagens completa oferece um movimento mais suave.

### Quais são as suas características?

- Melhor qualidade de imagem.

- Filtragem de imagem de forma arbitrária, &eg; desentrelaçamento.

- Capturas de imagem (quando o 'hardware' suportar a captura RGB).

- Sobreamostragem.

- Escolha de modo áudio.

- Procura de canais sem correr um descodificador &vbi;.

- Oferece o acesso a todos os controlos de 'hardware' de TV que o controlador oferecer.

## 'Plugins' de Mistura

O &kdetv; oferece de momento dois 'plugins' de mistura (&oss; e &alsa;). Estes deverão funcionar em todas as plataformas que o &kdetv; suporta. Leia a FAQ se tiver problemas a ajustar o volume.