[OpenBSD]

[FAQ Index] [Naar Sectie 12 - Hardware- en Platform-Specifieke Vragen] [Naar Sectie 14 - Inrichting van de Schijf]

13 - Multimedia


Inhoudsopgave


13.1 - Hoe configureer ik mijn audio device?

De devices in OpenBSD die betrekking hebben op audio zijn: /dev/audio, /dev/sound, /dev/audioctl en /dev/mixer. Lees voor een goed overzicht van de audio driverlaag alstublieft de audio(4) manual pagina.

Alle ondersteunde audio drivers zijn reeds opgenomen in de GENERIC kernel, dus er is geen extra configuratie of installatie van drivers nodig. Om opties voor uw specifieke geluidschip te weten te komen, moet u achterhalen welke geluidschip u hebt. Ondersteunde chips kunnen teruggevonden worden op de hardware compatibiliteitspagina voor uw platform. Wanneer u reeds OpenBSD draait, zoek dan een geluidsdriver in de uitvoer van het dmesg(8) commando, en lees de manual page ervan om meer specifieke informatie zoals opties en andere details over de driver terug te vinden. Een voorbeeld van een audiochip in een dmesg uitvoer is:

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

OpenBSD base heeft twee tools voor het monitoren en configureren van audio devices. audioctl(1) wordt gebruikt voor de parameters voor het verwerken van audio, zoals codering, bemonsteringsfrequentie en aantal kanalen, terwijl mixerctl(1) wordt gebruikt voor de parameters van de mixer, zoals bronkanaal, versterking en mute.

Het volgende commando gebruikt audioctl(1) om de standaard verwerkingsparameters te tonen van een audio device.

$ audioctl -f /dev/audio
...
Merk op dat -f /dev/audio expliciet werd gebruikt. Door /dev/audio te openen wordt het audio device gereset naar de standaardwaarden, wat we wilden zien.

audioctl(1) is ook erg nuttig om de mogelijkheden van een audio device te onderzoeken. Om bijvoorbeeld te zien of het device enkele veelgebruikte bemonsteringsfrequenties ondersteunt, kunt u simpelweg proberen om de afspeelsnelheid in te stelen:

$ 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
$
Dit device ondersteunt 48000 en 44100 Hz afspeelsnelheden, maar niet 22050 of 8000 Hz. Merk op dat er niet altijd een foutmelding is indien een afspeelsnelheid niet wordt ondersteund, maar de teruggemelde afspeelsnelheid is dan niet de gewenst.
$ 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
$
Dit device ondersteunt alleen afspelen op 48000 Hz.

Audio hardware is normaliter in staat tot op z'n minst enige vorm van mixen. Het draaien van mixerctl(1) zonder argumenten laat de instelmogelijkheden van de zien mixer en de huidige instellingen.

$ mixerctl
...
Sommige devices hebben slechts een handvol instellingen, sommige hebben er meer dan honderd. Merk op dat niet iedere optie van iedere audiochip de buitenwereld bereikt. Er kunnen bijvoorbeeld meer uitvoerkanalen zichtbaar zijn dan er fysiek beschikbaar zijn op een geluidskaart of moederbord.

Er zijn een aantal instellingen die op veel devices voorkomen:

De instellingsmogelijkheden van een audio device kunnen verschillend gemerkt zijn. Er kan bijvoorbeeld geen outputs.master zijn zoals hierboven, maar er is een outputs.outputs die hetzelfde doet. Normaal gesproken hebben de instellingen betekenisvolle labels, maar soms moet men eenvoudigweg verschillende instellingen proberen om te zien welk effect een instelling heeft.

Sommige devices gebruiken een zogenaamde EAPD, wat staat voor uitzetten externe versterker. Dit is echter gewoon nog een aan/uit-schakelaar. Waarschijnlijk wordt de term "uitzetten" gehanteerd omdat het veel gebruikt wordt om energie te besparen, wat betekent dat deze instelling vaker op laptops voorkomt. Soms is het nodig om instellingen met eapd of extamp in hun naam op on te zetten om een uitgangssignaal te verkrijgen.

Als een eenvoudig voorbeeld of veelvoorkomen mixerctl gebruik, zou je het volgende gebruiken om het volume van het linker- en rechterkanaal op 200 te zetten

$ mixerctl outputs.master=200,200
outputs.master: 255,255 -> 207,207
Merk op hoe de waarde 207 wordt. De reden hiervoor is dat dit audio device een AC'97 codec heeft, die slechts 5 bits gebruikt voor volumecontrole, wat leidt tot slechts 32 mogelijke waarden. Andere hardware kan een verschillende resolutie hebben.

Om het masterkanaal te unmuten, zou u het volgende doen

$ mixerctl outputs.master.mute=off
outputs.master.mute: on -> off

Om deze wijziging bij iedere reboot te effectueren, moet u /etc/mixerctl.conf bewerken, bijvoorbeeld:

$ cat /etc/mixerctl.conf
outputs.master=200,200
outputs.master.mute=off
outputs.headphones=160,160
outputs.headphones.mute=off

13.2 - Verschillende soorten audio spelen

Digitale audio

Verliesvrije audioformaten (AU, PCM, WAV, FLAC, TTA)

Sommige verliesvrije audioformaten kunnen gespeeld worden zonder dat er software van derden nodig is, op voorwaarde dat ze de ongecomprimeerde digitale monsters in blokken van bytes bevatten. Deze formaten zijn o.a. Sun audio (AU), raw PCM bestanden (zonder hoofdingen) en RIFF WAV.

Bij OpenBSD zit aucat(1), een programma voor opnemenen afspelen van ongecomprimeerde audio. Het volgende voorbeeld speelt een WAV-bestand.

$ aucat -i filename.wav
aucat(1) ondersteunt zowel hoofdingsloze en WAV audiobestanden met de -i optie. aucat speelt ook Sun audiobestanden als het geluid is gecodeerd als 8 kHz monaural mulaw, wat de meest voorkomende codering is voor dit type audiobestand.

