# O Manual do &kmplayer;

## Introdução

O &kmplayer; é uma interface simples para o MPlayer, o Xine, o GStreamer e o FFMpeg. Você poderá usá-lo para ver todos os tipos de formatos de ficheiros que o MPlayer, o Xine ou o GStreamer suportam, assim como ver DVDs, VCD ou TV/vídeo.

A documentação do &kappname; não estava terminada quando o &kde; foi instalado neste computador.

Se necessitar de ajuda, procure na Página do KDE actualizações, ou envie perguntas para A Lista de E-mail dos Utilizadores do &kde;.

A Equipa do &kde;

## A interface do utilizador

A janela da aplicação é composta por janelas acopláveis. Existe sempre a janela central. Uma janela opcional é a janela da lista de reprodução. Finalmente, existe uma janela de informação, que aparece simplesmente quando existe alguma informação para ser apresentada.

### Janela da lista de reprodução

A janela da lista de reprodução tem, na altura em que este documento foi escrito, cinco categorias, sendo os itens actuais, os Discos Ópticos, a Televisão, as Listas Persistentes e o Mais Recente. Quando carregar no texto de uma categoria, o mesmo irá mostrar os conteúdos por baixo desta linha. Obviamente, terão de existir conteúdos; p.ex., veja a configuração da TV para adicionar conteúdos à categoria Television (Televisão). A categoria Mais Recente preencher-se-á à medida que vão sendo tocados ficheiros multimédia locais ou URLs remotos. Esta categoria poderá conter 60 itens, dos quais os últimos 50 se encontram no ramo Mais ...

#### Categoria das Listas Persistentes

É possível gravar as suas referências favoritas no menu Favorito, mas estes são itens únicos. Se quiser criar uma lista de itens que sejam reproduzidos uns atrás dos outros, então deverá usar a categoria de Listas Persistentes.

A forma mais simples de adicionar um item nesta lista é arrastá-la da categoria Mais Recente e largá-la nas Listas Persistentes. Como poderá ver, ao largar os itens, irá aparecer um menu onde poderá escolher entre adicionar a esta lista ou criar um grupo novo. Os itens do nível de topo comportam-se como um item de favorito, mas os itens nos grupos irão tocar o grupo inteiro onde residem. Os itens desta categoria poderão ser movidos, copiados, adicionados a um novo grupo ou removidos facilmente, bastando para tal arrastar este item para outro local nesta categoria. Para além disso, existem os itens Apagar o item, Subir e Descer no menu de contexto (ao carregar com o botão direito do rato num item).

Como é óbvio, poderá adicionar grupos aos grupos, para obter uma hierarquia mais profunda. Quando carregar num item, o seu grupo e todos os grupos-filhos serão copiados para a categoria actual e a reprodução começa na posição do item seleccionado.

##### Formato de armazenamento

Os dados são gravados em `~/.trinity/share/apps/kmplayer/playlist.xml` e o seu formato é semelhante ao exemplo seguinte. Veja aqui como manipular estes dados directamente.

    <playlist>
        <group title="feeds">
            <item url="http://www.lugradio.org/episodes.rss"/>
            <item url="http://science.nasa.gov/podcast.xml"/>
            <item url="http://www.theworld.org/rss/tech.xml"/>
        </group>
        <group title="iradio">
            <group title="sunny">
                <item mplayeropts="-cache 256" url="http://www.swissgroove.ch/listen.m3u"/>
                <item url="http://www.boombasticradio.com/shoutcast/64.pls"/>
            </group>
            <group title="rainy">
                <item url="http://www.radioparadise.com/musiclinks/rp_64.m3u"/>
                <item url="http://www.woxy.com/stream/wma64.asx"/>
                <item url="http://radionigel.com/winmedia.asx"/>
                <item url="rtsp://livestreams.omroep.nl/live/vpro/vpro3voor12radioalt.rm"/>
            </group>
        </group>
    </playlist>

