[FAQ Index] [Naar Sectie 12 - 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(1) 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:
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.$ cat filename > /dev/audio
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:
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.$ 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 uw wijzigingen permanent te maken, moet u /etc/mixerctl.conf bewerken, bijvoorbeeld:
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.$ cat /etc/mixerctl.conf outputs.master=200,200 outputs.master.mute=off outputs.headphones=160,160 outputs.headphones.mute=off
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
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 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:
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.
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:
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.$ midiplay -l 0: SB MIDI UART 1: SB Yamaha OPL3 2: PC 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:
Merk op dat we MIDI device nummer 1 als parameter specificeerden omdat standaard device nummer 0 gebruikt wordt.$ midiplay -d 1 file.mid
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 device te lezen. Aangezien dit device standaard in de operator groep zit, kunnen de permissies ervan als volgt aangepast worden:
# chmod o+r /dev/rcd0c
Als u graag een mooie GUI hebt, 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.
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.record.encoding=mulaw record.rate=8000 record.channels=1 record.precision=8
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:
In dit voorbeeld zal ik opnemen met een microfoon. Voorversterking werd ingeschakeld, anders kan het opgenomen geluid vrij stil klinken.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
Om de eigenlijke opname te doen, gebruikt u gewoon cat(1) of dd(1):
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=/dev/audio of=myvoice.raw
$ 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:
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).record.encoding=slinear_le record.rate=22050 record.channels=2 record.precision=8
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:
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 DVD playback utilities werden naar OpenBSD geported. Voorbeelden zijn ogle en mplayer. Lees alstublieft de installatie-instructies die bij de package 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:
$ mkisofs -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 XFS_DEV-.000;1 for /usr/src/sys/xfs/xfs_dev-common.c (xfs_dev-bsd.c) 12.06% done, estimate finish Sun Mar 27 21:18:47 2005 24.09% done, estimate finish Sun Mar 27 21:18:43 2005 ... 84.32% done, estimate finish Sun Mar 27 21:18:38 2005 96.37% done, estimate finish Sun Mar 27 21:18:38 2005 Total translation table size: 0 Total rockridge attributes bytes: 0 Total directory bytes: 1822720 Path table size(bytes): 10674 Max brk space used 469000 41508 extents written (81 Mb)
De -R optie zegt mkisofs 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. Een vaak gebruikt pakket om dit te doen is het cdrecord programma, opgenomen in de cdrtools package, die beschikbaar is via OpenBSD's packages en ports systeem.
Als u éénmalig beschrijfbare media zoals CD-R gebruikt, is het altijd een goed idee om een test te doen alvorens werkelijk de CD-ROM te branden, dit om geen schijfjes te verspillen.
Als dit goed gaat, bent u 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:# cdrecord -v -dummy dev=/dev/rcd1c sys.iso
Met de opties hierboven gespecificeerd, vragen we cdrecord om uitgebreide uitvoer te geven en om het tweede CD-ROM device als CD-schrijver te gebruiken. Merk op dat we het raw device meegeven aan cdrecord.# cdrecord -v dev=/dev/rcd1c 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 eerste CD-ROM speler naar uw schijf, en een Table Of Contents (TOC) bestand compileren.# cdrdao read-cd --device /dev/rcd0c cdtracks.toc
Probeer indien gewenst eerst het cdrdao simulate commando.# cdrdao write --device /dev/rcd1c cdtracks.toc
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.
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:$ mkisofs -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 http://mp3.streampower.be/radio1-mid.mp3
alias radio1='mplayer http://mp3.streampower.be/radio1-mid.mp3'
Opmerking: we hebben niet iedere mogelijke combinatie van plugin en browser getest.
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: U hebt geen Linux emulatie nodig om de Java plugin te draaien.
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 redhat packages toe. Merk op dat de plugin de Linux-versie van Openmotif vereist. In de veronderstelling dat u de omgevingsvariabele PKG_PATH ingesteld hebt (zie FAQ 15),
De eerste opdracht 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.# pkg_add redhat_base-8.0p5.tgz # pkg_add redhat_motif-2.1.30p1.tgz
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 www/opera subdirectory van 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. Voer gewoon make install uit in de www/opera subdirectory.
Nu is het tijd om de Flash plugin te installeren. Download de Linux-versie van Macromedia's website, pak het archief uit en kopieer de bestanden naar de plugins subdirectory:
Opmerking: Het bovenstaande commando zal interfereren met het packages en ports systeem, omdat dit bestand niet geregistreerd wordt in de centrale package repository op uw systeem. Als u de opera package wil verwijderen of upgraden, verwijder dan eerst de flash plugin alvorens dit te doen.# cp libflashplayer.so /usr/local/lib/opera/plugins
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 - Platform-Specifieke Vragen] [Naar Sectie 14 - Inrichting van de Schijf]