Het is ook mogelijk om ongecomprimeerde audio af te spelen door het rechtstreeks aan het audio device aan te bieden. Om dit te doen moet u zijn hoofdparameters kennen: type van codering, aantal kanalen, bemonsteringssnelheid, bits per monster. Indien u dit niet weet, zou u het kunnen te weten komen met de file(1) utility:

$ file music.au
music.au:  Sun/NeXT audio data: 16-bit linear PCM, stereo, 44100 Hz
$ file music.wav
music.wav: Microsoft RIFF, WAVE audio data, 16 bit, stereo 44100 Hz
De enige overblijvende dingen om te weten over deze voorbeeldbestanden is dat ze little-endian byte-rangschikking en signed lineaire quantisatie gebruiken. U zou dit kunnen te weten komen door de hoofding te lezen met hexdump(1). Als u een bestand zonder hoofding (raw) gebruikt, is het niet mogelijk om op voorhand de parameters te kennen. Stel de volgende parameters overeenkomstig in met audioctl(1).
play.encoding=slinear_le
play.rate=44100
play.channels=2
play.precision=16
Stuur vervolgens het audiobestand naar het sound device:
$ cat music.au > /dev/sound
Als u de juiste instellingen hebt toegepast, zou u moeten horen wat u verwachtte.

Opmerking: Gebruik steeds /dev/sound, niet /dev/audio, als u wil dat de instellingen die u met audioctl deed, van kracht blijven.

Er zijn uiteraard nog andere utilities die u kunt gebruiken om deze bestanden af te spelen. Zoals XMMS, dat beschikbaar is in packages en ports en dat ook vele andere audioformaten kan afspelen.

Los van het bovenstaande, zijn er audioformaten die verliesvrije gegevenscompressie gebruiken. Voorbeelden zijn de Free Lossless Audio Codec (FLAC) en TTA. De FLAC implementatie werd naar OpenBSD geported en kan teruggevonden worden onder audio/flac in packages en ports.

Audioformaten die compressie met verliezen gebruiken (Ogg Vorbis, MP3, WMA, AAC)

Compressiemethoden met verliezen worden vaak gebruikt voor audio of andere mediabestanden. De idee is dat een hoeveelheid gegevens weggegooid wordt tijdens het comprimeren, op zo'n manier dat het gecomprimeerde resultaat nog steeds heel bruikbaar is en voldoende kwaliteit heeft om gespeeld te worden. Het voordeel is dat deze technieken veel hogere compressiefactoren mogelijk maken, wat leidt tot lagere schijfruimte- en bandbreedtevereisten.

Een goed voorbeeld is het vrije, open en ongepatenteerde Ogg Vorbis formaat. Om Ogg Vorbis bestanden te spelen, kan u de ogg123 utility gebruiken, die gebundeld is in de audio/vorbis-tools package. Bijvoorbeeld:

$ 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%
Natuurlijk bestaan er Ogg Vorbis plugins voor veel andere audio software.

Een ander voorbeeld is de heel populaire MPEG-1 Audio Layer 3 (MP3) codering, die echter haar deel licentie- en patentproblemen heeft. Veel tools kunnen MP3 bestanden spelen, kijk eens in de audio sectie van het packages en ports systeem en kies er één uit die u bevalt.

Wat met het propriëtaire Windows Media Audio (WMA) formaat? Bestanden van dit type kunnen gespeeld worden met x11/mplayer die de FFmpeg omkadering gebruikt.

Een goed vertrekpunt om meer te leren over verschillende audio bestandsformaten is dit Wikipedia artikel: Audio file formats.

Gesynthetiseerd geluid

MIDI

Het Musical Instrument Digital Interface (MIDI) protocol wordt afgehandeld door een MIDI devices. Indien u geen MIDI synthesizer heeft maar toch een standaard MIDI file (SMF) wilt afspelen, dan kunt u software gebruiken om MIDI data te renderen, waarmee audiobestanden worden gegenereerd. De audio/timidity port rendert MIDI bestanden en speelt ze af op het audio device:
$ timidity file.mid

MOD

Een Soundtracker module is een binair formaat dat audiomonsters mengt met sequentievolgordes, dit maakt het mogelijk om vrij lange digitale muziekstukken te spelen met redelijk goede kwaliteit.

De gemakkelijkste manier om uw favoriete MOD bestanden te spelen op OpenBSD is waarschijnlijk door de XMMS software te gebruiken, die beschikbaar is via packages en ports. U moet de -mikmod subpackage voor XMMS installeren om het de MikMod geluidsbibliotheek te laten gebruiken, die de MOD, S3M, IT en XM moduleformaten ondersteunt.

U zal ook een aantal zogenaamde "trackers" terugvinden in de audio sectie van de packages en ports verzameling, bv. tracker, soundtracker. Met deze trackers kan u niet alleen modules afspelen maar ook uw eigen modules genereren. Merk echter op dat niet elk trackerformaat ondersteund wordt door de tools in de ports tree. U bent altijd welkom om een port in te dienen van uw favoriete tracker software.

13.3 - Hoe kan ik audio CD's afspelen in OpenBSD?

Het is mogelijk om audio CD's af te spelen door ofwel de CD-speler de schijf te laten afspelen en de analoge audio naar de geluidskaart te laten sturen, ofwel door de audiodata te lezen en digitale samples over de PCI-bus naar de geluidskaart te sturen.

Om een audio CD te spelen met de analoge uitgang van uw CD-ROM speler, kan u

Een fijne commandoregel-utility met de naam cdio(1) werd opgenomen in het base systeem. Aangeroepen zonder parameters zal het in interactieve modus gaan. Indien u de CD meteen wil afspelen, geef dan gewoon dit in:

$ cdio play