Repare também que as opções personalizadas do MPlayer podem ser definidas com o argumento `mplayeropts`. O &kmplayer; procura por esta opção para cima na árvore, para que a possa definir para um grupo inteiro e substituí-la por um grupo ou item-filho.

### Edição directa do XML

A categoria actual, a Television e a das Listas Persistentes poderão ser também manipuladas, se editar o seu armazenamento em XML. Obviamente, uma pessoa podê-lo-á fazer quando o &kmplayer; não estiver a correr e editar os vários ficheiros em `~/.trinity/share/apps/kmplayer/`, mas também na aplicação em si. Basta carregar no texto de uma categoria, escolher Ver e depois modo de Edição. Poderá também carregar num ramo-filho, vendo apenas o conteúdo em XML desse ramo.

Depois de ter editado algum XML, carregue na opção Sincronizar com a lista e depois desligue o item modo de Edição ou carregue noutra categoria.

Todas as alterações serão perdidas, quando sair do modo de edição, ou seleccionar outro ramo, sem sincronizar com a lista.

Devido à preguiça dos autores do &kmplayer;, algumas funcionalidades só poderão ser activadas se editar o XML.

## Configuração

### Animação no arranque/saída

A desactivação da animação inicial/final poderá ser configurada se editar o ficheiro `~/.trinity/share/config/kmplayerrc` e modificar

    [General Options]
      No Intro=0

a opção anterior para '1'. Basta adicionar a opção se não existir no ficheiro.

Também é possível definir uma animação alternativa. O KMPlayer irá ver, respectivamente, em `~/.trinity/share/apps/kmplayer/intro.xml` e `~/.trinity/share/apps/kmplayer/exit.xml`. O formato terá de ser um ficheiro XML suportado.

A animação inicial não terá de ser reduzida, dado que irá terminar imediatamente, quando for aberto outro ficheiro. Claro que, para a animação final, isso poder-se-á tornar incómodo; contudo, o utilizador poderá terminar a aplicação duas vezes.

Um exemplo simples de uma introdução que mostre a sua fotografia favorito poderá ser

    <smil>
      <body>
        <img dur="indefinite" src="file:///home/ze/namorada.gif" fit="meet"/>
      </body>
    </smil>

No pacote de código do KMPlayer, em `tests/` existem alguns exemplos de ficheiros SMIL que o KMPlayer suporta.

## Os leitores das infra-estruturas

O &kmplayer; usa programas externos para efectuar a reprodução em si.

### MPlayer

Existe uma página de configuração do MPlayer na janela de configuração do &kmplayer;. Aqui, poderá configurar a localização do MPlayer e o tamanho da sua 'cache, para as transmissões pela rede, entre outras coisas.

#### Resolução de problemas

A melhor forma de depurar esta infra-estrutura é iniciar o &kmplayer; a partir de uma aplicação da consola, como o 'konsole'. Depois, inicie um filme com o 'kmplayer' e veja a linha de comandos exacta que é usada para iniciar o 'mplayer' na aplicação da consola. De seguida, copie/cole essa informação para outra consola, remova as opções '-wid 12344' e ponha-o a tocar. Provavelmente, basta apenas escolher os parâmetros '-ao'/'-vo' correctos. Verifique também se o 'mplayer' não inicia por omissão com uma GUI.

Outra ferramenta de depuração é o botão de 'consola' da barra de ferramentas do 'kmplayer'. Aí poderá ver o resultado do 'mplayer'.

### Xine

Quando configurar o &kmplayer; com o suporte para o Xine, irá existir uma página de configuração para o Xine na janela de configuração do &kmplayer;. Aqui poderá definir várias opções. Estas opções são obtidas, de forma dinâmica, da biblioteca do Xine. Use a ajuda de contexto para obter informações sobre o que estas opções fazem (ie., carregue no botão do ponto de interrogação, na barra de título da janela, e carregue depois numa opção).

