[FAQ Index] [Naar Sectie 12 - Hardware- en Platform-Specifieke Vragen] [Naar Sectie 14 - Inrichting van de Schijf]
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.
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 -f /dev/audio ...
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:
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: -> 44100 $ audioctl play.rate=22050 audioctl: set failed: Invalid argument $ audioctl play.rate=8000 audioctl: set failed: Invalid argument $
Dit device ondersteunt alleen afspelen op 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 $
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.
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.$ mixerctl ...
Er zijn een aantal instellingen die op veel devices voorkomen:
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
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.$ mixerctl outputs.master=200,200 outputs.master: 255,255 -> 207,207
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
Bij OpenBSD zit aucat(1), een programma voor opnemenen afspelen van ongecomprimeerde audio. Het volgende voorbeeld speelt een WAV-bestand.
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.$ aucat -i filename.wav
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
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).$ file music.wav music.wav: Microsoft RIFF, WAVE audio data, 16 bit, stereo 44100 Hz
Stuur vervolgens het audiobestand naar het sound device:play.encoding=slinear_le play.rate=44100 play.channels=2 play.precision=16
Als u de juiste instellingen hebt toegepast, zou u moeten horen wat u verwachtte.$ cat music.au > /dev/sound
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.
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:
Natuurlijk bestaan er Ogg Vorbis plugins voor veel andere audio software.$ 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%
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.
$ timidity file.mid
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.
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:
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.$ mixerctl inputs.cd.mute=off
$ 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.
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.$ aucat -o file.wav
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:
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.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
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.
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.
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 samplesdus voeg:
sndiod_flags="-b2400"toe aan /etc/rc.conf.local.
sndiod_flags="-L-"aan /etc/rc.conf.local. Op het lokale systeem stelt u uw programma in om
snd@hostname/0te 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 25 prioriteit krijgen met het packet filter. In de standaard configuratie gebruikt sndiod ongeveer 200 kB/s aan netwerkbandbreedte.
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.
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:
Er zijn drie MIDI poorten zichtbaar, overeenkomend met: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>
De uitvoer van het keyboard kan worden verbinden met de invoer van een synthesizer, en wel als volgt:$ aucat -Mq rmidi/1 -o - | hexdump -e '1/1 "%02x\n"' 90 3c 71 ...
Nu kunt u op de synthesizer horen wat u speelt op het MIDI keyboard. Bekijk de aucat(1) manual pagina voor meer informatie.$ aucat -M -q rmidi/0 -q rmidi/1
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:
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.$ smfrec -d rmidi/0 -i rmidi/1 file.mid
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:
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.$ oggenc *.wav -b 192
Hieronder staat een eenvoudig voorbeeld van het coderen van een WAV bestand met een bit rate van 192 kbps:
Raadpleeg voor alle opties en details alstublieft de manual pagina die bij lame zit.$ lame -b 192 track01.wav track01.mp3
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:
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
In wat volgt, zullen we de CD/DVD-schrijver meestal benaderen via het raw karakter-device, niet het blok-device.# cd /dev # ./MAKEDEV cd2
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.cd2 at scsibus2 targ 1 lun 0: <LITE-ON, DVDRW LDW-851S, GS0C> SCSI0 5/cdrom removable
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.
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.
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 blank
Met de opties hierboven gespecificeerd, vragen we cdio om het tweede CD-ROM apparaat als CD-schrijver te gebruiken.# cdio -f cd1c tao sys.iso
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
Als voorbeeld zal ik een veiligheidskopie maken van één van mijn muziek-CD's. Dit omvat twee stappen:
Dit commando zal een reeks WAV bestanden uitpakken vanaf uw tweede CD-ROM speler naar uw schijf.# cdio -f cd1c cdrip
# cdio -f cd1c tao -a *.wav
Belangrijke opmerkingen:
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 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.
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.
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:$ mkhybrid -r -o cvs.iso /cvs
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.# 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
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.
Als dit lukt, laat dan gewoon de -dry-run optie er uit en begin de DVD te branden.# growisofs -dry-run -Z /dev/rcd2c -R /cvs
# 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:
Raadpleeg voor meer informatie over growisofs de manual pagina.# growisofs -M /dev/rcd2c -R /mydata
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.
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.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 ...
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.
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.$ sox -U -c 1 -r 8000 -b myvoice.raw myvoice.wav
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.
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.
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".
Het ziet er naar uit dat ik zelfs kan kiezen tussen streams met lage, middelmatige en hoge kwaliteit. Andere websites kunnen wat JavaScript code bevatten om de URL te genereren. In dat geval is de beste tip: graaf de HTML broncode op en ook de scripts waar ze naar verwijst. Er is een goede kans dat u de URL er uit can reconstrueren.$ 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 -loop 0 http://mp3.streampower.be/radio1-mid.mp3
alias radio1='mplayer -loop 0 http://mp3.streampower.be/radio1-mid.mp3'
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.
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]