Dit zal standaard spelen vanaf de eerste CD-ROM speler, cd0. Merk op dat de gebruiker die cdio uitvoert permissies moet hebben om het CD-ROM apparaat (bv. /dev/rcd0c) te lezen. Aangezien dit apparaat standaard alleen leesbaar is door root of de operator groep, wil u misschien voor het gemak de gebruiker toevoegen aan de operator groep door de lijn voor deze groep aan te passen in /etc/group. Als alternatief kan u de bestandspermissies van het apparaat wijzigen zoals nodig.

Het kan gebeuren dat u de CD invoer van de mixer moet "unmuten" Net als de uitvoer, kan de eigenlijke naam van de invoer verschillen tussen systemen, maar u zal een commando gebruiken dat lijkt op:

$ mixerctl inputs.cd.mute=off
Het is ook mogelijk dat er geen analoge audioverbinding is tussen uw CD-speler en het audio device. In dat geval kunt u cdio's cdplay commando gebruiken om de CD audio data over de PCI-bus naar de geluidskaart te sturen.
$ cdio cdplay

Als u een mooie GUI verkiest, zijn er veel X11-gebaseerde CD spelers in de packages en ports verzameling. Kijk gewoon eens in de audio sectie.

13.4 - Kan ik OpenBSD gebruiken om audiomonsters op te nemen?

Ja. De meeste devices ondersteunen opnemen. aucat (1) wordt met OpenBSD geleverd en kan worden gebruikt om op te nemen.
$ aucat -o file.wav
Het commando hierboven zal het openemen van een bestand in WAV-formaat starten. Druk op [CTRL-C] om het opnemen te beëindigen. Het bestand zal signed 16-bit stereo monsters bevatten, bemonsterd op 48 kHz. Andere formaten, bemonsteringsfrequenties and aantallen kanalen kunnen opgenomen worden Zie de manual pagina voor meer details.

Gebruik aucat om het bestand terug te spelen:

$ aucat -i file.wav

Als het opnemen leek te zijn gelukt, maar het was stil bij het afspelen of niet het verwachtte, dan behoeft de mixer enige configuratie. Zorg ervoor dat u het juiste device selecteert om van op te nemen en dat de bron geünmuted is. U kan de nodige parameters instellen met mixerctl(1). Bijvoorbeeld:

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
Dit zijn de instellingen om op te nemen vanaf een microfoon. Voorversterking is ingeschakeld, anders kan het opgenomen geluid op sommige systemen erg zacht zijn. Op andere systemen kan voorversterking juist erg luid zijn.

13.5 - Hoe zet ik een audioserver op?

Wat is de sndiod(1) audioserver?

De sndiod(1) daemon is een tussenlaag tussen de audio of MIDI programma's en de hardware. Het verricht de noodzakelijke geluidsbewerkingen om alle programma's te kunnen laten werken op alle ondersteunde hardware. Het stelt ten minste één sub-device ter beschikking waarop ieder aantal audioprogramma's kan aansluiten om het te gebruiken als audiohardware. Tijdens afspelen ontvangt sndiod tegelijkertijd audiogegevens van alle programma's, mixt deze en zendt het resultaat naar de audiohardware. Op een vergelijkbare manier dupliceert het bij opname de opgenomen gegevens en stuurt deze naar alle programma's.

Het accepteert standaard alleen connecties van programma's die op hetzelfde systeem draaien. Het initialiseert alleen als er programma's zijn die zijn diensten gebruiken en verbruikt dus een verwaarloosbare hoeveelheid systeembronnen. Systemen zonder audiohardware kunnen sndiod gebruiken om hot-plug apparaten te kunnen gebruiken, vrijwel zonder kosten.

Heb ik een audioserver nodig?

Als uw applicaties compatibel zijn met uw hardware en u niet van plan bent om meerdere applicaties tegelijk te gebuiken, dan heeft u strikt genomen geen audioserver nodig. Sinds OpenBSD 5.1 wordt sndiod(1) standaard gestart bij het booten. Er is niet meer reden om sndiod uit te schakelen op een systeem zonder audiohardware dan er reden is om getty(8) uit te zetten op een systeem zonder toetsenbord en beeldscherm.

Merk op dat sndiod kan worden omzeild door rsnd/0 als audiodevice te gebruiken in plaats van het standaard device.

Welke latency heb ik nodig?

Latency is de tijd tussen het moment dat een programma de beslissing neemt om een fragment af te spelen en het moment dat de gebruiker het fragment hoort. Omdat audio data altijd wordt gebufferd, is deze vertraging proportioneel met de grootte van de audiobuffer. De volgende waarden worden aangeraden: Hoe kleiner de audiobuffer (om lage latency te bereiken), hoe groter de kans op vollopen/leeglopen van de buffer. Het vollopen/leeglopen resulteert in ``stotteren'' van het geluid.

sndiod(1) legt een minimum latency op aan alle audioapplicaties en de standaard latency is 160 ms. Indien u applicaties wilt gebruiken die een lagere latency vereisen, gebruik dan de ``-b'' optie om de gewenste latency te kiezen (uitgedrukt in aantal frames). Bij bijvoorbeeld 48000 samples/seconde komt 50 ms latency overeen met:

48000 samples/seconde x 0.050 seconde = 2400 samples
dus voeg:
sndiod_flags="-b2400"
toe aan /etc/rc.conf.local.

Verbetert lage latency de synchronisatie tussen audio en video?

Nee. Lage latency is geen vereiste voor synchronisatie tussen audio en video. Problemen met synchronisatie worden vaak veroorzaakt door de software zelf (slechte implentatie, bugs, ...). De applicatie dwingen om kleinere buffers te gebruiken (door sndiod(1) te starten met lage latency) kan in sommige gevallen het echte probleem verbergen en het gevoel geven dat de software beter functioneerd, maar het is uiteraard beter om te zoeken naar de corresponderende bug.

Hoe kan ik een geluidskaart op afstand gebruiken?