As opções são gravadas no ficheiro `.kde/share/apps/kmplayer/xine_config`, como um documento de texto.

#### Resolução de problemas

Basicamente, a mesma forma de resolver os problemas do MPlayer, com o nome da aplicação a ser `kxineplayer`.

### GStreamer

Não existe nenhuma página de configuração do GStreamer na janela de configuração do &kmplayer;. As opções comuns são, p.ex., o dispositivo de DVD que é usado, na medida do possível.

#### Resolução de problemas

Basicamente a mesma forma de resolver os problemas do MPlayer, sendo o nome da aplicação `kgstplayer`.

## Fontes que podem ser lidas

O &kmplayer; pode ler a partir de várias fontes. Estas estão listadas no menu Fonte.

### TV

O &kmplayer; poderá ver o conteúdo das placas de TV com o MPlayer ou o XVideo (usando o kxvplayer). Antes de poder ver televisão, terá de configurar o dispositivo a usar e os canais de TV. Poderá usar o sintonizador da janela de configuração para tal ou editar o ficheiro de configuração manualmente.

O ficheiro de configuração da TV é um ficheiro em XML, localizado em `~/.trinity/share/apps/kmplayer/tv.xml`. Veja aqui como manipular directamente estes dados. O formato em XML é mais ou menos como neste exemplo:

    <tvdevices>
        <device path="/dev/video0" width="320" height="240" name="BT878 video (Hauppauge (bt878))" audio=""
                  minwidth="48" minheight="32" maxwidth="924" maxheight="576" playback="0" xvport="240">
            <input name="Television" id="0" tuner="1" norm="PAL" xvenc="0">
                <channel name="Ned1" frequency="216"/>
                <channel name="VCR" frequency="594.90"/>
            </input>
            <input name="Composite1" id="1" xvenc="7"/>
            <input name="S-Video" id="2" xvenc="14"/>
            <input name="Composite3" id="3"/>
        </device>
        <device path="/dev/video1" width="640" height="480" name="Philips 740 webcam" audio=""
                  minwidth="160" minheight="120" maxwidth="640" maxheight="480" playback="1">
            <input name="Webcam" id="0"/>
        </device>
    </tvdevices>

Repare que os elementos input que têm canais, deverão ter o atributo tuner igual a 1.

O XVideo só usa os atributos xvport e xvenc, e eles só poderão ser definidos se editar manualmente este ficheiro. Os valores destes dois atributos poderão ser obtidos se executar o kxvplayer numa aplicação de terminal, como o konsole. Para todos os portos, o kxvplayer irá mostrar linhas como as que aparecem abaixo e os números poderão definidos para os atributos mencionados.

        xvport 240
        ....
        encoding: 0 PAL-television
        encoding: 1 NTSC-television
        encoding: 2 SECAM-television
        ....

Também os atributos 'width' e 'height' são ignorados pelo leitor do XVideo. Este leitor obtém os tamanhos do servidor do X. Uma das coisas boas do XVideo é que o dimensionamento é feito por 'hardware', pela placa de vídeo, como tal o suporte de ecrã completo é feito sem utilizar o CPU e sem a mudança de resolução do seu monitor. Do mesmo modo, também não haverá nenhuma interferência incómoda quando outra janela se sobrepor a esta janela de vídeo.

Veja a secção de VDR para mais informações sobre o uso do XVideo.

### VDR

Para configurar as suas opções de VDR no 'kmplayer', veja o painel Configurar->Fonte->VDR->XVideo. Deverão existir portos detectados, nos quais deverá seleccionar um deles. Terá de descobrir a codificação que deverá usar (p.ex., para a Europa ocidental, este é o PAL) e, provavelmente, o correcto terá um nome com dvb incluído.

