[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
U kan testen of uw audio device al dan niet goed werkt door er een audiobestand (gewoonlijk met .au extensie) naartoe te sturen. Als u geen audiobestand hebt, kan u ook gelijk welk tekst- of binair bestand naar het device sturen:
$ cat filename > /dev/audio
Als u iets hoort (als het geen audiobestand is, zal het niet goed klinken en
het kan ook luid klinken), betekent dit dat de chip ondersteund wordt door
OpenBSD en tijdens het booten door de kernel herkend en geconfigureerd werd.
Opmerking: Niet elke variatie of gebruiksmogelijkheid van elke chip werd getest of gedebugged.
Indien u niets hoorde bij het ingeven van het bovenstaande commando, dan zijn er een aantal mogelijke redenen:
Merk op dat zelfs indien u een geluid hoorde, dat niet noodzakelijk betekent dat alles zal functioneren zoals gewenst. Indien u problemen krijgt bij het afspelen van geluid, dan is hier nog een lijstje om te controleren:
Om de parameters voor het audio device, zoals de bemonsteringssnelheid bij het afspelen, af te stemmen, kan u audioctl(1) gebruiken. Om het geluidsvolume en andere mixerinstellingen af te stemmen kan u mixerctl(1) gebruiken. Beide utilities zijn voorzien als onderdeel van het basissysteem.
Om bijvoorbeeld het geluidsvolume van het linker en het rechter kanaal in te stellen op 200, zou u bijvoorbeeld (zie Opmerking 2 hieronder) dit uitvoeren:
$ mixerctl outputs.master=200,200
outputs.master: 255,255 -> 207,207
Merk op hoe de waarde 207 wordt.
De reden hiervoor is dat mijn audio device een AC'97 codec heeft, die slechts
5 bits gebruikt voor volumecontrole, wat leidt tot slechts 32 mogelijke
waarden.
Natuurlijk zou het kunnen dat andere hardware een verschillende resolutie
heeft.
Om het masterkanaal te unmuten, zou u het volgende doen:
$ mixerctl outputs.master.mute=off
outputs.master.mute: on -> off
Om uw wijzigingen permanent te maken, 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
Opmerking 1:
Het kan dat u meer uitgangen ziet dan er op uw geluidskaart of moederbord
zijn.
Dit komt doordat audiochips in het algemeen goedkoper zijn om op borden te
monteren dan de jacks gebruikt om de uitgangen te verbinden, dus niet elke
optie van elke audiochip bereikt noodzakelijk de buitenwereld.
Opmerking 2: Het is mogelijk dat de uitvoerkanalen van het audio device in uw systeem anders benoemd zijn. Het kan bijvoorbeeld dat u geen "outputs.master" hebt zoals in het bovenstaande voorbeeld, u kan in de plaats hiervan veeleer "outputs.output" of nog iets anders moeten aanpassen. Dit hangt af van de audio driver en u kan gemakkelijk de juiste naam terugvinden door de mixerbedieningen op te sommen met
$ mixerctl -a
Om zulk een bestand te spelen, 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 nog andere utilities die u kan gebruiken, zoals aucat(1), en audio/waveplay in packages en ports. Natuurlijk kan ook populaire software zoals XMMS deze bestanden afspelen, naast andere audioformaten.
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:
$ 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.
Er zijn audio utilities in de packages en ports collectie die met dit probleem afrekenen door herbemonstering ("rate resampling") uit te voeren. Zo heeft x11/mplayer bijvoorbeeld een "-srate" optie om een gewenste uitvoerbemonsteringssnelheid te specificeren. Die kan u dan instellen op de snelheid die uw geluidsapparaat gebruikt. KDE's artsd en bepaalde spelletjes ondersteunen gelijkaardige opties. Lees de documentatie van uw specifieke audio toepassing om te weten te komen of ze herbemonstering ondersteunt.
Twee wijd gebruikte technologieën in muzieksynthesizers zijn:
De meeste van de benodigde informatie over MIDI op OpenBSD kan gevonden worden in de midi(4) manual pagina.
De voornaamste utility om standaard MIDI bestanden te behandelen is midiplay(1). Om een lijst van MIDI devices te krijgen die beschikbaar zijn op uw systeem, probeert u het volgende:
$ midiplay -l
0: SB MIDI UART
1: SB Yamaha OPL3
2: PC speaker
In dit voorbeeld zien we de UART uitgang waaraan een extern MIDI-apparaat kan
verbonden worden, de Yamaha OPL3 FM on-board synthesizer, en de goede oude
speaker.
Opmerking: Niet alle geluidskaarten hebben een on-board MIDI synthesizer, dus het kan dat u alleen een UART uitgang en de PC speaker opgesomd ziet.
Een standaard MIDI bestand spelen, in dit geval via de OPL3 synthesizer, is zo gemakkelijk als:
$ midiplay -d 1 file.mid
Merk op dat we MIDI device nummer 1 als parameter specificeerden omdat
standaard device nummer 0 gebruikt wordt.
Meer informatie: Tutorial on MIDI and Music Synthesis
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.
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 lezen 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
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.
Stel eerst de relevante opnameparameters in met audioctl(1), bv.
record.encoding=mulaw
record.rate=8000
record.channels=1
record.precision=8
Hier gebruik ik niet-uniforme quantisatie met het mu-law algoritme, met één
kanaal, een bemonsteringssnelheid van 8000 Hz en met 8 bits per monster.
De mu-law en A-law algoritmes zijn vooral nuttig bij het digitaliseren van
spraaksignalen, omdat ze een hogere coderingsefficiëntie behalen.
Dit betekent dat de kwaliteit van de bemonsterde spraak beter zal zijn voor
een gegeven aantal bits per monster, of dat minder bits vereist zullen zijn
voor een gegeven kwaliteit.
Als u beslist de bovenstaande waarden (alleen die!) over te nemen, kan u het /dev/audio device gebruiken, die ze standaard gebruikt, dus u hoeft ze in dat geval niet expliciet in te stellen.
Zorg vervolgens 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=on
inputs.mic.preamp=on
inputs.mic.source=mic0
record.source=mic
record.volume=255,255
record.volume.mute=off
record.mic=0
record.mic.mute=off
In dit voorbeeld zal ik opnemen met een microfoon.
Voorversterking werd ingeschakeld, anders kan het opgenomen geluid vrij
stil klinken.
Om de eigenlijke opname te doen, gebruikt u gewoon cat(1) of dd(1):
$ dd if=/dev/audio of=myvoice.raw
Druk [CTRL]-C om de opname te beëindigen.
De uitvoer is een ruwe sequentie van bytes.
Dit geluid kan gespeeld worden zoals uitgelegd in
Verschillende soorten audio spelen.
Voor een snelle test, in de veronderstelling dat de audioparameters juist
zijn ingesteld:
$ dd if=myvoice.raw of=/dev/audio
Opnieuw, als u andere coderingsparameters instelt, moet u het /dev/sound device gebruiken. Een ander voorbeeld van coderingsparameters:
record.encoding=slinear_le
record.rate=22050
record.channels=2
record.precision=8
Dit zal leiden tot PCM met signed lineaire (uniforme) quantisatie, opgeslagen
met little-endian byte-volgorde, met een bemonsteringssnelheid van 22050 Hz,
in stereo, en met 8 bits om één monster voor te stellen
(2^8 = 256 quantisatieniveaus).
Opmerking: U zal deze opname in het ruwe formaat (zonder hoofdingen) waarschijnlijk willen omzetten naar een meer bruikbaar formaat voor verdere verwerking. Lees FAQ 13 - Omzetting om hierover meer te weten te komen.
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.
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.
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
# cd /dev
# ./MAKEDEV cd2
In wat volgt, zullen we de CD/DVD-schrijver meestal benaderen via het
raw karakter-device, niet het blok-device.
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.
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
Als voorbeeld zal ik een veiligheidskopie maken van één van mijn muziek-CD's. Dit omvat twee stappen:
# cdio -f cd1c cdrip
Dit commando zal een reeks WAV bestanden uitpakken vanaf uw tweede CD-ROM
speler naar uw schijf.
# 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, (E)IDE/ATAPI, 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 en (E)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, XF4, 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.
$ mkisofs -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.
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.
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.
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".
$ 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
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.
$ mplayer http://mp3.streampower.be/radio1-mid.mp3
alias radio1='mplayer http://mp3.streampower.be/radio1-mid.mp3'
Bij de installatie worden instructies getoond voor gebruik van de Java plugin met een Firefox of Mozilla 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.
Opmerking: De Java plugin werd enkel getest met de Firefox en Mozilla browsers. Als hij bij u goed werkt met een andere browser, laat het ons dan alstublieft weten.
Alvorens verder te gaan, is het een goed idee om over Linux emulatie te lezen in de compat_linux(8) manual pagina, en ook FAQ 9 - Linux binaries draaien op OpenBSD.
Als u dit begrepen hebt en de nodige bestanden nog niet hebt geïnstalleerd, voeg dan gewoon de fedora package toe. In de veronderstelling dat u de omgevingsvariabele PKG_PATH ingesteld hebt (zie FAQ 15),
# pkg_add -i fedora_base
Dit zal automatisch kern.emul.linux=1 instellen, maar niet blijvend.
Indien u permanente Linux emulatie nodig hebt, moet u dat specificeren in
/etc/sysctl.conf, zoals uitgelged in
FAQ 9 - Linux binaries draaien op OpenBSD.
Nog iets anders dat u moet weten, is dat Linux "shared libraries" en modules niet kunnen gebruikt worden met OpenBSD executables, dus u zal ook een Linux browser nodig hebben.
Een kandidaat is de Opera web browser, beschikbaar in de ports tree. OpenBSD verdeelt er geen packages voor, aangezien de licentie van Opera niet duidelijk is met betrekking tot herdistributie ervan. Installatie hoeft echter niet lang te duren, aangezien de browser al in binaire vorm verdeeld wordt door Opera Software. Nadien kan u gemakkelijk de Flash plugin installeren via de ports tree.
# cd /usr/ports/www/opera
# make install
# cd /usr/ports/www/opera-flashplugin
# make install
Opmerking: Het zou moeten volstaan om alleen de laatste stap uit te voeren, en het ports systeem zal de dependencies automatisch installeren. Voor de duidelijkheid hebben we het proces hier echter opgesplitst in enkele stappen om het uit te leggen.
Als u de bovenstaande richtlijnen gevolgd hebt, zou de Flash plugin nu moeten getoond worden wanneer u "about:plugins" typt in de URL balk.
[FAQ Index] [Naar Sectie 12 - Hardware- en Platform-Specifieke Vragen] [Naar Sectie 14 - Inrichting van de Schijf]