sndiod(1) kan worden ingesteld om connecties via het netwerk te accepteren, zodat andere machines ook de geluidskaart kunnen gebruiken. Voeg op het andere systeem (met de geluidskaart) het volgende toe:
sndiod_flags="-L-"
aan /etc/rc.conf.local. Op het lokale systeem stelt u uw programma in om
snd@hostname/0
te gebruiken, waarbij ``hostname'' het adres is van het andere systeem. De omgevingsvariabele AUDIODEVICE kan op bovenstaande waarde worden ingesteld om de andere geluidskaart het standaard audiodevice te laten zijn.

Merk op dat ieder systeem dat naar TCP-poort 11025 van het andere systeem kan verbinden, het audiodevice kan gebruiken. Om privacyredenen kan slechts één gebruiker op één systeem tegelijk een verbinding maken. Indien meerdere systemen het audiodevice gelijktijdig moeten kunnen gebruiken, dan moet het sndio(7) authorization cookie identiek zijn. Kopieer bijvoorbeeld uw ~/.aucat_cookie naar alle accounts die het audiodevice willen gebruiken.

Om haperingen te voorkomen kan TCP verkeer op poort 11025 prioriteit krijgen met het packet filter. In de standaard configuratie gebruikt sndiod ongeveer 200 kB/s aan netwerkbandbreedte.

13.6 - Wat kan ik doen als ik problemen heb met audio?

Als u niets hoort bij het afspelen van audio, dan is er mogelijk een mixerinstelling te laag ingesteld of simpelweg gemuted. Zie paragraaf 13.1 - Hoe configureer ik mijn audio device? voor het instellen van de mixer. Unmute alstublieft alle inputs en outputs voordat u een probleem meldt.

Als het geluid vervormd is, dan ondersteunt uw geluidskaart wellicht slechts een enkele of een beperkt aantal bemonsteringsfrequenties of coderingen. Zie paragraaf 13.1 - Hoe configureer ik mijn audio device? voor voorbeelden om te bepalen welke parameters door uw audio device worden ondersteund.

Als uw device alleen ongebruikelijke coderingen ondersteunt of slechts één of enkele bemonsteringsfrequenties en de applicaties die u gebruikt kunnen de nodige conversie van het formaat niet uitvoeren, overweeg dan om aucat(1) te gebruiken als audioserver. Zie paragraaf 13.5 - Hoe zet ik een audioserver op?

Indien u nog steeds problemen heeft, dan zijn wat andere dingen om te overwegen:

Als u denkt dat uw device zou moeten werken, maar om de één of andere reden toch niet werk, dan wordt het tijd voor wat debugging. De volgende stappen kunnen bepalen of er data wordt verwerkt door de 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
Hier zien we dat de teller van verwerkte data play.samples verhoogd wordt, iedere keer als we kijken, dus er stroomt data. We zien ook dat het device genoeg data gebufferd houdt play.seek en dat er geen monsters tekort (underrun) zijn geweest play.errors. Dat is ook goed.

Merk op dat ook al zouden er luidsprekers zijn aangesloten bij bovenstaande test, u niets zou hebben gehoord. De test stuurt nullen naar het device, wat overeenkomt met stilte voor alle momenteel ondersteunde standaard coderingen.

Nu we weten dat het device data kan verwerken, is het een goed idee om de instellingen van de mixer opnieuw te controleren. Zorg ervoor dat alle outputs en inputs geünmute zijn en op een redelijk niveau staan.

Als u op dit punt nog steeds problemen heeft, dan wordt het waarschijnlijk tijd om een probleemmelding in te dienen. Sluit behalve de gebruikelijke informatie in een probleemmelding, zoals een volledige dmesg en een beschrijving van het probleem, ook de standaard uitvoer van mixerctl -v bij en het resultaat van de hierboven genoemde test voor de verwerking van de DAC.

13.7 - Hoe kan ik mijn MIDI instrumenten gebruiken?

Het Musical Instrument Digital Interface (MIDI) protocol biedt een gestandaardiseerde en efficiënte manier om muzikale uitvoeringsinformatie als elektronische gegevens voor te stellen. Een MIDI bestand bevat alleen instructies voor een synthesizer om de geluiden af te spelen en niet de geluiden zelf. Meer informatie: Tutorial on MIDI and Music Synthesis.

Om MIDI af te spelen is een synthesizer nodig die verbonden is met een MIDI poort op de machine. Om MIDI op te nemen is een MIDI instrument nodig (bv. een MIDI keyboard). Bepaalde geluidskaarten bevatten ingebouwde MIDI synthesizers die zich binden als MIDI poorten. Geavanceerde MIDI instrumenten kunnen meerdere onderdelen bevatten (synthesizers, keyboards, bedieningsoppervlakken, etc...), die op OpenBSD verschijnen als meerdere MIDI poorten.

Als u OpenBSD al draaiend heeft, kijk dan voor MIDI poorten in de uitvoer van het dmesg(8) commando. Een voorbeeld van MIDI poorten in een dmesg uitvoer is:

umidi0 at uhub2 port 2 configuration 1 interface 0 "Roland Roland XV-2020" rev 1.10/1.00 addr 2
midi0 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
midi1 at umidi1: <USB MIDI I/F>
Er zijn drie MIDI poorten zichtbaar, overeenkomend met: Deze devices zijn voor sndio(7) bekend als rmidi/0 and rmidi/1. Om uw MIDI keyboard te testen kunt u de hexdump(1) utility gebruiken om MIDI data weer te geven die u erop speelt:
$ aucat -Mq rmidi/1 -o - | hexdump -e '1/1 "%02x\n"'
90
3c
71
...
De uitvoer van het keyboard kan worden verbinden met de invoer van een synthesizer, en wel als volgt:
$ aucat -M -q rmidi/0 -q rmidi/1
Nu kunt u op de synthesizer horen wat u speelt op het MIDI keyboard. Bekijk de aucat(1) manual pagina voor meer informatie.