Por exemplo, o autor tem uma placa de TV, uma placa de DVB-S e uma webcam ligada ao seu sistema. Graças a elas, a configuração acusa três portos. O primeiro tem uma lista extensa de itens NTSC(-JP)/PAL(-M)/SECAM que dizem algo sobre a televisão/composto/svideo (corresponde à placa de TV). O segundo tem opções referente a NTSC-dvb/PAL-dvb/SECAM-dvb (da placa DVB-S). Finalmente, o terceiro só tem ntsc/pal (talvez a webcam). Como tal, deverá ser configurado (bastando para tal seleccioná-lo) o segundo porto e o segundo item (PAL-dvb).

Dado que o suporte de VDR do 'kmplayer' só poderá usar o XVideo, claro que o XVideo deverá funcionar (no caso dos dispositivos, segundo a opinião do autor, esta forma de visualização só funciona no Linux). Do mesmo modo, também só funciona no seu primeiro ecrã (:0.0). Como tal, deverá certificar-se que a extensão videoforlinux funciona para o servidor do X. Para o servidor XFree86, na sua configuração (em `/etc/X11/XF86Config`), deverá existir

    Section "Module"
         ....
         Load    "v4l"
    EndSection

Infelizmente, sempre que actualizar o seu controlador de vídeo, terá de configurar de novo esta opção.

### Linha de comandos

Internamente, no que respeita às fontes, o KMPlayer usa nomes distintos. Na altura em que este documento foi escrito, são as seguintes: "dvdnavsource", "dvdsource", "exitsource", "hrefsource", "introsource", "pipesource", "tvscanner", "tvsource", "urlsource", "vcdsource" e "vdrsource". Quando estiver activado, o programa irá executar a lista de itens com possibilidade de reprodução.

Poderá activar uma fonte em particular com um URL do tipo `kmplayer://`. Basta definir o nome da máquina como nome da fonte e uma localização opcional como argumento extra, como tal, para um canal da fonte "vdrsource", isto poderá ficar algo do género `kmplayer://vdrsource/22 MTV 2`. P.ex., este programa inicia o 'kmplayer' com o "dvdnavsource" e a usar o DCOP para mostrar em todo o ecrã.

    /bin/bash
    kmplayer kmplayer://dvdnavsource/ &
    PID=$!
    sleep 2
    dcop kmplayer-$PID KMediaPlayer toggleFullScreen

Para algumas fontes, isto não fará muita coisa, porque não se pretende usá-las na reprodução normal. Na "pipesource", esta opção está desactivada, porque poderia ser um grave problema de segurança.

## Perguntas, Respostas e Dicas

## Perguntas mais frequentes

O Xine demora muito a arrancar, porque é que tem que verificar a velocidade do meu processador todas as vezes?

Repare que a resposta abaixo está desactualizada. O kxineplayer grava-a automaticamente com o último valor, como tal, da primeira vez, o 'xine' irá fazer o teste do CPU.

A interface do Xine para o &kmplayer;, o kxineplayer, usa o `~/.trinity/share/apps/kmplayer/xine_config` para a sua configuração. As opções do Xine estão na janela de configuração Opções Gerais|Xine. (Se você mudar aqui uma opção e gravá-la, o `~/.trinity/share/apps/kmplayer/xine_config` irá conter também algumas explicações). A medida de performance do CPU e devida à opção `misc.memcpy_method` configurada para `probe` (detectar). Para ver qual a versão do 'memcpy' que funciona mais rapidamente para si, active a opção Mostrar o Resultado da Consola do menu Ver e veja os resultados desta análise quando tocar algo com o Xine. Configure o `misc.memcpy_method` com o método com menor tempo.

Algumas dicas em como tornar o CDROM menos barulhento quando é utilizado (não com VCD://)?

Claro, tente o comando `hdparm -E 8 /dev/cdrom` como 'root' depois de montar o dispositivo. Mas certifique-se que tem o `/dev/cdrom` a apontar para a sua unidade de CDROM.

## Créditos e Licenças

&kmplayer; copyright 2002,2003 Koos Vriezen

&underFDL; &underGPL;
&documentation.index;