[Index de la FAQ] [Section 12 - Questions Spécifiques Aux Plates-Formes Et Au Matériel] [Section 14 - Configuration des disques]
Tous les matériels audio supportés sont déjà inclus dans le noyau GENERIC, il n'y a donc pas besoin de configuration supplémentaire ou d'installation de drivers. Pour trouver des informations spécifiques à la puce de votre carte son, vous devrez déterminer quelle puce vous avez. Les puces supportées peuvent être trouvées sur la page des matériels supportés pour votre plate-forme. Si vous avez déjà OpenBSD lancé, cherchez l'apparition d'un driver de carte son dans la sortie de la commande dmesg(8), et lisez le manuel du driver pour des informations plus spécifiques comme les options et autres détails sur celui-ci. Voici un exemple d'une puce audio dans une sortie dmesg :
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 de base fournit deux outils pour superviser et configurer les périphériques audio. audioctl(1) est utilisé pour les paramètres de traitement audio, comme l'encodage, le taux d'échantillonnage et le nombre de voix, tandis que mixerctl(1) est utilisé pour les paramètres de mixage, comme la voix source, le niveau de gain et la mise en sourdine.
La commande suivante utilise audioctl(1) pour afficher les paramètres audio par défaut d'un périphérique audio.
Il faut remarquer que -f /dev/audio est utilisé explicitement. Ouvrir /dev/audio fait que le périphérique audio fait un reset aux paramètres par défaut, ce qui est ce que nous voulons voir.$ audioctl -f /dev/audio ...
audioctl(1) est aussi très utile pour explorer les capacités d'un périphérique audio. Par exemple, pour savoir si un périphérique supporte quelques taux d'échantillonnage standards, vous pouvez simplement essayer de changer les taux de lecture :
Ce périphérique supporte des taux de playback de 48000 et 44100 Hz, mais pas 22050 ou 8000. Il faut remarquer que si le taux d'échantillonnage n'est pas supporté, il n'y a pas obligatoirement un message d'erreur, mais le taux d'échantillonnage renvoyé n'est pas celui désiré.$ 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 $
Ce périphérique supporte uniquement la lecture en 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 $
Un matériel audio est usuellement capable d'au moins quelques capacités de mixage minimales. Exécuter mixerctl(1) sans arguments affichera la liste des contrôles de mixage du périphérique et ses paramètres actuels.
Certains périphériques possèdent seulement quelques contrôles, alors que d'autres une centaine ou plus. Il faut remarquer que toutes les options de chaque puce audio n'atteint pas nécessairement le monde extérieur. Il y a donc, par exemple, plus de sorties énumérées que celles qui sont physiquement disponibles sur une carte son ou carte mère.$ mixerctl ...
Il y a quelques contrôles qui sont communs à plusieurs périphériques :
Certains périphériques qui sont connus comme EAPD, qui signifie amplificateur externe d'arrêt. Cependant c'est juste un bouton marche/arrêt. Il fait probablement référence à un "arrêt" car il est souvent utilisé comme économiseur d'énergie, ce qui signifie que ce type de contrôle est plus souvent trouvé sur les portables. Quelquefois il est nécessaire de paramétrer les contrôles avec eapd ou extamp dans leur nom avec on pour obtenir un signal de sortie.
Comme exemple simple d'un usage courant de mixerctl, pour paramétrer le volume des voix gauche et droite à 200, vous devrez
Remarquez que la valeur est devenue 207. La raison à cela est que le périphérique de cette carte audio est un codec AC'97, qui utilise seulement 5 bits pour le contrôle, ce qui ne laisse que 32 valeurs possibles. D'autres matériels peuvent avoir une résolution différente.$ mixerctl outputs.master=200,200 outputs.master: 255,255 -> 207,207
Pour activer le canal "master", vous devriez faire :
$ mixerctl outputs.master.mute=off outputs.master.mute: on -> off
Pour que vos changements soient effectifs à chaque redémarrage vous devrez éditer /etc/mixerctl.conf, par exemple :
$ cat /etc/mixerctl.conf outputs.master=200,200 outputs.master.mute=off outputs.headphones=160,160 outputs.headphones.mute=off
OpenBSD est fourni avec aucat(1), un programme pour enregistrer et jouer de l'audio non compressé. L'exemple suivant jouera un fichier WAV.
aucat(1) supporte autant les écouteurs que les fichiers audio WAV avec l'option -i. aucat joue aussi les fichiers audio Sun ou les données audio sont encodées en 8 kHz monaural mulaw, qui est l'encodage le plus courant pour ce type de fichier audio.$ aucat -i filename.wav
Il est aussi possible de jouer des données audio non compressées en les envoyant directement sur le périphérique audio. Pour jouer un tel fichier, vous devrez connaître ses paramètres principaux : le type d'encodage, le nombre de canaux, la fréquence, et le nombre de bit par morceau. Si vous ignorez ces paramètres, vous pourrez les retrouver en utilisant l'utilitaire : file(1).
$ file music.au music.au: Sun/NeXT audio data: 16-bit linear PCM, stereo, 44100 Hz
La seule chose qu'il vous reste à savoir sur ces fichiers d'exemple est qu'ils sont encodés dans le format d'octet "little-endian" utilisant la quantification linéaire signée. Vous pouvez vérifier cela en lisant son en-tête avec hexdump(1). Si vous utilisez un fichier sans en-tête (raw), il n'y a aucun moyen de connaître les paramètres à l'avance. Configurez les paramètres suivants en utilisant audioctl(1).$ file music.wav music.wav: Microsoft RIFF, WAVE audio data, 16 bit, stereo 44100 Hz
Ensuite, envoyez le fichier audio au périphérique son :play.encoding=slinear_le play.rate=44100 play.channels=2 play.precision=16
Si vous avez appliqué les bons paramètres, vous devriez entendre ce que vous souhaitiez entendre.$ cat music.au > /dev/sound
Remarque : Utilisez toujours /dev/sound, et non /dev/audio, si vous souhaitez que les paramètres appliqués restent en place.
Il y a, bien évidemment, d'autres utilitaires que vous pouvez utiliser pour jouer ces fichiers. Comme XMMS qui est disponible dans les ports et paquetages et peut jouer bien d'autres formats audio.
À l'inverse de ce qui a été dit précédemment, il existe des formats audio sans perte de qualité. Free Lossless Audio Codec (FLAC) et TTA en sont des exemples. L'implémentation FLAC a été portée sous OpenBSD et peut être trouvée dans audio/flac dans les paquetages et les ports.
Un bon exemple est le format libre, ouvert et non déposé Ogg Vorbis. Pour jouer des fichiers Ogg Vorbis, vous pouvez utiliser l'utilitaire ogg123, qui est inclus dans le paquetage audio/vorbis-tools. Par exemple :
Bien sûr, les plugins Ogg Vorbis existent pour beaucoup d'autres logiciels audio.$ 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%
Un autre exemple est le très populaire encodage MPEG-1 Audio Layer 3 (MP3), qui a, cependant, ses problèmes de redistribution et brevets. Beaucoup de programmes peuvent jouer des fichiers MP3, consultez la section audio du système de paquetages et de ports et choisissez celui que vous souhaitez.
Que dire du format Windows Media Audio (WMA) ? Les fichiers de ce type peuvent être lus en utilisant x11/mplayer qui se sert de l'architecture FFmpeg.
Un bon point de départ pour en savoir plus sur les différents formats de fichiers audio est de lire l'article Wikipedia suivant : Audio file formats (en anglais).
$ timidity file.mid
Le moyen le plus simple de jouer vos fichiers MOD favoris sur OpenBSD est probablement d'utiliser le logiciel XMMS, disponible via les paquetages et les ports. Vous devriez installer le sous-paquetage -mikmod pour XMMS afin de lui permettre d'utiliser la bibliothèque sonore MikMod, qui supporte les modules de formats MOD, S3M, IT et XM.
Vous trouverez aussi liste de "trackers" dans la section audio de la collection de ports et de paquetages, comme par exemple tracker, soundtracker. Avec ces trackers, vous ne pouvez pas seulement jouer mais aussi générer vos propres modules. Remarquez que tous les trackers ne sont pas supportés par les outils de l'arbre des ports. Vous êtes invités à envoyer un port de votre programme de tracker favori.
Pour jouer un CD audio, en utilisant la sortie analogique de votre lecteur CD-ROM, vous pouvez
Un utilitaire pratique en ligne de commande appelé cdio(1) a été inclus dans le système de base. Appelé sans paramètres, il entrera en mode interactif. Si vous souhaitez jouer un CD-ROM, entrez :
$ cdio play
Cela lira depuis le premier lecteur CD-ROM, cd0, par défaut. Notez que l'utilisateur qui lance cdio doit bénéficier des permissions de lecture sur le périphérique CD-ROM (ex. /dev/rcd0c). Étant donné que par défaut ce périphérique n'est accessible en lecture que par root et le groupe "operator", pour plus de facilité vous pouvez ajouter l'utilisateur au groupe operator en éditant la ligne correspondante dans /etc/group. Une autre solution est de modifier les permissions du périphérique comme vous le souhaitez.
Vous aurez peut-être besoin d'activer l'entrée CD au niveau du mixeur de sons. Au même titre que les sorties, le nom réel de ce canal d'entrée varie selon les systèmes. Mais la commande à utiliser ressemble à la commande suivante :
Il est aussi possible qu'il n'y ait pas de connexion audio analogique entre votre lecteur CD et le périphérique audio. Dans ce cas vous pouvez utiliser les commandes cdplay de cdio pour envoyer les données audio du CD vers la carte sonore à travers le bus PCI.$ mixerctl inputs.cd.mute=off
$ cdio cdplay
Si vous préférez une belle GUI, il y a beaucoup de lecteurs de CDs basés sur X11 dans la collection de paquetages et de ports. Consultez simplement la section audio.
La commande précédente commencera l'enregistrement d'un fichier au format WAV. Appuyez sur [CTRL]-C pour terminer l'enregistrement. Le fichier contiendra des échantillons signés 16-bit stéréo, échantillonné à 48 kHz. D'autres formats d'échantillonnage, taux d'échantillonnage et nombre de voix peuvent être enregistrés. Lisez le manuel pour plus de détail.$ aucat -o file.wav
Utilisez aucat pour rejouer le fichier :
$ aucat -i file.wav
Si l'enregistrement semble fonctionner mais que la sortie de l'enregistrement est muette ou n'est pas ce que vous souhaitez, le mixer a sûrement besoin d'être configuré. Soyez sûr que vous sélectionnez le bon périphérique pour enregistrer et que la source n'est pas muette. Vous pouvez configurer les paramètres nécessaires en utilisant mixerctl(1). Par exemple :
Il y a des paramètres pour l'enregistrement avec un microphone. La pré-amplification a été activée, car sinon le son enregistré peut être quelque peu silencieux sur certains systèmes.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
Le démon sndiod(1) est une couche intermédiaire entre les programmes audio ou MIDI et le matériel. Il effectue le traitement audio nécessaire pour permettre à n'importe quel programme de fonctionner sur n'importe quel matériel supporté. Il dispose d'au moins un sub-device auquel un certain nombre de programmes audio peuvent se connecter et l'utiliser comme si c'était un matériel audio. Pendant la lecture, sndiod reçoit des données audio simultanément de tous les programmes, il mixe et envoie le résultat au matériel audio. De même, pendant l'enregistrement il duplique les données audio enregistrées à partir du périphérique et l'envoie à tous les programmes.
Par défaut, il accepte les connexions provenant d'un seul système; il s'initialise seulement lorsque les programmes utilisent ses services, ce qui signifie qu'utilises des ressources du système négligeables. Les systèmes sans matériel audio peuvent utiliser sndiod pour faire en sorte que lorsqu'un matériel de ces matériels est branché à chaud sur la machine, il puisse être utilisé.
Si les applications que vous utilisez sont compatibles avec votre matériel et que vous ne prévoyez pas de lancer plusieurs applications en même temps, vous n'avez absolument pas besoin d'un serveur audio. Depuis OpenBSD 5.1, sndiod(1) est lancé par défaut durant la phase de démarrage du système. Il n'y a pas plus de raisons de désactiver sndiod(1) sur un système sans matériel audio que de désactiver getty(8) sur un système bancal.
Notez que sndiod peut être contourné en utilisant rsnd/0 en tant que périphérique audio à la place de celui par défaut.
sndiod(1) impose une latence minimale sur toutes les applications audio, et la latence par défaut est 160ms. Si vous prévoyez d'utiliser des applications qui requièrent une plus faible latence, utilisez l'option ``-b'' pour sélectionner la latence désirée (exprimée en nombre de frames). Par exemple à 48000 échantillons/seconde, 50ms de latence correspond à :
48000 échantillons/seconde x 0.050 secondes = 2400 échantillonsensuite, ajoutez:
sndiod_flags="-b2400"à /etc/rc.conf.local.
sndiod_flags="-L-"à /etc/rc.conf.local. Sur le système local, configurez votre programme pour qu'il utilise:
snd@hostname/0où ``hostname'' est l'adresse du système distant. La variable d'environnement AUDIODEVICE devrait être définie à la valeur précédente pour faire de la carte audio distante le périphérique audio par défaut.
Notez qu'un système capable de se connecter au port TCP 11025 de la machine distante sera capable d'utiliser le périphérique audio. Pour des raisons de confidentialité, seul un utilisateur peut se connecter au système à la fois. Si plusieurs systèmes doivent utiliser le même périphérique audio simultanément, le cookie d'autorisation de sndio(7) doit être le même. Pour ce faire, copiez votre fichier ~/.aucat_cookie sur tous les comptes qui pourraient utiliser le périphérique audio.
Pour éviter les bogues, le trafic TCP sur le port 11025 devrait être prioritaire avec packet filter. Avec la configuration par défaut, sndiod va utiliser environ 200kB/s de bande passante.
Si vous n'entendez rien quand vous jouez de l'audio, il est possible que le contrôle du mixage soit trop faible ou simplement muet. Voir la section 13.1 - Comment puis-je configurer mon périphérique audio pour configurer le mixage. Merci de rendre non muet toutes les entrées et sorties avant de reporter un problème.
Si le son est distordu, il est possible que votre carte audio ne supporte qu'un unique ou nombre limité de taux d'échantillonnage ou d'encodages. Voir la section 13.1 - Comment configurer mon périphérique audio ? par exemple pour déterminer quels paramètres audio votre périphérique supporte.
Si votre périphérique ne supporte seulement que des encodages peu courants ou qu'un ou peu de taux d'échantillonnage, et l'application que vous utilisez ne peut pas faire les conversions audio nécessaires, considérez aucat(1) comme serveur audio. Voir le paragraphe 13.5 - Comment configurer un serveur audio ?
Si vous avez toujours des problèmes, voici quelques choses à considérer :
Si vous croyez que votre périphérique doit fonctionner, mais que pour une raison inconnue ce n'est pas le cas, il est temps de déboguer. Les étapes suivantes peuvent déterminer si les données sont traitées par le 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
Ici nous observons que le compteur des données traitées play.samples
augmente chaque fois lors de la vérification, donc les données passent.
Nous observons aussi que le périphérique récupère assez de données dans le
tampon play.seek et que le périphérique n'a pas de problèmes
via play.errors.
C'est une bonne chose.
Il faut remarquer que même si vous avez des enceintes connectées quand vous faites vos tests, vous n'entendrez rien. Le test envoie des zéros au périphérique qui devient silencieux pour tous les encodages par défaut supportés.
Depuis que nous savons que le périphérique peut traiter des données, c'est un bonne idée de vérifier encore les paramètres de mixage. Soyez sûr que toutes les sorties et entrées ne sont pas muettes et à un niveau raisonnable.
Si à ce moment vous continuez d'avoir des problèmes, il est probablement temps d'envoyer un fichier de rapport de bogue. En plus du rapport d'information de bogue comme un dmesg complet et une description du problème, merci d'inclure aussi le sortie par défaut de mixerctl -v et les sorties des tests précédents du traitement DAC.
Pour jouer des données MIDI, un synthétiseur connecté au port MIDI de la machine est indispensable. De façon similaire, pour enregistrer des données MIDI, un instrument MIDI est indispensable (comme un clavier MIDI). Certaines cartes sonores embarquent des synthétiseurs MIDI qui sont attachés au ports MIDI. Les instruments MIDI évolués peuvent contenir plusieurs éléments (synthétiseurs, claviers, contrôle de la surface, etc...), ils apparaissent comme plusieurs ports MIDI sous OpenBSD.
Quand OpenBSD est déjà fonctionnel, regardez les ports MIDI dans la sortie de la commande dmesg(8). Un exemple de ports MIDI dans une sortie dmesg :
Il montre deux ports MIDI correspondants à :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>
La sortie du clavier peut être connectée à l'entrée du synthétiseur comme :$ aucat -Mq rmidi/1 -o - | hexdump -e '1/1 "%02x\n"' 90 3c 71 ...
Maintenant vous pouvez entendre sur le synthétiseur ce que vous jouez sur le clavier MIDI. Referez-vous aux pages du manuel aucat(1) pour plus d'informations.$ aucat -M -q rmidi/0 -q rmidi/1
L'utilitaire principal pour jouer des fichiers MIDI est midiplay(1). Jouer un fichier MIDI standard, dans cet exemple à travers le synthétiseur, est aussi simple que :
$ midiplay -f rmidi/0 file.mid
Pour enregistrer des fichiers MIDI, vous pouvez utiliser l'utilitaire smfrec fournit dans le port audio/midish, ainsi :
enregistrera ce qui est joué au clavier (rmidi/1) pendant qu'il enverra en temps réel sur le synthétiseur (rmidi/0) ce que vous pourrez entendre en jouant. Une opération plus compliquée comme l'édition, routage, mixage et la transformation de données MIDI peut être réalisée en utilisant l'utilitaire rmidish disponible dans le port audio/midish.$ smfrec -d rmidi/0 -i rmidi/1 file.mid
Disons que vous avez un certain nombre de fichier WAV à encoder, par exemple votre album favori que vous venez juste d'extraire de son CD. Pour encoder tous ces fichiers en utilisant une fréquence d'environ 192 kbps, vous pouvez utiliser une commande comme celle-ci :
Une fois terminé, cela vous fournira un ensemble de fichiers .ogg dans le dossier courant. Des exemples plus précis ainsi que les options d'encodage peuvent être trouvés dans le manuel oggenc.$ oggenc *.wav -b 192
Ci-dessous se trouve un exemple simple d'encodage d'un fichier WAV avec une fréquence de 192 kbps :
Pour toutes les options et les détails, merci de consulter le manuel fourni avec lame.$ lame -b 192 track01.wav track01.mp3
Puisque la plupart des ordinateurs disposant d'un lecteur DVD-ROM utilisent un décodage logiciel, il est recommandé d'avoir au moins un processeur Pentium II 350-MHz ou équivalent pour disposer d'une bonne qualité d'écoute.
Quelques utilitaires de lecture DVD populaires ont été portés sur OpenBSD. Comme par exemple ogle ,mplayer, xine et kaffeine. Veuillez lire les instructions d'installation livrées avec ces paquetages, car ces fichiers peuvent nécessiter plus de configuration. Avec ces utilitaires il est possible de lire des DVD directement en accédant au périphérique raw. Bien sûr, il est possible de monter d'abord le DVD en utilisant mount_cd9660(8), et de jouer les fichiers sur ce système de fichiers ou un autre.
Remarque :
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
Dans ce qui suit, nous accéderons principalement au graveur de CD/DVD à travers le périphérique raw et non le périphérique block.# cd /dev # ./MAKEDEV cd2
Essayez de l'utiliser en y montant un CD/DVD. Si vous le souhaitez, vous pouvez aussi vérifier les taux de transfert que vous obtenez en copiant des fichiers sur votre disque dur. La commande time(1) sera votre meilleure amie.cd2 at scsibus2 targ 1 lun 0: <LITE-ON, DVDRW LDW-851S, GS0C> SCSI0 5/cdrom removable
Si quelque chose se passe mal ici et que vous obtenez des erreurs durant cette phase, il est important de les corriger avant de commencer à écrire un CD/DVD.
Comme exemple d'utilisation, j'ai essayé de sauvegarder les sources d'OpenBSD dans une image ISO 9660 :
$ 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 rockridge attributes bytes: 896209 Total directory bytes: 2586624 Path table size(bytes): 11886 Max brk space used 0 45919 extents written (89 Mb)
L'option -R demande à mkhybrid de rajouter des extensions Rock Ridge dans l'image ISO 9660. Le "Rock Ridge Interchange Protocol" a été créé pour supporter le système de fichiers POSIX à l'intérieur du système de fichiers ISO 9660, comme les longs nom de fichiers, les créateurs de fichiers, les permissions, les liens de fichiers, les fichiers de périphériques, les hiérarchies de fichiers profondes (plus de 8 niveaux de sous-dossiers), etc...
Si vous souhaitez que les longs noms de fichiers sur votre CD-ROM soient lisibles sur les systèmes Windows et DOS, vous devriez ajouter le paramètre -J pour inclure les extensions Joliet dans l'image ISO 9660.
Après avoir créé les systèmes de fichiers, vous pouvez le vérifier en montant l'image ISO 9660. Si tout se passe bien, vous êtes maintenant prêt à écrire le CD-R(W). La façon la plus aisée pour faire cela consiste à employer l'utilitaire cdio(1).
Si vous utilisez des média réinscriptibles tels que des CD-RW, vous devez tout d'abord procéder à un effacement avant de pouvoir faire une réécriture.
Vous êtes maintenant prêt à graver l'image créée dans l'exemple précédent sur un CD-R(W) vierge. Vous pourrez utiliser une commande similaire à :# cdio -f cd1c blank
En utilisant les options spécifiées ci-dessus, nous demandons à cdio d'utiliser le second périphérique CD-ROM comme graveur de CD.# cdio -f cd1c tao sys.iso#
Pour vérifier que le CD-ROM a bien été écrit, vous pouvez le monter et vérifier que tout ce qui doit y être y est. Pour monter le système de fichier, vous devez utiliser le périphérique block pour le lecteur de CD-ROM, qui dans ce cas est toujours le graveur de CD :
# mount /dev/cd1c /mnt/cdrom
Comme exemple, je ferais une copie de sauvegarde d'un de mes CDs de musique. Cela implique deux étapes :
Cette commande va extraire une série de fichiers WAV de votre second lecteur CD-ROM et les écrire sur votre disque.# cdio -f cd1c cdrip
# cdio -f cd1c tao -a *.wav
Remarques importantes :
Un format différent est le DVD-RAM, qui a principalement été développé comme un lecteur de données et dispose de fonctions d'écriture de paquets avancées, autorisant à l'utiliser comme une sorte de disque dur optique. DVD-RAM n'est pas recommandé pour une utilisation vidéo car les vidéos sont écrites sur le disque dans un format non compatible avec les lecteurs de DVD normaux.
Le point le plus important est d'utiliser le média adapté à votre graveur de DVD. Si vous souhaitez la compatibilité avec d'autres lecteurs de DVD, veuillez lire cette section de la FAQ DVD.
| Vitesse de Lecture/Écriture DVD | Taux de transfert (Mo/s) | Vitesse de Lecture/Écriture CD-R(W) |
| 1x | 1.32 | 9x |
| 2x | 2.64 | 18x |
| 4x | 5.28 | 36x |
| 8x | 10.57 | 72x |
Comme on peut le voir dans le tableau, les taux de transfert sont relativement hauts, et vous devrez vérifier que votre bus (SCSI, IDE/ATAPI, SATA, USB) est assez performant pour les supporter. Spécifiquement, les vielles interfaces USB 1.0 et 1.1 travaillent à des taux plus bas, avec des vitesses de transfert de 1.5 Mbit/s et 12 Mbit/s, respectivement. Cela signifie que l'USB 1.0 a une vitesse maximum de 178.8 kByte/s et USB 1.1 de 1.43 MB/s. USB 2.0 est plus rapide : 480 Mbit/s ou 57.2 MB/s. En général, les vitesses des bus SCSI, SATA et IDE/ATAPI sont correctes.
Dans le cas où vous voudriez plus d'informations sur le média présent dans votre graveur de DVD (par exemple si vous avez perdu le texte d'information dans la boite du cd ou êtes simplement désorganisé comme moi), vous pouvez utiliser l'utilitaire dvd+rw-mediainfo. Il y a deux options pour écrire le DVD:
J'ai créé une image ISO 9660 pré-masteurisée depuis les modules CVS d'OpenBSD (src, xenocara, ports et www) présents dans le dossier /cvs de mon disque. J'ai utilisé la commande suivante, qui ressemble beaucoup à celle que j'ai utilisé pour créer l'image CD-ROM précédente.
Si vous le souhaitez, testez le système de fichiers ISO 9660 en montant l'image. Pour écrire cette image (environ 2Go) sur un disque DVD, on peut utiliser :$ mkhybrid -r -o cvs.iso /cvs
L'option -Z demande à growisofs de graver une session initiale sur le périphérique, qui dans ce cas est mon graveur de DVD, attaché à cd2. L'option -dvd-compat finalise le disque, ce qui signifie qu'aucune nouvelle session ne peut y être rajoutée. Cela devrait fournir une meilleure compatibilité avec les lecteurs DVD et quelques vielles unités DVD-ROM.# 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
Remarquez comment growisofs indique la vitesse d'écriture, dans notre cas 3.9x, ce qui est ce que l'on peut attendre en combinant les vitesses du média et du graveur, comme indiqué par le dvd+rw-mediainfo.
Si vous ne disposez pas de suffisamment de place pour stocker une image de ISO 9660 four un DVD, vous pouvez écrire vos données directement sur le DVD. Essayons simplement une simulation de création du système de fichiers.
Si cela fonctionne, retirez simplement l'option -dry-run et commencez l'écriture du DVD.# growisofs -dry-run -Z /dev/rcd2c -R /cvs
# growisofs -Z /dev/rcd2c -R /cvs
Il est aussi possible d'ajouter des données à un DVD existant, en utilisant l'option -M, qui fond une nouvelle session dans une session existante :
Pour plus d'informations à propos de growisofs, consultez sa page de manuel.# growisofs -M /dev/rcd2c -R /mydata
Lorsque vous avez terminé d'écrire le DVD, montez-le et vérifiez que tout ce que vous souhaitiez présent y soit effectivement.
ce qui est bien plus lent. Cela signifie qu'il ne transite pas assez d'informations sur l'un des bus que votre DVD utilise. Dans l'exemple précédent, le graveur de DVD USB fut installé sur une machine sur laquelle le driver ehci(4), utilisé par les contrôleurs USB 2.0, ne s'est pas initialisé correctement. Comme d'habitude, vous êtes invités à envoyer des patchs et résultats de vos tests. Le graveur de DVD fut ralenti par l'interface USB 1.1 plus lente, ce qui a réduit la vitesse de gravure. L'USB 1.1 est limité à 12 Mbit/s, ce qui correspond à 1.43 MB/s ou 1.08x en terme de vitesse DVD. Le graveur de DVD est descendu à une plus basse vitesse de gravure pour diminuer le risque de buffer overrun (défaut de données à écrire).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 ...
Un bon outil de conversion de format est audio/sox, disponible au travers des ports et des paquetages. sox supporte les formats AIFF, AU, MP3, Ogg Vorbis, RIFF WAV et raw, ainsi que certains autres plus exotiques. Ci-dessous vous trouverez un exemple de conversion de l'enregistrement vers le format RIFF WAV.
Notez que les paramètres spécifiés correspondent aux paramètres d'enregistrement spécifiés avant l'enregistrement. Cela n'est qu'un exemple. De nombreux autres programmes et bibliothèques peuvent être utilisés en conversion audio.$ sox -U -c 1 -r 8000 -b myvoice.raw myvoice.wav
Note : Il n'est pas recommandé de convertir entre différents formats de compression dits destructeurs ("lossy"). Par exemple, les codecs MP3 et Vorbis suppriment certaines informations du fichier audio original. Ainsi, lorsque vous convertissez un fichier MP3 en Ogg Vorbis, le résultat final sonnera certainement moins bon que l'original.
Il existe deux utilitaires populaires, multimedia/transcode et mencoder (qui fait partie de x11/mplayer). Ils utilisent ou peuvent utiliser la bibliothèque libavcodec disponible dans le port graphics/ffmpeg et qui génère un format de sortie de bonne qualité. Vous pouvez bien sûr utiliser ffmpeg directement. Il devrait aussi être possible d'utiliser l'encodeur XviD présent dans multimedia/xvidcore.
La documentation, qui vient avec ces paquetages sous la forme de pages de manuel ou de documents HTML dans /usr/local/share/doc, contient de nombreux exemples, c'est pourquoi il est HAUTEMENT recommandé de lire ces documents.
Ce document ne représente pas une réponse exhaustive sur la manière de faire fonctionner tous les formats de streaming possibles sur n'importe qu'elle architecture. Tout d'abord, vous devriez vous renseigner sur la technologie de streaming. Quoiqu'un peu daté, le chapitre à propos du streaming tiré du livre "Designing Web Audio" aux éditions O'Reilly représente un bon début.
La première chose à savoir est qu'il existe plusieurs protocoles de streaming. Le protocole de streaming définit la façon dont les flux seront envoyés à travers le réseau. Ils ont été développés afin de garantir une transmission audio/vidéo efficace en temps réel par internet. En bref, le protocole de streaming est un protocole applicatif (niveau 7) capable d'utiliser les protocoles de transport UDP ou TCP (niveau 4). Le protocole de transport UDP ("User Datagram Protocol") convient parfaitement pour ce type d'application puisqu'il n'effectue aucune retransmission de paquets ou autre type de charge réseau. Un certain nombre de protocoles spécialisés mais propriétaires ont été développés, par exemple Microsoft Media Services (MMS - services média de Microsoft) et le Real Time Streaming Protocol (RTSP - protocole de transmission de flux en temps réel). Comme nous le verrons, HTTP (qui utilise TCP) est également parfois utilisé, même s'il ne permet pas de transmettre des flux à une vitesse régulière comme UDP, RTSP et MMS.
Ensuite, il y a le format de streaming qui représente la façon dont les données audio/vidéo ont été organisées et peuvent être lues. Les formats de streaming les plus utilisés sont le MP3, Real Audio (RA, RM) et le Windows Media (ASF) qui sont tous des technologies propriétaires. Parfois, vous rencontrerez certains streams au format Ogg Vorbis.
Pour l'exemple, j'expliquerai, en quelques étapes, comment j'arrive à écouter Radio 1, une des stations radios nationales belges. Sous OpenBSD, les plugins (modules externes) de navigateurs ne sont pas disponibles, ce qui signifie que la mise en place se résume rarement en un "clic et lecture".
Visiblement, je peux même choisir entre différentes qualités de flux ("low, medium et high"). D'autres sites peuvent contenir du code JavaScript pour créer l'URL. Dans ce cas, le meilleur conseil serait : parcourez le source HTML ainsi que les scripts auxquels il se réfère. Il existe une bonne chance que vous soyez en mesure de reconstruire l'URL à partir de ces données.$ 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'
À la fin de l'installation, des instructions seront affichées afin d'utiliser le plugin Java avec Firefox ou un navigateur basé sur Seamonkey. Créez le lien comme expliqué et vous devriez voir le plugin Java lorsque vous entrerez "about:plugins" dans la barre d'adresse.
Pour le navigateur web Konqueror de KDE, le binaire java doit être dans votre PATH, ou son chemin absolu doit être configuré du menu Settings -> Configure Konqueror -> Java & JavaScript. Par défaut le binaire java se trouve dans /usr/local/jre-version/bin/ ou /usr/local/jdk-version/bin/, cela dépend si vous avez installé le JRE ou le JDK.
Remarque : Le support Java a été testé uniquement avec les navigateurs Firefox, Seamonkey et Konqueror. Si il fonctionne bien avec d'autres navigateurs merci de nous le signaler.
Si vous cherchez juste à regarder des vidéos flash de sites courants, il y a plusieurs options dans les paquetages, incluant : get_flash_videos, minitube, youtube-dl, get_iplayer et yt. Aussi, le projet Gnash a fait beaucoup de progrès dernièrement, et doit répondre à vos besoins.
[Index de la FAQ] [Section 12 - Questions Spécifiques Aux Plates-Formes Et Au Matériel] [Section 14 - Configuration des disques]