De hoofdutility om standaard MIDI bestanden af te spelen is midiplay(1). Het afspelen van een standaard MIDI bestand, in dit voorbeeld via een synthesizer, is zo eenvoudig als:

$ midiplay -f rmidi/0 file.mid

Om MIDI bestanden op te nemen kunt u de smfrec utility gebruiken die gebundeld is in de audio/midish port, bijvoorbeeld:

$ smfrec -d rmidi/0 -i rmidi/1 file.mid
neemt op wat op het keyboard gespeeld wordt (rmidi/1) terwijl het in real-time wordt doorgestuurd naar de synthesizer (rmidi/0) zodat u hoort wat u speelt. Ingewikkelder handelingen zoals bewerken, routeren, mixen en vervormen van MIDI data, kunnen worden gedaan met de rmidish utility die gebundeld is in de audio/midish port.

13.8 - Vertel me eens over Ogg Vorbis en MP3 codering?

Deze formaten werden reeds vermeld in Verschillende soorten audio spelen. In deze sectie zullen we een korte inleiding geven over het coderen van zulke bestanden. Als u geïnteresseerd bent te leren hoe deze audiocompressie-codecs werken, kan verder leesvoer gevonden worden via deze Wikipedia artikels over Vorbis en MP3.

Ogg Vorbis

Het coderen van raw, WAV of AIFF formaat audio naar Ogg Vorbis kan gedaan worden met de oggenc utility, opgenomen in de audio/vorbis-tools package, die beschikbaar is via OpenBSD's packages en ports systeem.

Stel dat u een aantal WAV bestanden klaar hebt om te coderen, bijvoorbeeld uw favoriete album dat u net van zijn CD haalde. Om al deze bestanden te coderen met een benaderende bitsnelheid van 192 kbps, zou u een commando als dit kunnen ingeven:

$ oggenc *.wav -b 192
Wanneer dit klaar is, zal dit u een stel .ogg bestanden geven in de huidige directory. Meer uitgebreide voorbeelden en coderingsopties kunnen teruggevonden worden in de oggenc manual pagina.

MPEG-1 Audio Layer 3 (MP3)

Als u om één of andere reden het MP3 formaat wil gebruiken, kunt u "Lame ain't an MP3 encoder" (LAME) gebruiken, een onderwijs-tool om te gebruiken om over MP3 codering te leren. Lame zit in de OpenBSD ports tree. Merk op dat wegens MP3 patenten, u deze package niet zal terugvinden op de officiële CD sets.

Hieronder staat een eenvoudig voorbeeld van het coderen van een WAV bestand met een bit rate van 192 kbps:

$ lame -b 192 track01.wav track01.mp3
Raadpleeg voor alle opties en details alstublieft de manual pagina die bij lame zit.

13.9 - Hoe kan ik video DVD's afspelen in OpenBSD?

OpenBSD ondersteunt DVD media via het ISO 9660 bestandssysteem dat ook op CD-ROMs gebruikt wordt, en, sinds OpenBSD 3.8, ook via het nieuwere Universal Disk Format (UDF) bestandssysteem dat men op sommige DVD's aantreft. Bijna alle DVD-Video en DVD-ROM schijfjes gebruiken echter het UDF bridge formaat, dat een combinatie is van de DVD MicroUDF (subset van UDF 1.02) en ISO 9660 bestandssystemen. Het wordt gebruikt omwille van achterwaartse compatibiliteit.

Aangezien de meeste computers met DVD-ROM spelers softwaredecodering gebruiken, is het aanbevolen om ten minste een 350-MHz Pentium II of gelijkwaardige CPU te hebben om een goede kwaliteit bij het afspelen te verkrijgen.

Enkele populaire mediaspelers, die ook het afspelen van DVD's ondersteunen, werden naar OpenBSD geported. Voorbeelden zijn ogle, mplayer, xine en kaffeine. Lees alstublieft de installatie-instructies die bij deze packages zitten, omdat deze tools bijkomende instellingen kunnen nodig hebben. Met deze utilities is het mogelijk om de DVD af te spelen door rechtstreeks het raw device te benaderen. Natuurlijk is het ook mogelijk om een DVD eerst te mounten met mount_cd9660(8), en de bestanden op dit of gelijk welk ander gemount bestandssysteem te spelen.

Opmerkingen:

13.10 - Hoe brand ik CD's en DVD's?

13.10.1 - Inleiding en basisinstellingen

U moet er eerst voor zorgen dat uw CD/DVD-schrijver door de kernel herkend en geconfigureerd werd. De meeste SCSI devices worden ondersteund. SATA, IDE/ATAPI en USB devices worden ondersteund via SCSI emulatie. U zal snel uw device terugvinden in een dmesg(8) uitvoer. Zoek gewoon lijnen die beginnen met "cd", bijvoorbeeld
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

Maar cdrecord -scanbus werkt niet!

Ja. OpenBSD gebruikt een verschillende device naamruimte dan het BS waarvoor de cdrecord utility werd geschreven. Alle geconfigureerde devices zouden in de dmesg uitvoer moeten staan, zoals hierboven vermeld. De informatie die u nodig hebt staat daar.

Fout: mount_cd9660: /dev/cd2c on /mnt/cdrom: No such file or directory

Standaard maakt het OpenBSD installatieprogramma slechts twee cd device nodes, cd0 en cd1. Om uw cd2 device beginnen te gebruiken, moet u de nodige device nodes ervoor aanmaken. De aanbevolen manier om dat te doen is met het MAKEDEV(8) (selecteer uw specifiek platform) script:
# cd /dev
# ./MAKEDEV cd2
In wat volgt, zullen we de CD/DVD-schrijver meestal benaderen via het raw karakter-device, niet het blok-device.

Werking van de CD/DVD-schrijver controleren

