[FAQ-Index] [Zum Kapitel 12 - plattformspezifische Fragen] [Zum Kapitel 14 - Platteneinrichtung]
Alle unterstützten Audiotreiber befinden sich bereits im GENERIC-Kernel, so dass keine weitere Konfiguration oder Installation der Treiber notwendig ist. Um die Optionen für deinen Soundchip zu erfahren, musst du herausfinden, welchen Soundchip du hast. Unterstützte Chips können auf der Hardwarekompatibilitätsseite für deine Plattform gefunden werden. Wenn OpenBSD bei dir bereits läuft, siehe nach, ob in der Ausgabe vom Kommando dmesg(1) ein Soundtreiber aufgelistet wird und lies die Manualseite für diesen, um weitere spezifische Informationen wie zum Beispiel Optionen und andere Details über diesen Treiber zu erfahren. Ein Beispiel für einen Audiochip in einer Ausgabe von dmesg ist:
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
Du kannst testen, ob dein Audiodevice bereits ordnungsgemäß läuft, indem du eine Audiodatei (normalerweise mit der Endung .au) an es sendest. Wenn du keine Audiodatei hast, kannst du ebenfalls irgendeine Text- oder Binärdatei an das Device senden:
Wenn du etwas hörst (sollte es keine Audiodatei gewesen sein, wird es sich nicht gut anhören und vielleicht auch laut sein), bedeutet das, dass der Chip von OpenBSD unterstützt wird und beim Hochfahren vom Kernel erkannt und konfiguriert wurde.$ cat filename > /dev/audio
Hinweis: Nicht jede Unterart oder Verarbeitung aller Chips wurde getestet oder auf Fehler untersucht.
Wenn du nach dem Eingeben des Kommandos nichts gehört hast, kann es einige mögliche Gründe hierfür geben:
Bedenke, dass selbst wenn du etwas gehört hast, das noch nicht unbedingt bedeutet, dass alles so funktionieren wird wie du es gerne möchtest. Wenn du beim Abspielen von Sounds Probleme hast, solltest du die folgenden Dinge aus dieser Liste überprüfen:
Um die Parameter für dein Audiodevice einzustellen - wie zum Beispiel die Samplerate - kannst du audioctl(1) verwenden. Um die Lautstärke oder andere Mixereinstellungen zu konfigurieren, kannst du mixerctl(1) benutzen. Beide Werkzeuge werden als Teil des Basissystems mitgeliefert.
Um zum Beispiel die Lautstärke vom linken sowie vom rechten Kanal auf 200 zu setzen, würdest du beispielsweise (Siehe Hinweis 2 weiter unten) Folgendes aufrufen:
Beachte, dass der Wert 207 wird. Der Grund hierfür ist, dass mein Audiodevice einen AC'97-Codec hat, der nur 5 Bits für Lautstärkekontrolle verwendet. Das führt zu gerade einmal 32 möglichen Werten. Selbstverständlich kann andere Hardware eine andere Anzahl Bytes haben.$ mixerctl outputs.master=200,200 outputs.master: 255,255 -> 207,207
Um den Masterkanal zu aktivieren, würdest du Folgendes aufrufen:
$ mixerctl outputs.master.mute=off outputs.master.mute: on -> off
Um deine Änderungen fest einzutragen, musst du /etc/mixerctl.conf editieren. Beispielsweise:
Hinweis 1: Es kann sein, dass du mehr Anschlüsse sehen kannst, als sich auf deiner Soundkarte oder deinem Mainboard befinden. Der Grund hierfür ist, dass es normalerweise günstiger ist, Chips auf den Boards zu installieren, als die Buchsen für die Anschlüsse einzubauen, so dass nicht jede Option des Audiochips notwendigerweise auch die Außenwelt erreicht.$ cat /etc/mixerctl.conf outputs.master=200,200 outputs.master.mute=off outputs.headphones=160,160 outputs.headphones.mute=off
Hinweis 2: Die Ausgaben deines Audiodevices könnte auf deinem System anders benannt sein. Zum Beispiel ist es möglich, dass du kein outputs.master wie in der oben aufgeführten Ausgabe hast. Stattdessen müsstest du zum Beispiel outputs.output oder eine andere Einstellung ändern. Diese Namen hängen vom Audiotreiber ab. Du kannst den passenden Namen auf einfache Weise herausfinden, indem du die Kontrollwerte mit Folgendem Aufruf auflisten lässt:
$ mixerctl -a
Wenn Du vorhast, eine solche Datei abzuspielen, solltest du die genauen Parameter kennen: Kodierungstyp, Anzahl der Kanäle, die Abtastrate und die Bitanzahl der Abtastung. Wenn du diese Informationen nicht hast, kannst Du sie mit Hilfe von file(1) feststellen:
$ file music.au music.au: Sun/NeXT audio data: 16-bit linear PCM, stereo, 44100 Hz
Die verbleibenden Dinge, die man noch über dieses Beispiel wissen sollte, ist dass die Datei die Littleendian-Byteanordnung und »signed linear quantization« nutzt. Das kannst du heraus finden, indem du den Header mit hexdump(1) ansiehst. Wenn du headerlose (Raw-)Dateien hast, gibt es keine Möglichkeit, diese Parameter im Vorfeld zu bestimmen. Setze die folgenden Parameter mittels audioctl(1).$ file music.wav music.wav: Microsoft RIFF, WAVE audio data, 16 bit, stereo 44100 Hz
Leite als nächstes die Audiodatei durch ein Soundlaufwerk:play.encoding=slinear_le play.rate=44100 play.channels=2 play.precision=16
Wenn du die korrekten Werte gesetzt hast, solltest du das hören, was du erwartet hattest.$ cat music.au > /dev/sound
Merke: Benutze immer /dev/sound (nicht /dev/audio), wenn du willst, dass die mit audioctl eingerichteten Werte auch gesichert bleiben.
Es gibt noch andere Programme, die du benutzten kannst; beispielsweise aucat(1) und audio/waveplay, die in den Packages und Ports zur Verfügung stehen. Natürlich gibt es noch andere, populäre Software wie XMMS, die in der Lage ist, solche Dateien und auch andere Audioformate abzuspielen.
Abgesehen von dem zuvor Beschriebenen gibt es Audioformate, die verlustfreie Kompression verwenden. Beispiele für solche Formate sind: »Free Lossless Audio Codec« (FLAC) und TTA. Die FLAC-Implementation wurde auf OpenBSD portiert und kann unter audio/flac in den Ports oder Packages gefunden werden.
Ein gutes Beispiel hierfür ist das freie, offene und unpatentierte Ogg-Vorbis-Format. Um Ogg-Vorbis-Dateien abzuspielen, kannst du das Programm ogg123 benutzen, welches im Package audio/vorbis-tools enthalten ist. Zum Beispiel:
Natürlich existieren Ogg-Vorbis-Plugins auch für andere 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%
Ein weiteres sehr populäres Beispiel ist die »MPEG-1 Audio Layer 3«- (MP3-) Komprimierung, welche - warum auch immer - einige Lizenzen und Patente hat. MP3-Dateien können von vielen Programmen wiedergegeben werden. Schau einfach mal durch die audio-Sektion der Portliste oder der Packages.
Was ist mit dem proprietären »Windows Media Audio«- (WMA-) Format? Dateien solchen Formates können mittels x11/mplayer abgespielt werden, welches das FFmpeg-Framework nutzt.
Ein guter Startpunkt, um mehr über Audiodateiformate zu lernen, ist dieser Wikipedia-Artikel: Audio file formats.
Es gibt Audiowerkzeuge in der Packages- und Ports-Collection, die dieses Problem angehen, indem sie ein Rateresampling durchführen. Zum Beispiel hat x11/mplayer eine Option namens -srate, mit der die gewünschte Samplerate eingestellt werden kann. Du solltest diese dann auf die von deinem Soundgerät setzen. KDEs artsd und einige Spiele unterstützen ähnliche Optionen. Lies die Dokumentation deiner spezifischen Audioanwendung, um herauszufinden, ob ein Rateresampling unterstützt wird.
Zwei weit verbreitete Musiksynthesizertechnologien sind:
Die meisten notwendigen Informationen über MIDI unter OpenBSD kann in der midi(4)-Manualseite gefunden werden.
Das Hauptwerkzeug, um mit MIDI-Dateien umzugehen, ist midiplay(1). Um eine Lister der verfügbaren MIDI-Laufwerke auf deinen System zu bekommen, versuche Folgendes:
In diesem Beispiel können wir die Ausgabe von UART sehen, zu welchem man ein externes MIDI-Laufwerk verbinden kann: den Yamaha-OPL3-FM-Onboardsynthesizer und den PC-Lautsprecher.$ midiplay -l 0: SB MIDI UART 1: SB Yamaha OPL3 2: PC speaker
Merke: Nicht alle Soundkarten haben einen Onboard-MIDI-Synthesizer, so dass es sein kann, dass du nur die UART-Ausgabe und den PC-Lautsprecher siehst.
Das Abspielen einer standardmäßigen MIDI-Datei - in diesem Beispiel mit dem OPL3-Synthesizer - ist leicht:
Beachte, dass wir hier die MIDI-Laufwerksnummer mit 1 angegeben haben. Die Laufwerksnummer 0 wird standardmäßig benutzt.$ midiplay -d 1 file.mid
Weitere Informationen: Tutorial für MIDI- und Musiksynthesizer
Der einfachste Weg, deine favorisierten MOD-Dateien unter OpenBSD abzuspielen, ist wahrscheinlich, die XMMS-Software zu benutzen. Diese ist in den Ports und Packages verfügbar. Du solltest das Subpackage -mikmod installieren, damit XMMS die MikMod-Bibliothek nutzen kann, welche das MOD-, S3M-, IT- und XM-Modul-Format unterstützt.
Du kannst darüber hinaus noch andere sogenannte Tracker in der audio-Ports- und Packagesektion finden. Beispiele hierfür sind tracker und soundtracker. Mit diesen Trackern kannst du nicht nur Dateien abspielen, sondern auch eigene Module erstellen. Beachte jedoch, dass nicht jedes Trackerformat von den Programmen in den Ports unterstützt wird. Du bist aber stets willkommen, deinen favorisierten Tracker als Port hinzuzufügen.
Ein nettes Kommandozeilenprogramm mit dem Namen cdio(1) wurde mit in das Standardsystem übernommen. Wird es ohne Parameter aufgerufen, arbeitet es im interaktiven Modus. Willst du die CD gleich abspielen lassen, dann benutze:
$ cdio play
Beachte, dass es vom ersten CD-ROM-Laufwerk liest. Standard ist cd0. Beachte auch, dass der aktive Benutzer auch die nötigen Rechte besitzt, um vom CD-ROM-Laufwerk lesen zu können. Da das Laufwerk standardmäßig in der Gruppe operator ist, können die Rechte wie folgt justiert werden:
# chmod o+r /dev/rcd0c
Es sei erwähnt, dass es eine Vielzahl X11-basierter Spieler in der Ports- und Packagekollektion gibt, falls du lieber ein schönes GUI magst. Sieh einfach mal in der entsprechenden audio-Sektion nach.
Schaue dir zuerst die relevanten Aufnahmeparameter mit audioctl(1) an. Zum Beispiel:
Hier benutze ich uneinheitliche Unterteilungen mit dem mu-law-Algorithmus, einem Kanal, einer Samplingrate von 8000 Hz und 8 Bit je Sample. Die Algorithmen mu-law und A-law sind besonders hilfreich bei der Digitalisierung von Sprachsignalen, da sie eine höhere Effizienz bei der Kodierung haben, d. h. dass die Qualität der Sprachsamples bei einer gegebenen Anzahl Bits vergleichsweise besser sein wird. Oder anders herum kann eine vorgegebene Qualität mit vergleichsweise weniger Bits realisiert werden.record.encoding=mulaw record.rate=8000 record.channels=1 record.precision=8
Solltest du dich entscheiden, die zuvor genannten Werte (nur diese!) zu verwenden, so kannst du das /dev/audio-Laufwerk benutzen, welches diese Werte standardmäßig schon verwendet; die Werte müssen nicht extra gesetzt werden.
Stelle als nächstes sicher, dass das richtige Quelllaufwerk gewählt ist und die Quelldatei ungedämpft ist. Du kannst die erforderlichen Parameter mit mixerctl(1) setzen. Als Beispiel:
In diesem Beispiel habe ich von einem Mikrofon aufgenommen. Vorverstärkung ist aktiviert. Es ist sonst möglich, dass der aufgenommene Klang sehr leise ist.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
Benutze für die eigentliche Aufnahme cat(1) oder dd(1):
Drücke [STRG]-C, um die Aufnahme zu beenden. Die Ausgabe ist eine rohe Folge von Bytes. Dieser Sound kann abgespielt werden, wie es in der Sektion Unterschiedliche Audiotypen abspielen beschrieben wird. Für einen schnellen Test (in Annahme der korrekten Parameter):$ dd if=/dev/audio of=myvoice.raw
$ dd if=myvoice.raw of=/dev/audio
Es sei nochmal erwähnt: wenn du andere Kodierungsparameter setzt, solltest du das /dev/sound-Laufwerk benutzen. Weitere Beispiele für Kodierungsparameter:
Dies wird zu einer PCM führen, die »signed linear (uniform) quantization« bei einer Samplingrate von 22050 Hz in Stereo beinhaltet, die in einer Littleendian-Bytereihenfolge gespeichert wird, und 8 Bits verwendet, um ein Sample wiederzugeben (2^8 = 256 Quantifizierungsebenen).record.encoding=slinear_le record.rate=22050 record.channels=2 record.precision=8
Hinweis: Du möchtest deine Aufnahme, die jetzt im rohen Format (ohne Header) vorliegt, in ein Format konvertieren, mit dem du sie dann besser weiterverarbeiten kannst. Lies FAQ 13 - Konvertierung, um mehr darüber zu erfahren.
Nehmen wir an, du hättest eine Anzahl WAV-Dateien, die bereit sind, kodiert zu werden - beispielsweise dein Lieblingsalbum, welches du von der CD extrahiert hast. Um alle diese Dateien mit einer ungefähren Bitrate von 192 kbps zu kodieren, könntest du das folgende Kommando verwenden:
Wenn der Vorgang beendet ist, wirst du einen Satz .ogg-Dateien im aktuellen Verzeichnis finden. Weitere ausführliche Beispiele sowie Optionen für die Kodierung sind im oggenc-Manual zu finden.$ oggenc *.wav -b 192
Nachfolgend ein kleines Beispiel einer Kodierung einer WAV-Datei mit einer Bitrate von 192 kbps:
Für alle Optionen und Details, schaue bitte in das mitgelieferte Manual zu Lame.$ lame -b 192 track01.wav track01.mp3
Da die meisten Computer mit DVD-ROM-Laufwerken softwareseitige Dekodierung verwenden ist es empfehlenswert, mindestens einen Pentium II mit 350 MHz zu verwenden, um eine gute Wiedergabequalität zu erhalten.
Einige populäre Programme, um DVDs abzuspielen, wurden auf OpenBSD portiert (beispielsweise ogle und mplayer). Bitte lies die Installationsanweisungen, die im entsprechenden Package mitgeliefert werden, denn die Programme könnten vorher noch konfiguriert werden müssen. Mit diesen Programmen ist es möglich, die DVD durch direkten Zugriff auf die Rohdaten abzuspielen. Natürlich kann man die DVD auch zuerst mit mount_cd9660(8) mounten und sie dann von diesem oder von einem anderen gemounteten Dateisystem abspielen.
Anmerkung:
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 den folgenden Teilen werden wir auf den CD-/DVD-Brenner meistens durch die »rohe Charaktergerätedatei« und nicht das block-Laufwerk zugreifen.# cd /dev # ./MAKEDEV cd2^
Benutze ihn, indem du eine CD/DVD darin mountest. Wenn erwünscht, kannst du auch die Übertragungsrate messen, wenn du Dateien von dem CD-/DVD-Laufwerk auf die Festplatte kopierst. Das time(1)-Kommando wird ein williger Helfer sein.cd2 at scsibus2 targ 1 lun 0: <LITE-ON, DVDRW LDW-851S, GS0C> SCSI0 5/cdrom removable
Wenn hier irgendwelche Fehler auftreten, ist es weise, diese Fehler zunächst zu beheben, bevor du probierst, CDs/DVDs zu beschreiben.
Als Beispiel sagen wir, dass wir die OpenBSD-Kernelquellen in einem ISO-9660-Image speichern wollen.
$ 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: 18227l20 Path table size(bytes): 10674 Max brk space used 469000 41508 extents written (81 Mb)
Die Option -R sagt mkisofs, dass die Rock-Ridge-Erweiterungen in dem ISO-9660-Image zu erstellen sein werden. Das »Rock Ridge Interchange«-Protokoll wurde entwickelt, um die POSIX-Dateisystemsemantik in ISO-9660-Dateisystemen zu unterstützen (z. B. lange Dateinamen, Benutzerrechte, Datei- und Softlinks, Laufwerksknoten, tiefe Dateihierachien [mehr als 8 Unterverzeichnisse], etc.)
Wenn du willst, dass lange Dateinamen auf deiner CD-ROM unter DOS und Windows gelesen werden können, dann solltest du die Option -J benutzen, um die Joliet-Erweiterung dem ISO-9660-Image hinzuzufügen.
Nachdem das Dateisystem erstellt worden ist, kannst du es überprüfen, indem du das ISO-9660-Image mountest. Wenn das in Ordnung ist, ist alles bereit, um die CD-R(W) zu brennen. Der unter OpenBSD übliche Weg, das zu tun, ist cdrecord zu benutzen. Das Programm ist in dem cdrtools-Package - in den Ports und Packages zu finden - enthalten.
Wenn du keine wiederbeschreibbaren CDs verwendest (CD-R), dann ist es eine gute Idee, vorher einen Testlauf durchzuführen, um nicht bei einer Fehlbrennung CD-Rohlinge zu verschwenden.
Wenn dieser Vorgang fehlerfrei durchläuft, kann das zuvor erstellte ISO-Image auf eine unbeschriebene CD-R(W) gebrannt werden. Dazu kannst du folgendes Kommando verwenden:# cdrecord -v -dummy dev=/dev/rcd1c sys.iso
Mit den gerade verwendeten Optionen sagen wir cdrecord, dass es ausgeben soll, was es tut (-v) und dass wir das zweite CD-ROM-Laufwerk als Brenner benutzen. Beachte, dass wir hier das raw-Laufwerk bis zu cdrecord durchlaufen.# cdrecord -v dev=/dev/rcd1c sys.iso
Um zu überprüfen, ob die CD korrekt gebrannt worden ist, kannst du sie mounten und prüfen, ob die Daten entsprechend vorhanden sind. Um das Dateisystem zu mounten, solltest du das block-Laufwerk für das CD-ROM-Laufwerk benutzen, welches in diesem Fall auch der CD-Brenner ist.
# mount /dev/cd1c /mnt/cdrom
Als Beispiel werde ich eine Sicherungskopie von einer meiner Musik-CDs erstellen. Dazu sind zwei Schritte nötig:
Dieses Kommando extrahiert eine Reihe von WAV-Dateien von deinem ersten CD-ROM-Laufwerk auf deine Festplatte und erstellt eine Datei mit einem Inhaltsverzeichnis (TOC).# cdrdao read-cd --device /dev/rcd0c cdtracks.toc
Wenn du willst, verwende zuerst das Kommando cdrdao simulate.# cdrdao write --device /dev/rcd1c cdtracks.toc
Wichtige Anmerkungen:
Einen großen Unterschied stellt das DVD-RAM-Format dar, welches hauptsächlich als Datenlaufwerk entwickelt worden ist und erweiterte Paketschreibfunktionen bietet, was es möglich macht, es als eine Art optische Festplatte zu nutzen. Für die Benutzung im Zusammenhang mit Video wird DVD-RAM nicht empfohlen - das Format ist nicht kompatibel zu einem normalen DVD-Player.
Der sinnvollste Weg ist es, Medien zu verwenden, die zu deinem DVD-Brenner passen. Wenn du zu anderen DVD-Spielern kompatibel sein möchtest, dann gehe sorgfältig vor und lies diese Sektion der DVD-FAQ.
| DVD-Lese-/-Schreibgeschwindigkeit | Übertragungsrate (MB/s) | Äquivalente CD-R(W)-Lese-/-Schreibgeschwindigkeit |
| 1x | 1,32 | 9x |
| 2x | 2,64 | 18x |
| 4x | 5,28 | 36x |
| 8x | 10,57 | 72x |
Wie der Tabelle zu entnehmen ist, ist die Transferrate relativ hoch und du solltest prüfen, ob dein Bus (SCSI, [E]IDE/ATAPI, USB) genug Leistung bietet, um den Durchsatz zu gewährleisten. Besonders die älteren USB-1.0- und -1.1-Schnittstellen arbeiten mit langsameren Übertragungsraten wie 1,5 MBit/s und 12 MBit/s. Das bedeutet, dass USB 1.0 einen maximalen Durchsatz von 178,8 kByte/s und USB 1.1 einen maximalen Durchsatz von 1,43 MB/s hat. USB 2.0 ist mit 480 MBit/s bzw. 1,43 MB/s um einiges schneller. Allgemein kann man sagen, dass die Geschwindigkeit von SCSI- und (E)IDE/ATAPI-Bussen völlig ausreichend ist.
Für den Fall, dass du mehr über das Medium in deinem DVD-Brenner (z. B. wenn du die Informationsbeilagen verloren hast oder einfach nur - wie ich - schlecht organisiert bist) erfahren möchtest, kannst du das Programm dvd+rw-mediainfo benutzen. Es gibt zwei Möglichkeiten, eine DVD zu brennen:
Ich habe vorab ein ISO-9660-Image von den OpenBSD-CVS-Modulen (src, XF4, Ports und www) in meinem /cvs-Verzeichnis auf meiner Festplatte erstellt. Ich habe das folgende Kommando verwendet, welches dem zum Erstellen von CD-ROM-Images sehr ähnlich ist.
Wenn erwünscht, teste das ISO-9660-Dateisystem, indem du das Image mountest. Um dieses Image (über 2 GB) auf eine leere DVD zu brennen, kann man Folgendes benutzen:$ mkisofs -R -o cvs.iso /cvs
Die Option -Z sagt growisofs, dass es eine Initialsession auf mein DVD-Laufwerk brennen soll, welches an cd2 gebunden ist. Die Option -dvd-compat sagt, dass die DVD geschlossen werden soll, d. h. keine weiteren Brennvorgänge sind mehr möglich. Dies sollte eine bessere Kompatibilität zu Video-DVD-Spielern und älteren DVD-ROM-Einheiten bieten.# 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
Beachte auch, wie growisofs die Geschwindigkeit anzeigt. In diesem Fall 3,9-fache DVD Geschwindigkeit. Das ist entsprechend der Kombination des Rohlings und des Brenners, wie auch dvd+rw-mediainfo anzeigt.
Wenn du zu wenig Platz hast, um vorab das ISO-9660-Image auf deiner Festplatte zu erstellen, dann kannst du es auch direkt auf die DVD brennen. Aber zuvor machen wir einen Testlauf, welcher das Erstellen eines ISO-9660-Images simuliert.
Wenn dieses Kommando erfolgreich ist, dann starte es nochmal ohne -dry-run.# growisofs -dry-run -Z /dev/rcd2c -R /cvs
# growisofs -Z /dev/rcd2c -R /cvs
Es ist außerdem möglich, Daten zu einer bereits beschriebenen DVD hinzuzufügen, indem man die Option -M verwendet. Dann wird eine neue Session geschrieben.
Für mehr Informationen über growisofs, lies bitte das Manual.# growisofs -M /dev/rcd2c -R /mydata
Wenn du den Brennvorgang abgeschlossen hast, so mounte die DVD und prüfe, ob alle Daten, die gebrannt werden sollten, auch tatsächlich vorhanden sind.
was um einiges langsamer ist. Das bedeutet, dass du aus irgendwelchen Gründen nicht genug Datendurchsatz auf dem Bus hast, den dein DVD-Brenner verwendet. In dem vorigen Beispiel war der USB-DVD-Brenner an einer Maschine angeschlossen, auf der das ehci(4)-Laufwerk, das vom USB-2.0-Controller benutzt wird, nicht korrekt initialisiert werden konnte. Wie immer bist du herzlich eingeladen, Patches und Testergebnisse zu erstellen. Der DVD-Brenner fällt also zurück in seinen USB-1.1-Modus, welcher langsamer ist, und erhält somit einen reduzierten Datendurchsatz. Allerdings ist USB 1.1 auf 12 MBit/s begrenzt, was 1,43 MB/s oder 1,08-fache Brenngeschwindigkeit der DVD bedeutet. Der DVD-Brenner verwendet eine geringere Brenngeschwindigkeit, um das Risiko von Pufferunterläufen zu reduzieren.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 ...
Ein Soundkonvertierungswerkzeug ist audio/sox, das über Packages und Ports zur Verfügung steht. sox unterstützt AIFF-, AU-, MP3-, Ogg-Vorbis-, RIFF-WAV- und rohe Formate neben weiteren exotischen Formaten, auf die man treffen könnte. Es folgt ein Beispiel für die Konvertierung der Aufzeichnung zum RIFF-WAV-Format.
Beachte, dass die angegeben Parameter mit den Parametern übereinstimmen, die bei der Aufnahme angegeben wurden. Dies war nur ein Beispiel. Weitere audiobezogende Bibliotheken und andere Softwareprodukte können für die Audiokonvertierung genutzt werden.$ sox -U -c 1 -r 8000 -b myvoice.raw myvoice.wav
Hinweis: Es ist nicht empfehlenswert, zwischen verschiedenen verlustbehafteten Kompressionsformaten zu konvertieren. Beispielsweise lassen MP3- und Vorbis-Formate unterschiedliche Stellen der originalen Audiowaveform fallen. Solltest du also eine MP3-Datei ins Ogg-Vorbis-Format konvertieren, dann wird das Resultat sich eventuell schlechter anhören als die Original-MP3.
Zwei oft eingesetzte Werkzeuge sind multimedia/transcode und mencoder (Teil von x11/mplayer). Sie verwenden - oder könnten es - die libavcodec-Bibliothek als Teil des Ports graphics/ffmpeg, dessen Ausgabe gute Qualität hat. Du kannst selbstverständlich ffmpeg auch gleich direkt verwenden. Es sollte auch möglich sein, den XviD-Encoder aus multimedia/xvidcore zu nutzen.
Die Dokumentation, die in Form von Manualseiten und HTML-Dokumenten in /usr/local/share/doc vorliegt, beinhaltet viele Beispiele - daher wird DRINGEND dazu geraten, diese Dokumentation zu lesen.
Diese Sektion soll keine ausführliche Liste aller funktionierenden Streamingformate sein, die auf irgendeiner Hardwarearchitektur funktionieren. Um mehr darüber zu erfahren, solltest du dich ausgiebig mit Streamingmedien auseinandersetzen. Eine etwas alte aber dennoch gute Einführung bietet dieses Kapitel über Streamingmedien des O'Reilly-Buchs mit dem Titel Designing Web Audio.
Das erste, was man einsehen sollte, ist dass es viele verschiedene Streamingprotokolle gibt. Das Streamingprotokoll definiert, wie die Streams über das Netzwerk gesendet werden. Sie wurden entwickelt, um eine effiziente Übertragung von Audio/Video über das Internet in Echtzeit bereitzustellen. Größtenteils ist das Streamingprotokoll ein Applikationsprotokoll (Schicht 7), welches entweder UDP oder TCP (Schicht 4) als Transportprotokolle nutzt. Das »User Datagram«-Protokoll UDP ist für diese Aufgaben sehr gut geeignet, da es keine Rückantworten auf die Pakete erfordert oder jegliche andere Netzwerklasten hervorruft. Viele spezialisierte aber proprietäre Protokolle wurden entwickelt, z. B. Microsoft Media Services (MMS) oder das »Real Time Streaming«-Protokoll (RTSP). Wie wir sehen werden wird auch HTTP (das wiederum TCP nutzt) ebenfalls verwendet, obwohl es keine Möglichkeit bietet, Streams bei einer konstanten Bitrate anzubieten, wie es etwa UDP, RTSP und MMS machen.
Ebenso gibt es ein Streamingformat, das definiert, wie die Audio-/Videodaten organisiert und abgespielt werden können. Die am weitesten verbreiten Formate sind MP3, Real Audio (RA, RM) und Windows Media (ASF) - alles proprietäre Technologien. Ab und zu könntest du auch auf einen Stream treffen, der das offene Ogg-Vorbis-Format nutzt.
Um ein Beispiel zu liefern, werde ich ein paar Schritt erklären, wie man Radio 1 hören kann - einen der belgischen Nationalradiosender. Browsereingebettete Plugins stehen unter OpenBSD nicht zur Verfügung, daher muss man etwas mehr tun als nur ein einfaches »click and play«.
Es sieht so als, als könnte ich sogar zwischen schlechter, normaler und guter Qualität des Streams aussuchen. Andere Websites beinhalten einen JavaScript-Code, um die URL zu generieren. In diesem Fall ist der beste Ratschlag: lies den HTML-Quelltext und die Skripte, auf die er verlinkt. Es ist gut möglich, dass du so die URL rekonstruieren kannst.$ 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'
Hinweis: Wir haben nicht jede erdenkliche Kombination von Plugins und Browsern getestet.
Nach der Installation werden Instruktionen angezeigt, wie man das Java-Plugin mit den Webbrowsern Firefox oder Mozilla verwendet. Erstelle die symbolischen Verknüpfungen wie es beschrieben wird. Du solltest dann das Java-Plugin nach dem Eingeben von »about:plugins« in der Adresszeile sehen können.
Hinweis: Du benötigst keine Linux-Emulation, um das Java-Plugin benutzen zu können.
Es ist eine gute Idee, etwas über die Linux-Emulation in der compat_linux(8)-Manualseite nachzulesen bevor du weitermachst - sinnvoll wäre auch FAQ 9 - Linux-Binaries unter OpenBSD ausführen.
Wenn du die Thematik verstanden und die benötigten Dateien noch nicht installiert hast, installiere einfach die Redhat-Packages. Bedenke, dass das Plugin das Linux-Gegenstück zu Openmotif benötigt. Angenommen, dass deine Umgebungsvariable PKG_PATH gesetzt ist (siehe FAQ 15),
Der erste Ausdruck wird kern.emul.linux=1 automatisch setzen - aber nicht permanent. Wenn du dauerhaft Linux-Emulation benötigst, kannst du das in /etc/sysctl.conf setzen (wird in FAQ 9 - Linux-Binaries unter OpenBSD ausführen erläutert).# pkg_add redhat_base-8.0p5.tgz # pkg_add redhat_motif-2.1.30p1.tgz
Eine weitere Sache, die du wissen solltest, ist, dass »shared libraries« und Module von Linux nicht mit OpenBSD-Programmen genutzt werden können, so dass du ebenfalls einen Linux-Browser benötigst.
Ein Kandidat hierfür ist der Webbrowser Opera, der über das Unterverzeichnis www/opera des Ports-Trees installiert werden kann. OpenBSD bietet hierfür keine Packages an, da die Lizenz von Opera die Weiterverbreitungsbestimmungen nicht klar genug abdeckt. Die Installation sollte aber nicht allzulang dauern, da der Browser in binärer Form von Opera Software ausgeliefert wird. Rufe einfach make install vom www/opera-Unterverzeichnis aus auf.
Nun ist es an der Zeit, das Flash-Plugin zu installieren. Lade die Linux-Version von Macromedias Seite herunter, entpacke das Archiv und kopiere die Dateien in das Unterverzeichnis für Plugins:
Hinweis: Dieses Kommando kommt dem Packages- und Portssystem in die Quere, da diese Datei nicht im zentralen Packagerepository deines Systems verzeichnet wird. Wenn du das Opera-Package entfernen oder upgraden willst, musst du zuerst das Flash-Plugin entfernen.# cp libflashplayer.so /usr/local/lib/opera/plugins
Wenn du dich an diese Anleitungen gehalten hast, dann wird das Flash-Plugin aufgelistet sobald du »about:plugins« in der Adressleiste eingegeben hast.
[FAQ-Index] [Zum Kapitel 12 - plattformspezifische Fragen] [Zum Kapitel 14 - Platteneinrichtung]