[Índice da FAQ] [Seção 12 - Questões Específicas de Hardware e Plataforma] [Seção 14 - Configuração dos Discos]
Todos os drivers de áudio suportados já estão incluídos no kernel GENERIC, então não existe a necessidade de uma configuração extra ou a instalação de drivers. Para encontrar opções do seu dispositivo específico de som, você precisa descobrir que chip de som você possui. Os chips suportados podem ser encontrados na página sobre compatibilidade de hardware da sua plataforma. Quando você já tem o OpenBSD funcionando, procure o driver de som na saída do comando dmesg(8), e leia a página de manual referente para encontrar informações mais específicas, como opções e outros detalhes sobre o driver. Um exemplo de chip de áudio na saída do dmesg é:
auich0 at pci0 dev 31 function 5 "Intel 82801BA AC97" rev 0x04: irq 10, ICH2 AC97 ac97: codec id 0x41445360 (Analog Devices AD1885) ac97: codec features headphone, Analog Devices Phat Stereo audio0 at auich0
A base do OpenBSD possui duas ferramentas para a monitoração e configuração de dispositivos de áudio. O audioctl(1) é usado para os parâmetros de processamento de áudio, como a codificação, taxa de amostragem e número de canais; enquanto o mixerctl(1) é usado para a mixagem dos parâmetros, como a fonte do canal, nível de ganho e mute.
O seguinte comando usa o audioctl(1) para mostrar os parâmetros de processamento padrão de um dispositivo de áudio.
Note que -f /dev/audio foi usado explicitamente. Abrir o /dev/audio faz com que o dispositivo de áudio volte aos parâmetros padrão, que é o que queremos ver.$ audioctl -f /dev/audio ...
O audioctl(1) é útil também para explorar as capacidades de um dispositivo de áudio. Por exemplo, para ver se um dispositivo suporta algumas taxas de amostragem comuns, você pode simplesmente tentar definir a taxa de reprodução:
Esse dispositivo suporta taxas de reprodução de 48000 e 44100 Hz, mas não suporta 22050 ou 8000. Note que se uma taxa de amostragem não é suportada, nem sempre existe uma mensagem de erro, mas a taxa de amostragem retornada não é aquela que foi desejada.$ audioctl play.rate=48000 play.rate: -> 48000 $ audioctl play.rate=44100 play.rate: -> 44100 $ audioctl play.rate=22050 audioctl: set failed: Invalid argument $ audioctl play.rate=8000 audioctl: set failed: Invalid argument $
Esse dispositivo suporta somente reprodução de 48000 Hz.$ audioctl play.rate=48000 play.rate: -> 48000 $ audioctl play.rate=44100 play.rate: -> 48000 $ audioctl play.rate=22050 play.rate: -> 48000 $ audioctl play.rate=8000 play.rate: -> 48000 $
Hardware de áudio normalmente é capaz de fazer, no mínimo, alguma mixagem. Executar o mixerctl(1) sem argumentos lista os controles de mixer do dispositivo e as configurações atuais.
Alguns dispositivos possuem poucos controles, outros possuem cem ou mais. Note que nem toda opção, de cada chip de áudio, chega ao lado de fora. Então podem existir, por exemplo, mais saídas listadas do que saídas disponíveis fisicamente em uma placa de áudio ou placa-mãe.$ mixerctl ...
Existem alguns controles que são comuns para muitos dispositivos:
Alguns dispositivos usam o que é conhecido como EAPD, que faz o desligamento ("power down") do amplificador externo. No entanto, esse é apenas outro botão liga/desliga. Ele é provavelmente chamado de "power down" porque é frequentemente usado para economizar energia, o que significa que esse tipo de controle é mais encontrado em laptops. Algumas vezes é necessário definir controles com eapd ou extamp em seus nomes para on, para ter um sinal de saída.
Como um exemplo básico do uso do mixerctl para definir o volume do canal direito e esquerdo para 200, você pode usar
Veja que o valor se tornou 207. A razão disso é que esse dispositivo de áudio tem um codec AC'97, que usa somente 5 bits para o controle do volume, gerando somente 32 valores possíveis. Outro hardware pode ter resolução diferente.$ mixerctl outputs.master=200,200 outputs.master: 255,255 -> 207,207
Para desmutar ("unmute") o canal mestre, você deve usar
$ mixerctl outputs.master.mute=off outputs.master.mute: on -> off
Para fazer com que as mudanças tenham efeito em cada reinicialização, edite o arquivo /etc/mixerctl.conf; por exemplo:
$ cat /etc/mixerctl.conf outputs.master=200,200 outputs.master.mute=off outputs.headphones=160,160 outputs.headphones.mute=off
O OpenBSD vem com o aucat(1), um programa para gravar e executar áudio não-comprimido. O exemplo seguinte executa um arquivo WAV.
aucat(1) com a opção -i suporta tanto arquivos sem cabeçalho quanto áudio WAV. aucat também executa arquivos de áudio Sun, onde os dados de áudio são codificados como 8 kHz monaural mulaw, que é a codificação mais comum para esse tipo de arquivo de áudio.$ aucat -i filename.wav
Também é possível executar dados de áudio não-comprimidos enviando-os diretamente para o dispositivo de áudio. Para fazer isso, você deve saber seus parâmetros principais: tipo de codificação, número de canais, taxa de amostragem, bits por amostra. Se você não sabe isso, você pode achá-los com o utilitário file(1):
$ file music.au music.au: Sun/NeXT audio data: 16-bit linear PCM, stereo, 44100 Hz
As únicas coisas restantes para saber sobre esses arquivos de exemplo é se eles usam ordenação de byte "little endian" e quantização linear assinada. Você pode descobrir isso através da leitura do cabeçalho com o hexdump(1). Se você está usando um arquivo sem cabeçalho (bruto), não existe uma maneira de saber antecipadamente os parâmetros. Configure os seguintes parâmetros usando o audioctl(1).$ file music.wav music.wav: Microsoft RIFF, WAVE audio data, 16 bit, stereo 44100 Hz
Próximo passo, passe o arquivo de áudio para o dispositivo de som:play.encoding=slinear_le play.rate=44100 play.channels=2 play.precision=16
Se você aplicou corretamente as configurações, você deve estar ouvindo o que esperava.$ cat music.au > /dev/sound
Nota: Sempre use /dev/sound, e não /dev/audio, se você quer que as configurações aplicadas com o audioctl permaneçam no lugar.
Existem outros utilitários que você pode usar, como o audio/waveplay, em forma de pacote e no portes. Naturalmente, programas populares como o XMMS também são capazes de reproduzir esses arquivos, e também outros formatos de áudio.
Tirando os comentados acima, existem formatos de áudio que usam compressão de dados sem perda. Exemplos: "Free Lossless Audio Codec" (FLAC) e TTA. A implementação FLAC foi portada para o OpenBSD e pode ser encontrada em audio/flac, em forma de pacote e portes.
Um bom exemplo é o formato livre, aberto e sem patentes, Ogg Vorbis. Para reproduzir arquivos Ogg Vorbis, você pode usar o utilitário ogg123, que é encontrado no pacote audio/vorbis-tools. Por exemplo:
Naturalmente, existem plugins Ogg Vorbis para muitos outros programas de áudio.$ ogg123 music.ogg Audio Device: Sun audio driver output Playing: music.ogg Ogg Vorbis stream: 2 channel, 44100 Hz Time: 00:02.95 [02:21.45] of 02:24.40 (133.1 kbps) Output Buffer 87.5%
Um outro exemplo é a popular codificação "MPEG-1 Audio Layer 3" (MP3), que tem, no entanto, problemas de licenciamento e patente. Muitas ferramentas podem reproduzir arquivos MP3, basta procurar na seção audio do sistema de pacotes e portes, e escolher uma que você gosta.
E quanto ao formato proprietário "Windows Media Audio" (WMA)? Arquivos desse tipo podem ser reproduzidos usando o x11/mplayer, que usa o sistema FFmpeg.
Um bom ponto de partida para aprender mais sobre os diferentes formatos de áudio é este artigo da Wikipédia: Formatos de arquivos de áudio.
$ timidity file.mid
O modo mais fácil de reproduzir arquivos MOD, no OpenBSD, é provavelmente usando o programa XMMS, disponível através dos pacotes e portes. Você deve instalar o subpacote -mikmod do XMMS para fazer ele usar a biblioteca de som MikMod, que suporta os formatos MOD, S3M, IT e o módulo XM.
Você também encontra vários "trackers" na seção audio da coleção de pacotes e portes; por exemplo, tracker, soundtracker. Com esses trackers, você pode reproduzir os arquivos como também gerar seus próprios módulos. Note, no entanto, que nem todos os formatos de tracker são suportados pelas ferramentas na árvore de portes. Você é sempre bem-vindo para submeter um porte do seu programa de tracker predileto.
Para escutar um CD de áudio usando a saída analógica do seu drive de CD-ROM, você pode:
Um utilitário de linha de comando, chamado cdio(1), foi incluído na base do sistema. Executado sem parâmetros, ele entra em modo interativo. Se você quer reproduzir imediatamente o CD, use o comando
$ cdio play
Isso reproduz a partir do primeiro drive de CD-ROM, cd0, por padrão. Note que o usuário executando o cdio deve ter permissões para ler o dispositivo de CD-ROM (por exemplo, /dev/rcd0c). Como esse dispositivo pode ser lido somente pelo root ou pelo grupo operator, por padrão, um modo mais conveniente para a utilização é adicionar o usuário no grupo operator através do ajuste da linha do grupo no /etc/group. Alternativamente, você pode modificar as permissões do dispositivo conforme necessário.
Note que você talvez precise ter que desmutar a entrada de CD no mixer. Igual às saídas, o nome atual dessa entrada pode variar entre os sistemas, mas você usará um comando como este:
Também é possível que não exista uma conexão analógica entre seu drive de CD e o dispositivo de áudio. Nesse caso você pode usar o comando cdplay do cdio para enviar os dados do CD de áudio para a placa de som através do barramento PCI.$ mixerctl inputs.cd.mute=off
$ cdio cdplay
Se você prefere uma bela interface gráfica, existem vários reprodutores de CD, baseados no X11, na coleção de pacotes e portes. Procure na seção audio.
O comando acima inicia a gravação de um arquivo no formato WAV. Pressione [CTRL]-C para terminar a gravação. O arquivo conterá amostras estéreo assinadas de 16 bits, amostradas em 44.1 kHz. Outros formatos de amostragem, taxas de amostragem e número de canais, podem ser gravados. Veja o manual para mais detalhes.$ aucat -o file.wav
Use o aucat para reproduzir o arquivo:
$ aucat -i file.wav
Se a gravação aparentemente funcionar, mas a reprodução da gravação foi silenciosa ou não foi a esperada, o mixer provavelmente precisa de algumas configurações. Tenha certeza que você selecionou o dispositivo correto para gravar e que a fonte está desmutada. Você pode definir os parâmetros necessários usando o mixerctl(1). Por exemplo:
Essas são as configurações para a gravação a partir de um microfone. A pré-amplificação precisa estar ativada, caso contrário o som gravado pode ser um belo silêncio em alguns sistemas. No entanto, a pré-amplificação pode ser um pouco alta em outros sistemas.inputs.mic.mute=off inputs.mic.preamp=on inputs.mic.source=mic0 record.source=mic record.volume=255,255 record.volume.mute=off record.mic=255 record.mic.mute=off
$ aucat -linicia o servidor no dispositivo de áudio padrão (aquele que a ligação simbólica /dev/audio aponta), executando a 44.1kHz e utilizando dois canais (estéreo). Isso significa que aplicativos que utilizam áudio estéreo a 44.1kHz funcionam perfeitamente, ou seja, sem disparar o código de conversão. Se o dispositivo não suporta esses parâmetros, o aucat(1) seleciona automaticamente um outro conjunto de parâmetros.
Se você possui os privilégios necessários, você pode aumentar a prioridade para diminuir a probabilidade de "underruns" ou "overruns" de buffer. Por exemplo:
$ sudo renice -n -20 `pgrep -x aucat`Note que o aucat(1) inicia no modo "full-duplex" por padrão, o que requer que o seu dispositivo suporte o modo "full-duplex". Se ele não suporta, você tem que iniciar o aucat(1) no modo apenas para reprodução ("play-only") ou apenas para gravação ("record-only"). Por exemplo:
$ aucat -l -m play
nice -n -20 su -m meu_nome_de_início_de_sessão -c "aucat" -lO processo aucat(1) não pode ser compartilhado entre múltiplos usuários.
No modo servidor o aucat(1) impõe uma latência mínima em todos os aplicativos de áudio, e a latência padrão é cerca de 250ms. Se você planeja utilizar aplicativos que requerem uma latência mais baixa, utilize a opção ``-b'' para selecionar a latência desejada (expressada como número de quadros). Por exemplo, a 44100 amostras por segundo, 50ms de latência corresponde a:
44100 amostras/segundo x 0,050 segundos = 2205 amostrasentão execute o aucat(1) da seguinte maneira:
$ aucat -b 2205 -l
Se você não escuta nada quando reproduz algum áudio, é possível que exista um controle do mixer em uma regulagem baixa ou está simplesmente mutado. Veja a seção 13.1 - Como eu configuro meu dispositivo de áudio para configurar o mixer. Por favor, desmute todas as entradas e saídas antes de relatar um problema.
Se o som está distorcido, pode ser que sua placa de som suporte somente um conjunto único ou limitado de taxas de amostragem ou codificações. Veja a seção 13.1 - Como eu configuro meu dispositivo de áudio para exemplos sobre a determinação de quais parâmetros o seu dispositivo de áudio suporta.
Se o seu dispositivo suporta somente codificações unusuais, ou somente uma ou poucas taxas de amostragem, e os aplicativos que você utiliza não realizam as conversões de formato necessárias, considere o uso do aucat(1) como um servidor de áudio. Veja a seção 13.5 - Como eu configuro um servidor de áudio?
Se você ainda está enfrentando problemas, estas são algumas coisas para considerar:
Se você acredita que seu dispositivo deve estar funcionando, mas por qualquer que seja a razão não está, então é hora de um pouco de depuração. Os seguintes passos podem determinar se os dados estão sendo processados pelo DAC.
$ cat > /dev/audio < /dev/zero &
[1] 9926
$ audioctl play.{seek,samples,errors}
play.seek=48000
play.samples=3312000
play.errors=0
$ audioctl play.{seek,samples,errors}
play.seek=57600
play.samples=7065600
play.errors=0
$ audioctl play.{seek,samples,errors}
play.seek=48000
play.samples=9379200
play.errors=0
$ kill %1
$ fg %1
cat > /dev/audio < /dev/zero
Terminated
Aqui nós vemos que os dados processados aumentaram o contador
play.samples a cada vez que nós verificamos, então os dados
estão fluindo.
Nós também vemos, através do play.seek, que o dispositivo está
mantendo dados suficientes no buffer, assim o dispositivo não causou
um "underrun" em nenhuma amostra (observando play.errors).
Isso é bom.
Note que mesmo se temos alto-falantes plugados quando executamos o teste acima, você não deve ter ouvido nada. O teste envia zeros para o dispositivo, que é silêncio para todas as codificações padrão suportadas atualmente.
Já que nós sabemos que o dispositivo pode processar dados, é uma boa ideia verificar novamente as configurações do mixer. Tenha certeza de que todas as saídas e entradas estão desmutadas e em um nível razoável.
Se nesse ponto você ainda está tendo problemas, é provavelmente a hora de enviar um relato do problema. Junto com a informação normal de relato de problema, como um dmesg completo e a descrição do problema, inclua também a saída padrão do mixerctl -v e a saída do teste de processamento DAC acima.
Para reproduzir dados MIDI, um sintetizador conectado à porta MIDI da máquina é necessário. Similarmente, para gravar dados MIDI um instrumento MIDI é necessário (por exemplo, um teclado MIDI). Certas placas de som contêm sintetizadores MIDI embutidos, que são conectados como portas MIDI. Instrumentos MIDI avançados podem conter múltiplas subpartes (sintetizadores, controle de superfícies, etc.), e elas aparecem como múltiplas portas MIDI no OpenBSD.
Quando você já tem o OpenBSD funcionando, procure as portas MIDI na saída do comando dmesg(8). Um exemplo de portas MIDI em uma saída do dmesg é:
Ele mostra três portas MIDI, correspondendo a:midi0 at pcppi0: <PC speaker> umidi0 at uhub2 port 2 configuration 1 interface 0 "Roland Roland XV-2020" rev 1.10/1.00 addr 2 midi1 at umidi0: <USB MIDI I/F> umidi1 at uhub1 port 2 configuration 1 interface 1 "Evolution Electronics Ltd. USB Keystation 61es" rev 1.00/1.25 addr 3 midi2 at umidi1: <USB MIDI I/F>
A saída do teclado pode ser conectada à entrada do sintetizador, da seguinte maneira:$ hexdump -e '1/1 "%02x\n"' </dev/rmidi2 90 3c 71 ...
Agora você pode escutar no sintetizador aquilo que você está tocando no teclado MIDI. Informação adicional daquilo que você toca é capturada de /dev/rmidi1 e enviada para /dev/rmidi2 em tempo real. Leia a página de manual midi(4) para mais informações.$ cat -u /dev/rmidi1 >/dev/rmidi2
O utilitário principal para reproduzir arquivos MIDI padrão é o midiplay(1). Reproduzir um arquivo MIDI padrão, nesse exemplo usando o sintetizador, é tão fácil quanto:
Note que nós especificamos o número de dispositivo MIDI 1 (ou seja, /dev/rmidi1) como um parâmetro porque o dispositivo de número 0 é usado por padrão.$ midiplay -d 1 file.mid
Para gravar arquivos MIDI você pode usar o utilitário smfrec do porte audio/midish, por exemplo:
grava o que é tocado no teclado (/dev/rmidi2) enquanto envia em tempo real para o sintetizador (/dev/rmidi1), dessa forma você pode escutar o que você está tocando. Operações mais complicadas como edição, roteamento, mixagem e transformação de dados MIDI, podem ser feitas usando o utilitário rmidish do porte audio/midish.$ smfrec -d /dev/rmidi1 -i /dev/rmidi2 file.mid
Digamos que você possui vários arquivos WAV prontos para serem codificados, que você, por exemplo, extraiu do seu álbum favorito a partir do CD. Para codificar todos esses arquivos, usando uma taxa de bits de aproximadamente 192 kbps, você pode usar um comando igual a este:
Uma vez terminado, isso lhe dá um conjunto de arquivos .ogg no seu diretório atual. Mais exemplos, incluindo opções de codificação, podem ser encontrados na página de manual do oggenc.$ oggenc *.wav -b 192
A seguir, um exemplo simples da codificação de um arquivo WAV com uma taxa de bits de 192 kbps:
Para todas as opções e detalhes, consulte a página de manual que vem junto com o lame.$ lame -b 192 track01.wav track01.mp3
Como a maioria dos computadores com drives de DVD-ROM usam decodificação por software, é recomendado ter no mínimo um Pentium II de 350-MHz, ou uma CPU equivalente, para assistir vídeos com uma boa qualidade.
Alguns reprodutores populares de mídia, que suportam a leitura de DVD, foram portados para o OpenBSD. Exemplos são: ogle, mplayer, xine e kaffeine. Leia as instruções de instalação que vêm junto com esses pacotes, porque essas ferramentas podem necessitar de uma configuração posterior. Com esses utilitários, é possível assistir o DVD através do acesso direto ao dispositivo bruto. Naturalmente, é também possível montar um DVD usando o mount_cd9660(8), e reproduzir os arquivos dele ou qualquer outro sistema de arquivos montado.
Notas:
cd0 at scsibus0 targ 0 lun 0: <TOSHIBA, CD-ROM XM-5702B, 2826> SCSI0 5/cdrom removable cd1 at scsibus1 targ 4 lun 0: <PLEXTOR, CD-R PX-R412C, 1.04> SCSI2 5/cdrom removable
Nos próximos passos, acessaremos o gravador de CD/DVD através do dispositivo de caractere bruto, e não o dispositivo de bloco.# cd /dev # ./MAKEDEV cd2
Tente usá-lo montando um CD/DVD nele. Se desejado, você também pode verificar a taxa de transferência que você está tendo quando copia arquivos para o seu disco rígido. O comando time(1) é um bom assistente nessa parte.cd2 at scsibus2 targ 1 lun 0: <LITE-ON, DVDRW LDW-851S, GS0C> SCSI0 5/cdrom removable
Se alguma coisa está ocorrendo de forma errada e você está recebendo erros durante essa fase, é melhor resolver o problema e não começar a gravar o CD/DVD ainda.
Para um exemplo de uso, digamos que eu queira guardar o código fonte do kernel do OpenBSD em uma imagem ISO 9660:
$ mkhybrid -R -o sys.iso /usr/src/sys Using ALTQ_RMC.000;1 for /usr/src/sys/altq/altq_rmclass_debug.h (altq_rmclass.h) ... Using IEEE8021.00H;1 for /usr/src/sys/net80211/ieee80211_amrr.c (ieee80211.c) 10.89% done, estimate finish Sat Nov 3 08:01:23 2007 21.78% done, estimate finish Sat Nov 3 08:01:28 2007 ... 87.12% done, estimate finish Sat Nov 3 08:01:31 2007 98.01% done, estimate finish Sat Nov 3 08:01:32 2007 Total translation table size: 0 Total rockridge attributes bytes: 896209 Total directory bytes: 2586624 Path table size(bytes): 11886 Max brk space used 0 45919 extents written (89 Mb)
A opção -R diz ao mkhybrid para criar extensões "Rock Ridge" na imagem ISO 9660. O "Rock Ridge Interchange Protocol" foi criado para suportar as semânticas do sistema de arquivos POSIX em sistemas de arquivos ISO 9660, como nomes longos de arquivo, propriedade, permissões, ligações de arquivo, ligações simbólicas, nós de dispositivos, hierarquias profundas de arquivos (mais de 8 níveis de subdiretórios), etc.
Se você quer que os nomes longos de arquivos no seu CD-ROM sejam legíveis no sistema Windows ou DOS, você deve adicionar o sinalizador -J, para também incluir as extensões Joliet na imagem ISO 9660.
Após criar o sistema de arquivos, você pode verificá-lo montando a imagem ISO 9660. Se tudo está correto, você agora está pronto para gravar o CD-R(W). A maneira mais fácil de se fazer isso é usando o utilitário cdio(1).
Se você está usando mídias regraváveis, como um CD-RW, você precisa apagar a mídia antes de gravá-la.
Você agora está pronto para gravar a imagem criada no exemplo acima em um CD-R(W) virgem. Você pode usar um comando similar a este:# cdio -f cd1c blank
Com as opções especificadas acima, estamos dizendo ao cdio para usar o segundo dispositivo de CD-ROM como o gravador de CD.# cdio -f cd1c tao sys.iso
Para verificar se o CD-ROM foi gravado corretamente, você pode montá-lo e verificar se todas as coisas estão lá. Para montar o sistema de arquivos, você deve usar o dispositivo de bloco para o drive CD-ROM, que neste caso ainda é o gravador de CD:
# mount /dev/cd1c /mnt/cdrom
Como um exemplo, vou fazer uma cópia de segurança de um dos meus CDs de música. Isso envolve dois passos:
Esse comando extrai uma série de arquivos WAV do seu drive de CD-ROM para o seu disco.# cdio -f cd1c cdrip
# cdio -f cd1c tao -a *.wav
Notas importantes:
Um formato de dvd diferente é o DVD-RAM, que foi desenvolvido como um drive de dados e tem funções avançadas de gravação de pacotes, permitindo que ele seja usado como uma espécie de disco rígido óptico. DVD-RAM não é recomendado para uso com vídeos, já que os vídeos são gravados nos discos em um formato que não é compatível com reprodutores normais de DVD.
Uma coisa importante é você usar mídias que funcionam no seu gravador de DVD. Se você espera uma compatibilidade com outros reprodutores de DVD, leia esta seção da FAQ DVD.
| Velocidade de leitura/gravação DVD | Taxa de transferência (MB/s) | Velocidade equivalente de leitura/gravação CD-R(W) |
| 1x | 1.32 | 9x |
| 2x | 2.64 | 18x |
| 4x | 5.28 | 36x |
| 8x | 10.57 | 72x |
Como você pode ver na tabela, as taxas de transferência são relativamente altas, e você deve verificar se seu barramento (SCSI, (E)IDE/ATAPI, USB) está com um bom desempenho para suportá-las. Em especial, as antigas interfaces USB 1.0 e 1.1 funcionam em taxas baixas de transferências, com taxas máximas de 1.5 Mbit/s e 12 Mbit/s, respectivamente. Isso significa que o USB 1.0 tem uma saída de 178.8 kByte/s e o USB 1.1 tem uma saída máxima de 1.43 MB/s. O USB 2.0 é muito rápido: 480 Mbit/s ou 57.2 MB/s. Geralmente, as velocidades dos barramentos SCSI e (E)IDE/ATAPI são boas.
Caso você queira procurar mais informações sobre a mídia que está no seu gravador de DVD (por exemplo, se você perdeu o texto de informação da embalagem da mídia ou é apenas desorganizado como eu), você pode usar o utilitário dvd+rw-mediainfo. Existem duas opções para gravar o DVD:
Eu criei uma imagem ISO 9660 pré-masterizada dos módulos CVS do OpenBSD (src, xenocara, ports e www), encontrados no diretório /cvs do meu disco. Eu usei o seguinte comando, que se parece com aquele que eu usei para criar a imagem de CD-ROM.
Se desejado, verifique o sistema de arquivos ISO 9660 montando a imagem. Para gravar essa imagem (cerca de 2 GB) em um disco vazio, use:$ mkhybrid -r -o cvs.iso /cvs
A opção -Z diz ao growisofs para gravar uma seção inicial no dispositivo, que nesse caso é meu gravador de DVD, encontrado em cd2. A opção -dvd-compat fecha o disco, isso significa que nenhuma outra seção pode ser anexada nele. Isso deve fornecer uma melhor compatibilidade com reprodutores de DVD de vídeo e algumas unidades antigas de DVD-ROM.# growisofs -dvd-compat -Z /dev/rcd2c=cvs.iso Executing 'builtin_dd if=cvs.iso of=/dev/rcd2c obs=32k seek=0' /dev/rcd2c: pre-formatting blank DVD+RW... /dev/rcd2c: "Current Write Speed" is 4.1x1385KBps. 23822336/1545832448 ( 1.5%) @3.9x, remaining 5:19 42172416/1545832448 ( 2.7%) @3.9x, remaining 5:20 60522496/1545832448 ( 3.9%) @3.9x, remaining 4:54 ... 1504706560/1545832448 (97.3%) @3.9x, remaining 0:07 1523318784/1545832448 (98.5%) @3.9x, remaining 0:04 1541898240/1545832448 (99.7%) @3.9x, remaining 0:00 /dev/rcd2c: flushing cache /dev/rcd2c: writing lead-out /dev/rcd2c: reloading tray
Note como o growisofs indica a velocidade de gravação, nesse caso a velocidade 3.9x, que é o que pode ser esperado da combinação de mídia e gravador, como indicado pelo dvd+rw-mediainfo.
Se você tem pouco espaço em disco e não pode armazenar uma imagem ISO 9660 para o DVD, você pode gravar os dados diretamente no DVD. Vamos simplesmente fazer uma simulação da criação do sistema de arquivos.
Se funcionar, remova a opção -dry-run e comece a gravar o DVD.# growisofs -dry-run -Z /dev/rcd2c -R /cvs
# growisofs -Z /dev/rcd2c -R /cvs
É também possível anexar dados em um DVD existente, usando a opção -M, que mescla uma nova seção em uma existente:
Para mais informações sobre o growisofs, leia a página de manual.# growisofs -M /dev/rcd2c -R /mydata
Quando você terminar a gravação do DVD, monte-o e veja se tudo que você espera está realmente lá.
que é muito lento. Isso significa que você não está, de alguma forma, conseguindo a saída necessária no barramento que seu gravador de DVD está usando. No exemplo acima, o gravador de DVD USB foi conectado em uma máquina em que o driver ehci(4), usado pelos controladores USB 2.0, não inicializou corretamente. Como sempre, você é bem-vindo para fornecer correções e resultados de testes. O gravador de DVD volta a utilizar a lenta interface USB 1.1, que causa a saída reduzida. O USB 1.1 é limitado à velocidade de 12 Mbit/s, que corresponde à 1.43 MB/s ou 1.08x em termos de velocidade do DVD. O gravador de DVD cai para um ritmo mais baixo que o máximo, para reduzir o risco de "buffer underruns".4784128/1545832448 ( 0.3%) @0.7x, remaining 26:50 7929856/1545832448 ( 0.5%) @0.7x, remaining 29:05 14123008/1545832448 ( 0.9%) @0.7x, remaining 27:06 ...
Uma ferramenta de conversão de som é o audio/sox, disponível através dos pacotes e portes. O sox suporta os formatos AIFF, AU, MP3, Ogg Vorbis, RIFF WAV e bruto ("raw"), como também alguns outros formatos de áudio mais exóticos. A seguir, um exemplo para converter a gravação para o formato RIFF WAV.
Note que os parâmetros especificados correspondem aos parâmetros de gravação especificados antes da gravação. Esse foi somente um exemplo. Outras bibliotecas relacionadas a áudio podem ser usadas para a conversão de áudio.$ sox -U -c 1 -r 8000 -b myvoice.raw myvoice.wav
Nota: A conversão entre diferentes formatos de compressão com perdas não é recomendada. Por exemplo, os codecs MP3 e Vorbis removem diferentes partes das ondas sonoras do áudio original. Então, ao converter um arquivo MP3 para Ogg Vorbis, o resultado final, provavelmente, soará de forma ruim em relação ao MP3 original.
Dois utilitários populares são o multimedia/transcode e o mencoder (parte de x11/mplayer). Eles usam ou podem usar a biblioteca libavcodec, parte do porte graphics/ffmpeg, que gera uma saída de boa qualidade. Você pode, naturalmente, usar o ffmpeg diretamente. Também deve ser possível usar o codificador XviD, encontrado em multimedia/xvidcore.
A documentação que vem com esses pacotes, na forma de páginas de manual ou documentos HTML em /usr/local/share/doc, contém muitos exemplos, então a leitura desses documentos é ALTAMENTE recomendada.
Esta seção não é planejada para ser completa, nem uma resposta excessivamente detalhada para executar todos os formatos de fluxo contínuo de dados em todas as arquiteturas de hardware. Para começar, você talvez queira aprender mais sobre mídia de fluxo contínuo de dados. Um ponto de partida um pouco antigo, mas ainda bom, é este capítulo sobre mídia de fluxo contínuo de dados do livro intitulado "Designing Web Audio", da editora O'Reilly.
A primeira coisa para entender é que existem vários protocolos diferentes de fluxo contínuo de dados. O protocolo de fluxo contínuo de dados define como os fluxos serão enviados pela rede. Eles foram desenvolvidos para permitir uma transmissão eficiente de áudio/vídeo em tempo real através da Internet. Na maioria das vezes, o protocolo de fluxo contínuo de dados é um protocolo a nível de aplicação (Camada 7), que pode usar os protocolos de transporte UDP ou TCP. O procolo de transporte UDP ("User Datagram Protocol", ou Protocolo de Datagrama do Usuário) é muito útil para esse tipo de aplicação, já que ele não faz nenhuma retransmissão de pacotes ou outro tipo de verificação. Vários protocolos, porém proprietários, foram desenvolvidos; por exemplo, o MMS ("Microsoft Media Services", ou Serviços de Mídia da Microsoft) e o RTSP ("Real Time Streaming Protocol", ou Protocolo de Transmissão de Fluxos em Tempo Real). Como nós veremos, o protocolo HTTP (que usa TCP) é usado algumas vezes, apesar dele não permitir servir fluxos em uma velocidade regular como UDP, RTSP e MMS.
Existe um formato de fluxo contínuo de dados, que é como os dados de áudio/vídeo foram organizados e como podem ser reproduzidos. Os formatos de fluxo contínuo de dados mais usados são: MP3, Real Audio (RA, RM) e Windows Media (ASF). Todas estas são tecnologias proprietárias. Ocasionalmente, você também encontrará fluxos no formato aberto Ogg Vorbis.
Como um exemplo, explicarei em alguns passos como eu fiz para escutar a Radio 1, uma das estações nacionais de rádio da Bélgica. Plugins para navegadores não estão disponíveis no OpenBSD, o que significa que a história não se resume em um "clicar e escutar".
Parece que eu posso escolher entre os fluxos de baixa, média ou alta qualidade. Outros sítios Web podem conter algum código JavaScript para gerar a URL. Nesse caso, a melhor dica é: baixe o código HTML e procure onde o script faz referência. Existe uma boa chance de você conseguir reconstruir a URL a partir desses dados.$ ftp http://internetradio.vrt.be/dab/hoeluisteren/pc/help/gebruiksvoorwaarden/stream_11.m3U $ cat stream_11.m3U http://mp3.streampower.be/radio1-mid.mp3 http://mp3.streampower.be/radio1-low.mp3 http://mp3.streampower.be/radio1-high.mp3
$ mplayer http://mp3.streampower.be/radio1-mid.mp3
alias radio1='mplayer http://mp3.streampower.be/radio1-mid.mp3'
No final da instalação, são mostradas instruções sobre o uso do plugin Java no navegador Firefox e no Seamonkey. Crie a ligação simbólica como explicado, e então você deve ver o plugin Java ao digitar "about:plugins" na barra de endereço.
Para o navegador Konqueror do KDE, o binário java precisa estar em seu PATH, ou seu caminho absoluto pode ser configurado no menu Settings -> Configure Konqueror -> Java & JavaScript. Por padrão, o binário java está localizado em /usr/local/jre-versão/bin/ ou /usr/local/jdk-versão/bin/, dependendo do lugar que você instalou o JRE ou o JDK.
Nota: o plugin Java foi testado somente nos navegadores Firefox, Seamonkey e Konqueror. Se ele funciona bem para você em outro navegador, comunique-nos.
Antes de continuar, é uma boa ideia ler sobre a emulação do Linux na página de manual compat_linux(8), e também em FAQ 9 - Como executar binários do Linux no OpenBSD.
Se você entendeu os documentos e ainda não instalou os arquivos necessários, apenas adicione o pacote fedora. Assumindo que sua variável de ambiente PKG_PATH está definida (veja a FAQ 15),
Isso define automaticamente kern.emul.linux=1, mas não permanentemente. Se você precisa que a emulação do Linux seja permanente, você precisa especificar isso no arquivo /etc/sysctl.conf, como explicado em FAQ 9 - Como exeuctar binários do Linux no OpenBSD.# pkg_add -i fedora_base
Uma outra coisa que você deve saber, é que as bibliotecas compartilhadas e os módulos do Linux não podem ser usados com os executáveis do OpenBSD, então você também precisa de um navegador para Linux.
Um candidato é o navegador Opera, disponível na árvore de portes. O OpenBSD não distribui pacotes dele, já que a licença do Opera não é clara a respeito da sua redistribuição. No entanto, a instalação não demora muito, já que ele é distribuído no formato binário pela Opera Software. Depois disso, você pode instalar facilmente o plugin Flash a partir da árvore de portes.
# cd /usr/ports/www/opera # make install # cd /usr/ports/www/opera-flashplugin # make install
Nota: Executar somente os últimos passos deve ser o suficiente: o sistema de portes instala automaticamente as dependências. Para uma maior clareza, entretanto, na explicação nós dividimos o processo em alguns passos.
Se você seguiu o guia, o plugin Flash deve estar listado quando você digita "about:plugins" na barra de endereço.
[Índice da FAQ] [Seção 12 - Questões Específicas de Hardware e Plataforma] [Seção 14 - Configuração dos Discos]