Het is aanbevolen om te controleren of uw CD/DVD-schrijver juist werkt. In dit voorbeeld zal ik deze USB 2.0 DVD schrijver gebruiken:
cd2 at scsibus2 targ 1 lun 0: <LITE-ON, DVDRW LDW-851S, GS0C> SCSI0 5/cdrom removable
Probeer hem te gebruiken door er een bestaande CD/DVD in te mounten. Indien gewenst, zou u ook de overdrachtsnelheid kunnen nagaan die u krijgt wanneer u bestanden naar uw harde schijf kopieert. Het time(1) commando zal uw gewillige assistent zijn.

Als er hier iets verkeerd gaat en u krijgt fouten tijdens deze fase, dan is het slim om het probleem op te lossen en nog niet te beginnen met een CD/DVD te schrijven.

Ik wil hier een CD schrijven! Kunnen we een beetje voortmaken?

Alvorens verder te gaan, is het een goed idee om enkele woorden van goede raad in het achterhoofd te houden:

13.10.2 - CD's schrijven

Gegevens CD-ROMs aanmaken

Eerst zal u een ISO 9660 bestandssysteem willen aanmaken om op een CD-ROM te zetten. Om dit te doen kan u de mkhybrid(8) utility in het basissysteem gebruiken, ofwel de mkisofs utility die bij de cdrtools package zit en die beter werkt met grote file trees. In de voorbeelden hieronder zullen we mkhybrid gebruiken, hoewel het gebruik van mkisofs heel gelijkaardig is.

Stel als voorbeeldgebruik dat ik de OpenBSD kernel broncode in een ISO 9660 image wil opslaan:

$ 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)

De -R optie zegt mkhybrid om Rock Ridge extensies aan te maken in de ISO 9660 image. Het Rock Ridge Interchange Protocol werd gemaakt om POSIX bestandssysteem semantiek te ondersteunen in ISO 9660 bestandssystemen, zoals langere bestandsnamen, eigendom, permissies, bestandslinks, soft links, device nodes, diepe bestandshiërarchieën (meer dan 8 niveaus van subdirectories), enz.

Als u wil dat de lange bestandsnamen op uw CD-ROM leesbaar zijn op Windows of DOS systemen, moet u de -J vlag toevoegen om Joliet extensies op te nemen in de ISO 9660 image.

Na het bestandssysteem aan te maken, kan u het verifiëren door de ISO 9660 image te mounten. Als alles goed gaat, bent u nu klaar om de CD-R(W) te branden. De gemakkelijkste manier om dit te doen is met de cdio(1) utility.

Als u multi-write media zoals CD-RW gebruikt, moet u het medium blanco maken alvorens het te branden.

# cdio -f cd1c blank
U bent nu klaar om de image aangemaakt in het bovenstaande voorbeeld op een lege CD-R(W) te branden. U zou een commando kunnen gebruiken gelijkaardig aan:
# cdio -f cd1c tao sys.iso
Met de opties hierboven gespecificeerd, vragen we cdio om het tweede CD-ROM apparaat als CD-schrijver te gebruiken.

Om te verifiëren of de CD-ROM juist geschreven werd, kan u hem mounten en nagaan of alles er op staat. Om het bestandssysteem te mounten, moet u het block device gebruiken voor de CD-ROM lezer, die in dit geval nog steeds de CD-schrijver is:

# mount /dev/cd1c /mnt/cdrom

Audio CD's aanmaken

Om audio CD's te branden, kan u opnieuw cdio(1) gebruiken met de tao -a optie.

Als voorbeeld zal ik een veiligheidskopie maken van één van mijn muziek-CD's. Dit omvat twee stappen:

  1. Haal de audio tracks van de originele CD. Bijvoorbeeld:
    # cdio -f cd1c cdrip
    
    Dit commando zal een reeks WAV bestanden uitpakken vanaf uw tweede CD-ROM speler naar uw schijf.
  2. Schrijf de audio tracks naar een lege CD. Bijvoorbeeld:
    # cdio -f cd1c tao -a *.wav
    

13.10.3 - DVD's schrijven

Er zijn een aantal belangrijke dingen over DVD die u zou moeten weten alvorens verder te gaan met het schrijven van uw eigen DVD's.

Belangrijke opmerkingen:

Verschillende DVD formaten

Er zijn een aantal verschillende DVD formaten. Vaak gebruikt zijn de DVD-R, DVD-RW, en DVD+RW formaten (R betekent éénmalig beschrijfbaar, RW betekent dat het enkele duizenden keren kan overschreven worden). Dit zijn eigenlijk nogal concurrerende standaarden.

Een behoorlijk verschillend formaat is DVD-RAM, dat hoofdzakelijk ontwikkeld werd als een gegevensschijf en geavanceerde pakketschrijffuncties heeft, wat toelaat dat het als een soort optische harde schijf gebruikt wordt. DVD-RAM is niet aanbevolen voor videogebruik aangezien video op de schijfjes geschreven wordt in een formaat dat niet compatibel is met normale DVD spelers.

Het belangrijkste is dat u media gebruikt die passen bij uw DVD schrijver. Als u compatibiliteit met andere DVD spelers verwacht, pas dan op uw stappen en lees zeker deze sectie van de DVD FAQ.

DVD schrijfsnelheid

Het kan nuttig zijn om toe te lichten dat DVD snelheidsindicaties verschillen van CD-ROM snelheidsindicaties. De volgende tabel geeft een overzicht:

DVD lees/schrijfsnelheid Overdrachtsnelheid (MB/s) Equivalente CD-R(W) lees/schrijfsnelheid
1x 1.32 9x
2x 2.64 18x
4x 5.28 36x
8x 10.57 72x

Zoals gezien kan worden in de tabel, zijn de overdrachtssnelheden relatief hoog, en moet u nagaan of uw bus (SCSI, IDE/ATAPI, SATA, USB) voldoende performant is om deze doorvoer aan te kunnen. Vooral de oudere USB 1.0 en 1.1 interfaces werken aan tragere overdrachtssnelheden, met maximale snelheden van respectievelijk 1.5 Mbit/s en 12 Mbit/s. Dat betekent dat USB 1.0 een maximale doorvoer van 178.8 kByte/s heeft en USB 1.1 een maximale doorvoer heeft van 1.43 MB/s. USB 2.0 is veel sneller: 480 Mbit/s of 57.2 MB/s. In het algemeen zou de snelheid van SCSI, SATA en IDE/ATAPI bussen moeten volstaan.

De DVD schrijven

Het proces is heel gelijkaardig aan het schrijven van CD-R(W)'s. De gebruikte software is echter verschillend. Op dit ogenblik is de beste optie growisofs uit de sysutils/dvd+rw-tools package. Deze utility schrijft een ISO 9660 image op het DVD medium. Alle recordable DVD formaten worden ondersteund door de dvd+rw-tools.

In het geval u meer wil te weten komen over het medium in uw DVD schrijver (bijvoorbeeld als u het info label in de jewel case kwijt bent of gewoon ongeorganiseerd bent zoals ik), kan u de dvd+rw-mediainfo utility gebruiken. Er zijn twee mogelijkheden om de DVD te schrijven:

Ik maakte een pre-mastered ISO 9660 image vanuit de OpenBSD CVS modules (src, xenocara, ports en www) die in de /cvs directory op mijn schijf staan. Ik gebruikte het volgende commando, dat er heel gelijkaardig uitziet aan datgene dat ik gebruikte om de CD-ROM image hierboven te maken.

$ mkhybrid -r -o cvs.iso /cvs
Controleer indien gewenst het ISO 9660 bestandssysteem door de image te mounten. Om deze image (ongeveer 2 GB) naar een lege DVD schijf te schrijven, kan men het volgende gebruiken:
# 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
De -Z optie zegt growisofs om een initiële sessie op het device te branden, dat in dit geval mijn DVD schrijver is, gekoppeld aan cd2. De -dvd-compat optie sluit de schijf, wat betekent dat er geen sessies meer aan kunnen toegevoegd worden. Dit zou betere compatibiliteit moeten bieden met video DVD spelers en sommige oudere DVD-ROM spelers.

Merk op hoe growisofs de schrijfsnelheid aangeeft, in dit geval 3.9x DVD snelheid, dat is wat verwacht kon worden van de medium en schrijver combinatie, zoals aangegeven door dvd+rw-mediainfo.

Als u weinig schijfruimte hebt en geen ISO 9660 image voor een DVD kan bewaren, dan kan u de gegevens rechtstreeks op de DVD schrijven. Laten we eerst een test doen, die het aanmaken van het bestandssysteem simuleert.

# growisofs -dry-run -Z /dev/rcd2c -R /cvs
Als dit lukt, laat dan gewoon de -dry-run optie er uit en begin de DVD te branden.
# growisofs -Z /dev/rcd2c -R /cvs

Het is ook mogelijk om gegevens toe te voegen aan een bestaande DVD door de -M optie te gebruiken, die een nieuwe sessie samensmelt met een bestaande:

# growisofs -M /dev/rcd2c -R /mydata
Raadpleeg voor meer informatie over growisofs de manual pagina.

Wanneer u het schrijven van de DVD beëindigd hebt, mount hem dan en kijk of alles wat u verwachtte dat er zou op staan, er inderdaad op staat.

Waarom krijg ik niet de schrijfsnelheid die ik verwachtte?

In plaats van de bovenstaande schrijfuitvoer, kan u iets als dit zien:
   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
...
wat veel trager is. Dit betekent dat u op één of andere manier niet voldoende doorvoer krijgt op de bus die uw DVD schrijver gebruikt. In het bovenstaande voorbeeld was de USB DVD writer gekoppeld aan een machine waarop de ehci(4) driver, gebruikt door USB 2.0 controllers, niet juist geïnitialiseerd werd. Zoals steeds bent u welkom om patches en testresultaten aan te bieden. De DVD schrijver viel terug op de tragere USB 1.1 interface, wat zorgt voor verlaagde doorvoer. Inderdaad, USB 1.1 is beperkt tot 12 Mbit/s, wat neerkomt op 1.43 MB/s of 1.08x in termen van DVD-snelheid. De DVD schrijver valt terug tot een lagere snelheid om het risico op buffer underruns te verlagen.

13.11 - Maar ik wil mijn mediabestanden in het formaat FOO.

Omzetting tussen verschillende audioformaten

Stel dat we de geluidsopname uit FAQ 13 - Audio Opname willen verwerken. Deze opname werd opgeslagen in het ruwe formaat. Het zal nuttig zijn om ze om te zetten omdat het ruwe formaat geen hoofdingen bevat en de opnameparameters bij elk gebruik van het bestand opnieuw zullen moeten gespecificeerd worden.

Eén geluidomzettingstool is audio/sox, beschikbaar via packages en ports. sox ondersteunt AIFF, AU, MP3, Ogg Vorbis, RIFF WAV en ruwe formaten, maar ook enkele van de meer exotische audioformaten. Hieronder volgt een voorbeeld om de opname naar RIFF WAV formaat om te zetten.

$ sox -U -c 1 -r 8000 -b myvoice.raw myvoice.wav
Merk op dat de gespecificeerde parameters overeenstemmen met de opnameparameters gespecificeerd vóór de opname. Dit was slechts een voorbeeld. Er kunnen nog meer audio-gerelateerde libraries en software gebruikt worden voor audio-omzetting.

Opmerking: Het is niet aangeraden om te zetten tussen verschillende compressieformaten met verliezen. De MP3 en Vorbis codecs gooien bijvoorbeeld verschillende delen weg van een oorspronkelijke audio golfvorm. Daarom zal bij de omzetting van een MP3 bestand naar Ogg Vorbis het eindresultaat waarschijnlijk slechter klinken dan de oorspronkelijke MP3.

Omzetting tussen verschillende videoformaten

Het is belangrijk een duidelijk onderscheid te maken tussen In OpenBSD is de ondersteuning voor MPEG en AVI containers het meest volwassen op dit moment.

Twee populaire utilities zijn multimedia/transcode en mencoder (onderdeel van x11/mplayer). Ze gebruiken de libavcodec library als onderdeel van de graphics/ffmpeg port, die uitvoer met goede kwaliteit genereert. U kan natuurlijk ook rechtstreeks ffmpeg gebruiken. Het zou ook moeten mogelijk zijn om de XviD encoder in multimedia/xvidcore te gebruiken.

De documentatie die bij deze packages zit, onder de vorm van manual pagina's of HTML documenten in /usr/local/share/doc, bevat vele voorbeelden, dus het is TEN ZEERSTE aanbevolen om die documenten te lezen.

13.12 - Is het mogelijk om streaming media af te spelen onder OpenBSD?

Ja, dat is mogelijk. Vele audio en video streams zullen gewoon prima werken, op een beperkt aantal platformen. Enkele ervan zullen niet werken.

Dit is niet bedoeld om een volledig, uitermate gedetailleerd antwoord te zijn om ieder mogelijk streamingformaat te laten werken op gelijk welke hardware-architectuur. U wil misschien om te beginnen iets meer leren over streaming media. Een lichtjes gedateerd maar nog steeds een goed vertrekpunt is dit hoofdstuk over streaming media uit het O'Reilly boek getiteld Designing Web Audio.

Het eerste dat u moet begrijpen is dat er een aantal verschillende streaming protocols zijn. Het streaming protocol definieert hoe de streams over het netwerk zullen gezonden worden. Ze werden ontwikkeld om efficiënte transmissie van audio/video over het internet toe te laten in real-time. Meestal is het streaming protocol een (Laag 7) applicatieprotocol, dat ofwel UDP ofwel TCP (Laag 4) transportprotocols kan gebruiken. Het User Datagram Protocol (UDP) is heel geschikt voor dit soort van toepassing aangezien het geen heruitzending van pakketten of andere overhead doet. Er werden een aantal gespecialiseerde maar propriëtaire protocols ontwikkeld, bv. Microsoft Media Services (MMS) en het Real Time Streaming Protocol (RTSP). Zoals we zullen zien, wordt soms ook HTTP gebruikt (dat op zijn beurt TCP gebruikt), ook al laat het niet toe om streams aan een gelijkmatige bitsnelheid te leveren zoals UDP, RTSP en MMS dat kunnen.

Vervolgens is er het streaming formaat, dat is hoe de audio/video gegevens georganiseerd zijn en afgespeeld kunnen worden. De meest gebruikte streamingformaten zijn MP3, Real Audio (RA, RM) en Windows Media (ASF), allemaal propriëtaire technologieën. Soms zal u ook streams in het open Ogg Vorbis formaat tegenkomen.

Als voorbeeld zal ik in enkele stappen uitleggen hoe ik kan luisteren naar Radio 1, één van de Belgische nationale radiostations. Browser plugins zijn niet beschikbaar op OpenBSD, dus het verhaal is gewoonlijk niet dadelijk "klikken en spelen".

Windows Media (ASF) streams zullen vaak werken, hoewel ze gegevens kunnen bevatten in formaten die alleen ondersteund worden via de graphics/win32-codecs port, die alleen op i386 draait ('pkg_info win32-codecs' zal u zeggen welke codecs). Bepaalde Real Audio streams kan men laten werken op i386 met mplayer in samenwerking met de graphics/win32-codecs en emulators/fedora/base ports (zie deze thread op de ports mailinglijst).

13.13 - Kan ik Java ondersteuning in mijn web browser krijgen? (alleen i386 & amd64)

De Java plugin is een onderdeel van de Java Development Toolkit (JDK). Om licentieredenen kan OpenBSD geen binaire packages verdelen voor de JDK. Dit betekent dat u hem vanuit ports zal moeten bouwen. Meer informatie over het bouwen van de JDK kan u vinden in FAQ 8 - Programmeertalen. Zodra u klaar bent met het bouwen van de JDK, kan u ofwel de volledige JDK package installeren ofwel enkel de Java Runtime Environment (JRE) die in een subpackage zit en de browser plugin bevat.

Bij de installatie worden instructies getoond voor gebruik van de Java plugin met de Firefox of Seamonkey web browser. Maak de symlink aan zoals uitgelegd, en vervolgens zou u de Java plugin moeten zien wanneer u "about:plugins" ingeeft in de URL balk.

Voor KDE's Konqueror web browser moet ofwel de java binary zich in uw PATH bevinden, ofwel kan zijn absoluut pad geconfigureerd worden via het menu Settings -> Configure Konqueror -> Java & JavaScript. Standaard bevindt de java binary zich in /usr/local/jre-version/bin/ of /usr/local/jdk-version/bin/, afhankelijk van of u de JRE of de JDK hebt geïnstalleerd.

Opmerking: Java ondersteuning werd enkel getest met de Firefox, Seamonkey en Konqueror web browsers. Als het bij u goed werkt met een andere browser, laat het ons dan alstublieft weten.

13.14 - Kan ik Flash ondersteuning in mijn web browser krijgen?

De Flash plugin wordt door Adobe alleen in binaire vorm verdeeld. Adobe voorziet geen "native" OpenBSD plugin. Gezien hun veiligheidshistorie, zijn we hen dankbaar voor dit gebrek.

Als u alleen op zoek bent naar een manier om flash video's op gewone websites te bekijken, dan zijn er een aantal opties beschikbaar als package, waaronder: get_flash_videos, minitube, youtube-dl, get_iplayer en yt. Ook het Gnash project heeft de laatste tijd veel voortgang geboekt en vervult wellicht uw behoeften.

[FAQ Index] [Naar Sectie 12 - Hardware- en Platform-Specifieke Vragen] [Naar Sectie 14 - Inrichting van de Schijf]


[terug] www@openbsd.org
$OpenBSD: faq13.html,v 1.51 2013/05/02 06:05:49 ajacoutot Exp $