Linux MP3 HOGYAN Írta Philip Kerr, phil@plu24.com v1.31, 2000 március Ez a dokumentum a Linux alatti MP3 készítés és lejátszás hardver- és szoftverkövetelményeit írja le. ______________________________________________________________________ Tartalomjegyzék 1. Bevezetés 2. A dokumentumra vonatkozó szerzői jogok 3. A dokumentum lelőhelye 3.1 Fordítások 4. Köszönetnyilvánítás 5. Jogi felelősség 6. Hardverkövetelmények és a sebesség kérdése 7. Szoftverkövetelmények 7.1 WAV-leszedők és -felvevők 7.2 MP3-kódolók 7.3 Lejátszók 7.4 MP3-folyamok szolgáltatása 7.5 Egyéb 8. A rendszer beállítása 8.1 Beállítások az analóg hangfelvételhez 8.2 Hangfelvétel a CD-ROM-ról 8.3 További beállítások 9. MP3 előállítás hangforrásból 10. MP3 készítés a CD-ROM-ról 10.1 Kódolás a parancssorból 10.2 Grafikus felhasználói felülettel rendelkező MP3-kódolók 10.3 A kódolók teljesítménye 11. MP3 folyamok 11.1 Icecast 11.1.1 Shout 11.2 Fluid 11.3 A sávszélességgel kapcsolatos megfontolások 11.4 A szerzői jogok problémaköre 12. Az MP3 lejátszása 12.1 Fájl lejátszása 12.2 MP3-folyamok lejátszása 13. Visszajelzés ______________________________________________________________________ 1. Bevezetés Ez a dokumentum a Linux alatti MP3 készítés és lejátszás hardver- és szoftverkövetelményeit írja le. A tartalomból: MP3 készítése elő vagy külső forrásból MP3 készítése audio CD-ről MP3 folyam átküldése a hálózaton keresztül (streaming) MP3 lejátszása 2. A dokumentumra vonatkozó szerzői jogok Az MP3 HOGYAN szerzői jogait Phil Kerr birtolkolja (2000). Hungarian translation © Tímár András, 1999, 2000. A Linux HOGYAN dokumentumok szerzői joga a megfelelő szerzőké, hacsak másképp nem rendelkeznek. A Linux HOGYAN dokumentumokat szabad részben vagy egészben másolni és terjeszteni bármilyen fizikai vagy elektronikus adathordozón, de ezt a szerzői jogokra vonatkozó megjegyzést minden másolathoz mellékelni kell. Az üzleti célú terjesztés megengedett és bátorított, de a szerző szeretne tudomást szerezni minden ilyen terjesztésről. Minden Linux HOGYAN-on alapuló fordítás, származtatott mű vagy összefoglaló munka ezen szerzői jogi kötelmek alá kell essen. Ez azt jelenti, hogy nem szabad olyan HOGYAN-on alapuló művet létrehozni, amely további megkötéseket tartalmaz a terjesztésre. Bizonyos feltételek esetén ezek a szabályok figyelmen kívül hagyhatóak, erről a Linux HOGYAN koordinátor ad felvilágosítást a lent olvasható címen. Röviden megfogalmazva, szeretnénk, ha az információ minél több csatornán elterjedne, de szeretnénk megtartani a HOGYAN dokumentumok szerzői jogát, és szeretnénk értesülni bármilyen terjesztési tervről. Kérdésekkel a Linux HOGYAN koordinátorát, Tim Bynumot lehet megkeresni a linux-howto@metalab.unc.edu drótpostacímen. 3. A dokumentum lelőhelye Ezen dokumentum legfrissebb (angol) verziója megszerezhető a Linux Documentation Project honlapjáról ( ). Létrehoztam egy külön honlapot is ennek a HOGYAN-nak: 3.1. Fordítások Ez a HOGYAN a következő nyelvekre lett lefordítva: Megegyzendő, hogy a fordítások nem feltétlenül felelnek meg a dokumentum legfrissebb verziójának, hiszen a fordítás időt vesz igénybe. Koreai , Lee So-min Francia , Arnaud Gomes-do-Vale Magyar , Tímár András Olasz , Mariani Dario Spanyol , Arielo Nagyon köszönöm a fordítók munkáját. Ha lefordítottad más nyelvre ezt a HOGYAN-t, kérlek, írj egy emailt, és add meg az URL-t, ahol a fordítás elérhető. 4. Köszönetnyilvánítás Az MP3 HOGYAN írásában nagy segítségemre volt Jeff Tranter Sound- HOWTO-ja és Yoo C. Chung Sound-Playing-HOWTO-ja. Köszönettel tartozom továbbá az alábbi HOGYAN szerzőknek, akik munkájára hivatkoztam: Lars Wirzenius - Linux System Administrators Guide (SAG), Olaf Kirch - Linux Network Administrators Guide (NAG), Stein Gjoen - Multi Disk System Tuning HOWTO . Nagyon köszönöm mindenkinek, aki javaslataival vagy hibajelentéseivel segítette a munkámat. Különösen hálás vagyok a kollégáimnak a WebSentric AG-nél, név szerint Mark S. Fischernek és Peter Conradnak, a megjegyzéseikért, visszajelzéseikért és a támogatásukért. 5. Jogi felelősség A dokumentumban közölt információt mindenki a saját felelősségére használhatja. A dokumentum tartalmára vonatkozó minden lehetséges felelősséget elhárítok. Az ötleteket, példákat és/vagy a dokumentum más tartalmát a felhasználó kizárólag a saját felelősségére használja. A szerzői joggal a jogtulajdonosok rendelkeznek, hacsak kifejezetten másképp nem rendelkeztek másutt. Bármilyen kifejezés használata ebben a dokumentumban nem tekinthető semmilyen bejegyzett védjegy érvényessége megkérdőjelezésének. Egyes termékek vagy márkák megnevezése nem feltétlenül jóváhagyott. Javasolt, hogy mindenki mentse le az adatait egy nagyobb telepítés előtt és megadott időközönként. 6. Hardverkövetelmények és a sebesség kérdése A digitális hangfeldolgozás sok erőforrást köt le, és erősen függ a rendszer számítási és I/O képességeitől. Minimum Pentium osztályú gép ajánlott. Ha analóg hangjelet szeretnénk kódolni a hangkártya mikrofon vagy line bemenetén keresztül, akkor egy PCI buszos hangkártya adja a legjobb eredményt. Az ISA és PCI buszon alapuló hangkártyák között jelentős I/O sebességkülönbség lehet, a PCI busz sebessége több, mint 132 MBit/másodperc (idézet a PCI-HOWTO-ból). Természetesen minél jobb a hangkártya jel/zaj aránya, annál jobb lesz az MP3 minősége. Eddig Soundblaster PCI128-at használtam, és nemrégiben váltottam egy Soundblaster Live Value kártyára. Mindkét kártya hangminősége jó, de a Live kimutathatóan jobb jel/zaj aránnyal rendelkezik, megfelelő félprofesszionális munkára. Emlékezzünk a régi adatfeldolgozási tételre: ha a bemenet szemét, a kimenet is az lesz. A Creative elérhetővé tette a Sounblaster Live! hangkártyához kifejleszett linuxos beta meghajtóprogjamját. Az analóg hanganyag merevlemezre mentésénél a lemez és az illesztőkártya sebessége rendkívül fontos. IDE alapú rendszereknél a mode 4 vagy az UDMA képesség részesítendő előnyben, ezeknek az átviteli sebessége már elég nagy ahhoz, hogy biztosítsa a problémamentes adatátvitelt. Az ideális megoldás a SCSI alapú rendszer használata, ugyanis a meghajtók és az illesztőkártya sokkal gyorsabbak, a SCSI1 5 Mbit/másodperces állandó sebességétól kezdve egészen az UltraWide SCSI 80 Mbit/másodperces sebességéig. Az IDE csúcssebessége bármi lehet 8,3 MB/mp-től 33 MB/mp-ig (az Ultra-ATA-nál), de ezek a maximális sebességek, az átlagos átviteli sebesség kisebb. Aki megengedheti magának, vegyen AV SCSI merevlemezt. Az AV meghajtók író/olvasó fejét folyamatos adatátvitelre optimalizálták. Más SCSI és IDE meghajtók általában nem képesek fenntartani a folyamatos adatátvitelt, mert az írófej felmelegszik. Természetesen a cache-el rendelkező lemezegységek jobb teljesítményt fognak mutatni, mint azok, amelyekben nincs cache, mert amíg a fej mozog, vagy a lemezegység nem tud megbirkózni a rázúduló adatokkal, addig a cache befogadja az adatokat. Ha a lemezmeghajtó nem felel meg ezeknek a feltételeknek, akkor a felvételben pattogások és ugrások lesznek ott, ahol a lemez nem tudta felvenni a jelet. Élő, megismételhetetlen események hangfelvételére ajánlatos egy jó SCSI alapú lemez-alrendszer beszerzése. A másik gyakori oka a felvétel közbeni kihagyásoknak a túlzottan leterhelt rendszer. A háttérben futó programok a rendszer pillanatnyi hibázását okozhatják. Ajánlott minél kevesebb programot futtatni a háttérben, különösen a hálózatot használó programok kerülendőek. A hálózati programok beállításairól és a gép indulásakor lefutó scriptekről a SAG és a NAG könyvekben található több információ. A virtuális memória lapozása szintén okozhat zavarokat, ezért annyi fizikai memóriát használjunk, amennyit csak tudunk, javasolt a 32 MB, de esetleg sokkal többre is szükség lehet. Ha a maximumot szeretnénk kihozni egy rendszerből, akkor a kernel optimalizálása sem fog ártani. Bár a fent megadott jellemzőkkel rendelkező rendszer megfelelő a hangadatok MP3 formátumra kódolásához, ne mondjunk le egy szerényebb teljesítményű gép használatáról, ha csak ilyenhez van hozzáférésünk. Érdekes kihívás lehet egy rendszergazda számára egy szerényebb képességű gép beállítása, és a végeredmény esetleg egy jó eredményt felmutató linuxos gép lesz. Egy másik fontos kérdéskör az audiokábeleké. Az olcsó, gyenge minőségű kábelek és csatlakozók használata rossz minőségű felvételt eredményez. Ha a hangkártyán van RCA bemenet, akkor azt kell használni. Az aranybevonatú csatlakozók szintén segítenek fenntartani a jó hangminőséget. Az audiokábeleket tartsuk távol az adatkábelektől, hogy elkerüljük az interferenciát. Ne feledjük ellenben, hogy hiába költünk egy vagyont a legjobb audiokábelekre, ha a rendszer többi része nem optimalizált. Ha CD-ROM-ról szerezzük az MP3 fájlok nyersanyagát, a meghajtó sebessége határozza meg a nyers adatok olvasási idejét. Az egyszeres sebességű meghajtók csak a nagyon türelmes embereknek ajánlhatóak. Ha szeretnénk hallani, hogy mit veszünk fel, a CD-ROM-ot össze kell kötni a hangkártyával a belső csatlakozó használatával, vagy egyszerűen egy fejhallhalgatót is csatlakoztathatunk a CD-ROM fejhallgató kimenetére. Ez utóbbi esetben ne feledjük, hogy az MP3 számokat nem lehet a CD-ROM fejhallgató kimenetén keresztül meghallgatni. A hangkártyák telepítéséről részletesen olvashatunk a Sound-HOWTO- ban. 7. Szoftverkövetelmények A hanganyag MP3-ba kódolása általában kétlépcsős folyamat, először a hangot WAV formátumba kell felvenni, és aztán a WAV fájlt konvertáljuk MP3-ba. Néhány segédprogram egy lépésben megcsinálja ezt a két folyamatot. A hanganyag forrásától (CD vagy közvetlen felvétel) függően más-más programokra van szükségünk a WAV fájlok előállításához. Ha közvetlenül szeretnénk felvételeket készíteni a hangkártyánkkal, akkor egy olyan programra van szükségünk, ami a hangkártya bemenetére érkező jelet WAV formátumban tudja elmenteni. A következőkben néhány hasznos segédprogramot ismertetek (a információk nagy része az illető alkalmazás honlapjáról származik): 7.1. WAV-leszedők és -felvevők Analóg hangforrásból tud WAV fájlokat felvenni a Wavrec A wavrec a wavplay csomag része, ami letölthető innen: A CD hangadatainak WAV formátumra alakításához használható a CDDA2WAV és a Cdparanoia A cdparanioa a hagyományos audio CD (CDDA) lemezekről olvassa le az adatokat. Az alkalmazás a Paranoia programkönyvtárra épül, amely a tényleges munkát végzi. A cdparanoia forrásában megtalálható a Paranoia forráskódja is. Akár az eredeti cdda2wav, a cdparanoia is digitális adatként olvassa le a CD-ről a hangsávokat, nincs közben analóg lépés, és az adatokat fájlba vagy egy csőbe (pipe) írja WAV, AIFC vagy nyers 16 bites lineáris PCM formátumban. A cdda2wav programmal összehasonlítva a cdparanoia sokkal lassabbnak bizonyul, de ezzel a programmal lehet a legjobb eredményeket elérni a karcos, vagy más okból nehezen olvasható CD-knél. RipperX A RipperX egy GTK program, amely nemcsak a hangsávok leszedését támogatja, hanem az MP3-ba alakítást is. Különböző plugin-ek állnak rendelkezésre a cdparanoia, BladeEnc, Lame Mp3 encoder, XingMp3enc, 8hz-mp3, lame és az ISO v2 encoder programokhoz, továbbá lehetséges a CDDB (CD-k adatait tartalmazó internetes adatbázis) és az ID3 (rövid megjegyzés az MP3 fájlokban) használata is. 7.2. MP3-kódolók A WAV fájl MP3-ba alakításához egy MP3-kódoló programra van szükség. Blade's MP3 Encoder A BladeEnc egy ingyenes MP3-kódoló program. Ugyanazokon az ISO tömörítőrutinokon alapul, mint az mpegEnc, úgyhogy körülbelül ugyanaz a minőség várható tőle, esetleg egy kicsit jobb. A fő különbség a megjelenés és a sebesség. A BladeEnc nem rendelkezik olyan felhasználóbarát felülettel, mint az mpegEnc, de több mint háromszor gyorsabb, és egy csomó népszerű grafikus felhasználói felülettel rendelkező keretprogrammal együttműködik. Lame A híres GNU nevezéktanban a LAME a ``LAME Ain't an MP3 Encoder'' (a LAME nem egy MP3-kódoló) kifejezés rövidítése. A LAME tényleg nem egy MP3-kódoló, hanem csak egy GPL alá helyezett folt az ISO demo forráskódjában. A LAME teljesen alkalmatlan MP3 folyam létrehozására. Le sem lehet fordítani egymagában, szükség van hozzá az ISO forráskódra is. Az ISO demo forráskód szintén ingyen rendelkezésre áll, de minden üzleti jellegű felhasználáshoz, beleértve az ingyenes illetve szabad MP3-kódolókkal való terjesztést is, licencszerződést kell kötni a németországi Fraunhofer Gesellschaft-tal. Gogo Ez egy nagyon gyors MP3-kódoló az x86 processzorcsaládra, amely a LAME 3.29beta verzióján alapul, de PEN@MarineCat, Keiichi SAKAI, URURI, kei és shigeo optimalizálták a kódot. (A forráskód lefordításáshoz szükséges a NASM program is, amely letölthető a címről.) 7.3. Lejátszók Az MP3 fájlok lejátszásához külön lejátszóprogram szükséges: Xmms (Régebben X11Amp-nak hívták) Ez a lejátszó nagyon hasonlít a Windows platformon népszerű Winamp programra, a legtöbb funkció megegyezik, természetesen van néhány linux-specifikus sajátossága is. Xaudio Az Xaudio nagyon gyors és robusztus több platformon is használható program, amely digitális hanglejátszásra alkalmas, különösen az MPEG Audio (MP1, MP2 és MP3) dekódolásában jeleskedik. AlsaPlayer Az AlsaPlayer egy új típusú PCM-lejátszó. Több szálon fut, és a támaszkodik az ALSA programkönyvtárakra és meghajtókra. Van néhány nagyon érdekes sajátossága, amely egyedülálló a Unix/Linux lejátszók világában. A cél egy olyan keretrendszer létrehozása, amely minden fajta médiát képes lejátszani, de a fő hangsúly a PCM formátumú hangadat lejátszásán van. A sebesség (hangmagasság) teljes körűen szabályozható, pozitív *és* negatív irányba is! Ez az első linuxos és az egyetlen GPL-es lejátszó, ami erre képes!! MP3 és CD lejátszása változtatható sebességen :) mpg123 Mi az mpg123? Egy gyors, szabad és hordozható MPEG audio lejátszó Unixra. Támogatja az MPEG 1.0/2.0 layer 1, 2 és 3 szabványokat, és egy csomó platformon tesztelték már, többek között Linux, FreeBSD, NetBSD, SunOS, Solaris, IRIX, HP-UX és egyebek. A CD minőségű lejátszáshoz (44 KHz, 16 bit, sztereó) Pentium (vagy gyors 486), SPARCstation10, DEC Alpha vagy hasonló processzor szükséges. A monó és/vagy csökkentett minőségű hanglejátszás (22 kHz vagy 11 kHz) lassabb 486 processzorokon is lehetséges. Freeamp A FreeAmp egy bővíthető, több platformon is elérhető hanglejátszó. A dekódoláshoz a GPL alá helyezett Xing MPEG dekóder optimalizált verzióját használja, emiatt az egyik leggyorsabb és legszebb hangzású lejátszó a piacon. A FreeAmp rendelkezik mindazokkal a szolgáltatásokkal, amelyeket felhasználók elvárnak a könnyen kezelhető és letisztult felhasználói felülettel kapcsolatban. 7.4. MP3-folyamok szolgáltatása Az MP3-folyamok adására képes programok segítségével MP3 formátumú adást ``sugározhatunk'' a hálózaton keresztül, legyen az egy intranet vagy akár maga az Internet. Icecast Az icecast egy Mpeg Layer III formátumban sugárzó rendszer, amelyet a linuxpower.org csapata készített. Az icecast programmal egy csomagban megtalálható az iceplay és az icedir program is. Az iceplay segítségével kódolt fájlokat küldhetünk az icecast kiszolgálónkra. Fluid A Fluid Streaming Server program segítségével médiafolyamokat küldhetünk át a hálózaton. Jelenleg a program az MP3 formátumot használja. (régi honlap) (új honlap) 7.5. Egyéb Hangerőkiegyenlítés Wavnorm Élő forrás felvétele esetén, vagy régebbi CD-kből készített MP3 fájloknál tapasztalható a hangerő váltakozása. A hangerősségek kiegyenlítéséhez használhatjuk a wavnorm programot. A sox egy nagyon hasznos hangkonvertáló segédprogram, javaslom a beszerzését, azon kívül szükség is lesz rá a wavnorm használatához. Esetleg szükség lehet egy keverőprogramra, az Xmixer jól használható, és a legtöbb disztribúciónak része. 8. A rendszer beállítása Ez a fejezet bemutatja az alapvető beállításokat, amelyekkel a Linux alapú rendszer képessé válik hangfelvételek készítésére, akár analóg forrásból, akár CD-ROM-ról. A fejezet alapjául egy Intel platformon futó RedHat rendszer szolgált, de a leírtak eléggé diszribúciófüggetlenek. Hamarosan elkészítem a Sparc platformra vonatkozó verziót. (Ha bárkinek sikerül ezt a HOGYAN- t más hardveren használni, kérem, lépjen velem kapcsolatba.) Egy működő hangkártyára természetesen szükség lesz. Ezen a ponton szeretném felhívni a figyelmet a remek Linux Sound HOWTO-ra, amit Jeff Tranter írt. Ezután következhet a Yoo C. Chung által írt Linux Sound Playing HOWTO. Mindkét említett írás sokkal részletesebben és jobban tartalmazza a hangkártyák telepítésének és működtetésének fortélyait, mint ahogy én meg tudnám fogalmazni. 8.1. Beállítások az analóg hangfelvételhez Először állítsuk be a hangforrást. Rengeteg lehetőség van a hangforrás és a linuxos gép összekötésére, a leggyakoribbak a következők. A 'Line out'-ot csatlakoztassuk a hangkártya 'Line in' bemenetére. A legtöbb audio berendezésnek van 'Line out' kimenete. A Line szint szabványban rögzített, ami megadja, hogy milyen feszültséget ad ki az audio eszköz. Ha jól emlékszem, ez 500 mV a háztartási és félprofesszionális eszközökre és 750 mV a professzionális eszközökre. Tippem szerint a szabvány 500 mV-t ír elő a legtöbb hagkártyára, de néhány újabb professzionális eszköz esetleg a fejlettebb szabványt támogatja. Ez nem okozhat nagy különbséget, hacsak nem akarunk nagyon magas szinten felvenni. A Line szintű kimenetet szokták az erősítőhöz kötni a hifi berendezésekben, tehát a kazettás magnók, rádiók, CD-lejátszók, DAT magnók és a Mini-Disc lejátszók gond nélkül csatlakoztathatóak. A lemezjátszó már gondot okozhat, lásd lejjebb. Videomagnóról is felvehetünk hangot. A legtöbb videomagnónak van 'Line out' kimenete a hang számára, de a SCART csatlakozóról is leszedhető jel, ha van a videonkon. Az erősítő 'Tape out' kimenetét a hangkártya 'Line in' bemenetébe és a hangkártya 'Line out' kimenetét az erősítő 'Tape in' bemenetére. Ez az elrendezés tulajdonképpen lecseréli a hagyományos kazettás magnót a linuxos rendszerre. A 'Line out' -> 'Tape in' csatlakozás lehetővé teszi a felvételi szint figyelését. Mikrofon a hangkártya 'Mike in' bemenetére. A mikrofon által generált feszültség sokkal kisebb, mint a Line feszültségszintje. Ha a hangkártya 'Line in' bemenetébe dugjuk a mikrofont, nagy valószínűséggel nem veszünk fel semmit. FIGYELEM! ha fordítva csináljuk, azaz a mikrofonbemenetre csatlakoztatjuk a 'Line out'-ot, tönkretehetjük a hangkártyát. Lemezjátszó a mikrofonbemenetre. Köszönöm Mark Tranchant-nek a következő információt: A lemezjátszóból kijövő jel nagyon alacsony szintű. Ennek ellenére nem lehet a mikrofonbemenetre csatlakoztatni, ha jó minőségű felvételt szeretnél. A kimenetet ki kell egyenlíteni, mert a hanglemezeket kevesebb mély és több magas hanggal veszik fel, hogy kompenzálják a hangszedőtű mozgásának a hatását. Ez a kiegyenlítés pontosan definiálva van, és RIAA-korrekcióként szoktak rá hivatkozni. Éppen ezért a lemezjátszó kimenetét először egy lemezjátszó-erősítőbe kell vezetni, és az erősítőből kijövő jelet a a hangkártya 'Line in' bemenetére. A szintetizátort a 'Line in'-be kell csatlakoztatni. A gitárt egy ún. DI (Direct Injection, felerősíti a jelet Line szintre) dobozon keresztül lehet a 'Line in'-be dugni. Mielőtt bármit csatlakoztatnánk a hangkártyánkhoz, a hangerőt csökkentsük minimálisra, a mikrofont kapcsoljuk ki, vagy távolítsuk el a hangszórók közeléből. 8.2. Hangfelvétel a CD-ROM-ról Elég könnyű úgy beállítani a linuxos rendszert, hogy a CD-ROM-ról hangot tudjon felvenni. Ha halljuk a CD-ROM-ról lejátszott zenét a hangfalakon, amiket a hangkártyánkhoz csatlakoztattunk, akkor jó eséllyel fel is tudjuk venni. (A fordító megjegyzése: a szerző által említett cdda2wav és cdparanoia programok nem ezen az elven működnek, hanem a lemezről közvetlenül szedik le a sávokat digitális formában. Ehhez nincs szükség hangkártyára.) 8.3. További beállítások Lépjünk be a rendszerbe, ahogy szoktunk, és állítsuk be a keverőprogrammal a felvételi jelszintet olyan hangosra, hogy a felvétel jó legyen, de még ne torzítson. Általában ez megítélhető hallás alapján, egy idő után már tudni fogjuk, hogy milyen jelszint a megfelelő a berendezésünkhöz. Javasolt, hogy állítsunk le minden olyan háttérben futó programot, amelyre nincs szükségünk, vagy kapcsoljunk egyfelhasználós módba, különösen, ha hangforrást kódolunk. Ez biztosítja, hogy csak a legszükségesebb programok fussanak a háttérben, ezáltal a felvétel közbeni zavarok minimálisra csökkennek. A példáinkban egy külön SCSI meghajtót használunk hangfelvételre, amire /mnt/mp3 néven hivatkozunk. A SCSI meghajtó használatát a nagyobb teljesítménye indokolja. Egyébként is, ha egy külön meghajtót szentelünk a hangfelvételre, akkor csaknem biztosak lehetünk benne, hogy az írófej nem fog hirtelen máshova ugrani felvétel közben, és ez jó dolog :) Olvassuk el Stein Gjoen Multi-Disk-HOWTO-ját, ha tudni szeretnénk, hogy hogyan kell Linux alatt több lemezmeghajtót telepíteni. 9. MP3 előállítás hangforrásból Először is győződjünk meg arról, hogy elég hely van a merevlemezen. A CD minőség esetén (44.1 kHz, 16 bit sztereó) 1 perc kb. 10 MB-ot (5 MB-ot csatornánként) foglal. A DAT minőségű felvétel (48 kKz, 16 bit sztereó) még több helyet foglal. DAT minőségű felvételhez így paraméterezzük a wavrec programot: /usr/local/bin/wavrec -t 60 -s 48000 -S /mnt/mp3/temp.wav Az első rész a wavrec program elérési útja. A '-t 60' paraméter a felvétel idejét adja meg másodpercben. A harmadik paraméter, a '-s 48000' a mintavételi frekvencia minta/másodpercben (48000 a DAT mintavételi frekvenciája, 44100 a CD-é). Az utolsó paraméter a célfájl elérési útja. A wavrec összes lehetséges paraméterének megtekintéséhez futtassuk a 'wavrec -help' parancsot, vagy nézzük meg a kézikönyvoldalát. Létrejött a WAV fájl, a következő lépés az MP3-ba kódolás. Használjuk a bladeenc programot a következő parancssorral. /usr/local/bin/bladeenc [forrásfájl] [célfájl] -br 256000 A -br paraméter állítja be a bitrátát, ami esetünkben a maximális 256 kbit/másodperc. A bladeenc elérési útja egyes rendszerekben eltérhet a példában megadottól. Az összes paraméter megtekintéséhez adjuk ki a 'bladeenc -help' parancsot. A -help ugyan érvénytelen paraméter, de a paraméterek listája megjelenik. Ugyanez a kódolás a Lame segítségével (vagy a Gogo-val, hiszen az is a Lame-en alapul) a következő parancssorral lehetséges: /usr/local/bin/lame [forrásfájl] [célfájl] -b 256 10. MP3 készítés a CD-ROM-ról Hasonlóan a hangforrásból való kódoláshoz, a CD-ről történő kódolás is kétlépcsős. Először a hangsávokat le kell szedni a CD-ről és WAV formátumban kell elmenteni. Aztán a WAV fájlt konvertáljuk tovább MP3-ba. A MP3-kódoló programokat két nagy csoportra oszthatjuk, a konzolon futó és az X alatt futó programok csoporjára. Mindkét csoport ugyanazt a feladatot látja el, de az X alapúakat egyszerűbb használni (és jobban is néznek ki). Ismét ellenőrizzük, hogy elegendő hely van-e a merevlemezen. 10.1. Kódolás a parancssorból Írtam egy nagyon egyszerű Perl scriptet, ami leszedi és MP3-ba kódolja a CD sávjait. ______________________________________________________________________ #!/usr/bin/perl if ($ARGV[0] ne "") { $count = 1; do { $cdcap = system("cdparanoia", $count, "/mnt/mp3/cdda.wav"); $track = "$ARGV[1]/track".$count.".mp3"; $enc = system("bladeenc /mnt/mp3/cdda.wav $track -br 256000"); $count++; } until $count > $ARGV[0]; exit; } else { print "Használat: cdriper [sávok száma] [célkönyvtár]\n\n"; } ______________________________________________________________________ Jegyezzük meg, hogy ez a script nagyon primitív, semmi sallangot (pl. hibaellenőrzés) nem tartalmaz. Akinek kedve van rá, továbbfejlesztheti :) A legfontosabb sorok: ______________________________________________________________________ $cdcap = system("cdparanoia", $count, "/mnt/mp3/cdda.wav"); ______________________________________________________________________ Ez a sor hívja meg a cdparanoia programot, ami a sávokat leszedi. A cdparanoia a nyers CD hangadatokat WAV formátumúvá alakítja. Én Cdparanoia-t használtam, de ha a CDDA2WAV programot szeretnénk használni akkor a parancssor ez lenne: ______________________________________________________________________ $cdcap = system("cdda2wav", $count, "/mnt/mp3/cdda.wav"); ______________________________________________________________________ A legfontosabb paraméterek a $count, amely a leszedendő sávok számát tartalmazza, és a keletkező WAV fájlok elérési útja. A példában ez a gyökérkönyvtár lesz az MP3 SCSI meghajtón. Ezután a WAV fájlt MP3-ba kódoljuk a Bladeenc segítségével. Ez a kis Perl script szükségtelenné teszi, hogy egyenként szedjük le és kódoljuk a sávokat, és szükségtelenné teszi a cdparanoia köteg üzemmódjának a használatát is. Ez lecsökkenti a szükséges üres lemezterületet, ugyanis a cdparanoia köteg üzemmódja az egész lemezt egyben leszedné, ami akár 600 MB is lehet. Ha a Lame vagy Gogo programokat szeretnénk használni, cseréljük ki a kódolót megadó sort: ______________________________________________________________________ $enc = system("lame /mnt/mp3/cdda.wav $track -b 256"); ______________________________________________________________________ vagy ______________________________________________________________________ $enc = system("gogo /mnt/mp3/cdda.wav $track -b 256"); ______________________________________________________________________ A következőkben megadjuk minden MP3-kódoló lehetséges kapcsolóit. Bladeenc ______________________________________________________________________ BladeEnc 0.91 (c) Tord Jansson Homepage: http://bladeenc.mp3.no =============================================================================== BladeEnc is free software, distributed under the Lesser General Public License. See the file COPYING, BladeEnc's homepage or www.fsf.org for more details. Usage: bladeenc [global switches] input1 [output1 [switches]] input2 ... General switches: -[kbit], -br [kbit] Set MP3 bitrate. Default is 128 (64 for mono output). -crc Include checksum data in MP3 file. -delete, -del Delete sample after successful encoding. -private, -p Set the private-flag in the output file. -copyright, -c Set the copyright-flag in the output file. -copy Clears the original-flag in the output file. -mono, -dm Produce mono MP3 files by combining stereo channels. -leftmono, -lm Produce mono MP3 files from left stereo channel only. -rightmono, -rm Produce mono MP3 files from right stereo channel only. -swap Swap left and right stereo channels. -rawfreq=[freq] Specify frequency for RAW samples. Default is 44100. -rawbits=[bits] Specify bits per channel for RAW samples. Default is 16. -rawmono Specifies that RAW samples are in mono, not stereo. -rawstereo Specifies that RAW samples are in stereo (default). -rawsigned Specifies that RAW samples are signed (default). -rawunsigned Specifies that RAW samples are unsigned. -rawbyteorder=[order]Specifies byteorder for RAW samples, LITTLE or BIG. -rawchannels=[1/2] Specifies number of channels for RAW samples. Does the same as -rawmono and -rawstereo respectively. Global only switches: -quit, -q Quit without waiting for keypress when finished. -outdir=[dir] Save MP3 files in specified directory. -quiet Disable screen output. -nocfg Don't take settings from the config-file. -prio=[prio] Sets the task priority for BladeEnc. Valid settings are HIGHEST, HIGHER, NORMAL, LOWER, LOWEST(default) and IDLE -refresh=[rate] Refresh rate for progress indicator. 1=fastest, 2=def. -progress=[0-8] Which progress indicator to use. 0=Off, 1=Default. Input/output files can be replaced with STDIN and STDOUT respectively. ______________________________________________________________________ Lame ______________________________________________________________________ LAME version 3.50 (www.sulaco.org/mp3) GPSYCHO: GPL psycho-acoustic model version 0.74. USAGE : lame [options] [outfile] and/or can be "-", which means stdin/stdout. OPTIONS : -m mode (s)tereo, (j)oint, (f)orce or (m)ono (default j) force = force ms_stereo on all frames. Faster and uses special Mid & Side masking thresholds -b set the bitrate, default 128kbps (for VBR, this sets the allowed minimum bitrate) -s sfreq sampling frequency of input file(kHz) - default 44.1 --resample sfreq sampling frequency of output file(kHz)- default=input sfreq --mp3input input file is a MP3 file --voice experimental voice mode -v use variable bitrate (VBR) -V n quality setting for VBR. default n=4 0=high quality,bigger files. 9=smaller files -t disable Xing VBR informational tag --nohist disable VBR histogram display -h use (maybe) quality improvements -f fast mode (low quality) -k disable sfb=21 cutoff -d allow channels to have different blocktypes --athonly only use the ATH for masking -r input is raw pcm -x force byte-swapping of input -a downmix from stereo to mono file for mono encoding -e emp de-emphasis n/5/c (obsolete) -p error protection. adds 16bit checksum to every frame (the checksum is computed correctly) -c mark as copyright -o mark as non-original -S don't print progress report, VBR histograms Specifying any of the following options will add an ID3 tag --tt title of song (max 30 chars) --ta <artist> artist who did the song (max 30 chars) --tl <album> album where it came from (max 30 chars) --ty <year> year in which the song/album was made (max 4 chars) --tc <comment> additional info (max 30 chars) MPEG1 samplerates(kHz): 32 44.1 48 bitrates(kbs): 32 48 56 64 80 96 112 128 160 192 224 256 320 MPEG2 samplerates(kHz): 16 22.05 24 bitrates(kbs): 8 16 24 32 40 48 56 64 80 96 112 128 144 160 ______________________________________________________________________ Gogo ______________________________________________________________________ GOGO-no-coda ver. 2.24 (Feb 12 2000) Copyright (C) 1999 PEN@MarineCat and shigeo Special thanks to Keiichi SAKAI, URURI, Noisyu and Kei This is based on LAME3.29beta and distributed under the LGPL usage gogo inputPCM [outputPCM] [options] inputPCM is input wav file if input.wav is `stdin' then stdin-mode outputPCM is output mp3 file (omissible) options -b kbps bitrate [kpbs] -br bps bitrate [ bps] -silent dont' print progress report -off {3dn,mmx,kni(sse),e3dn} -v {0,..,9} VBR [0:high quality 9:high compression] You should combine this with -b option for only RAW-PCM input -offset bytes skip header size -8bit 8bit-PCM [dflt 16bit-PCM] -mono mono-PCM [dflt stereo-PCM] -bswap low, high byte swapping for 16bitPCM -s kHz freq of PCM [dflt 44.1kHz] -nopsy disable psycho-acoustics -m {s,m,j} output format s:stereo, m:mono, j:j-stereo -d kHz change sampling-rate of output MP3 -emh {n,c,5} de-emphasis -lpf {on,off} 16kHz filter [dflt use if <= 128kbps; not use if >= 160kbps] -test benchmark mode -delete delete input file, after encoding ______________________________________________________________________ 10.2. Grafikus felhasználói felülettel rendelkező MP3-kódolók A grafikus felhasználói felülettel rendelkező MP3-kódolók rendelkeznek a konzol alapú programok minden funkciójával, de egy szép és könnyen kezelhető felületet is nyújtanak. A Grip és a RipperX hasonlóan működnek, mindkettőben kijelölhetünk konvertálásra egy, több vagy akár az összes hangsávot egy CD-ről. Mindkettő támogatja a CDDB adatbázist, amely letölti egy szerverről az album nevét és a számcímeket, megkímélve ezzel minket a begépeléstől. 10.3. A kódolók teljesítménye A kódolókról szóló fejezetben három különböző programot említettem: bladeenc, lame és gogo. A fő különbség a kódolási teljesítményben van (bár vannak különbségek a választható kapcsolók között is, ahogy ezt korábban láthattuk). Lássunk egy rövid példát. Leszedtem egy hangsávot egy CD-ről, és különböző kódolókkal MP3 formátumra alakítottam. A kódolók azonos paraméterekkel futottak azonos rendszeren. ______________________________________________________________________ [dj@megajukebox]$ ls -l cdda.wav -rw-rw-r-- 1 dj dj 59823164 Feb 10 00:56 cdda.wav [dj@megajukebox]$ bladeenc cdda.wav -br 256 BladeEnc 0.91 (c) Tord Jansson Homepage: http://bladeenc.mp3.no =============================================================================== BladeEnc is free software, distributed under the Lesser General Public License. See the file COPYING, BladeEnc's homepage or www.fsf.org for more details. Files to encode: 1 Encoding: ../test.wav Input: 44.1 kHz, 16 bit, stereo. Output: 128 kBit, stereo. Completed. Encoding time: 00:05:58 (0.78X) All operations completed. Total encoding time: 00:05:58 -------------------------------------------------------------------------------- [dj@megajukebox]$ lame cdda.wav -b 256 LAME version 3.50 (www.sulaco.org/mp3) GPSYCHO: GPL psycho-acoustic model version 0.74. Encoding ../test.wav to ../test.wav.mp3 Encoding as 44.1 kHz 128 kbps j-stereo MPEG1 LayerIII file Frame | CPU/estimated | time/estimated | play/CPU | ETA 10756/ 10756(100%)| 0:02:28/ 0:02:28| 0:02:29/ 0:02:29| 1.9074| 0:00:00 -------------------------------------------------------------------------------- [dj@megajukebox]$ gogo cdda.wav -m s -b 256 GOGO-no-coda ver. 2.24 (Feb 12 2000) Copyright (C) 1999 PEN@MarineCat and shigeo Special thanks to Keiichi SAKAI, URURI, Noisyu and Kei MPEG 1, layer 3 stereo inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=256kbps inp sampling-freq=44.1kHz out sampling-freq=44.1kHz bitrate=128kbps input file `../test.wav' output file `../test.mp3' { 10751/ 10755} 100.0% ( 2.94x) re:[00:00:00.03] to:[00:01:35.42] End of encoding time= 95.430sec ______________________________________________________________________ Úgy tűnik, hogy a Gogo által használt algoritmus jobban optimalizált, mint a Bladeenc és a Lame által használt. 11. MP3 folyamok Egy MP3 folyamot szolgáltatni képes kiszolgáló segítségével MP3 fájlokat küldhetünk át egy TCP alapú hálózaton. Ez a hálózat lehet maga az Internet, vagy egy helyi hálózat. A kapcsolódás elve nagyon hasonló a webszerverhez, a fájlok küldése megindul, amikor a kliensprogram (MP3-lejátszó) a kiszolgálóhoz kapcsolódik. Egy ilyen kiszolgáló telepítése és konfigurálása viszonylag egyszerű. Először az Icecast-ról írok, aztán rátérek a Fluid bemutatására. 11.1. Icecast Letöltés és kicsomagolás után nem árt, ha vetünk egy pillantást a doc/ könyvtárra. A HTML kézikönyv nagyon jól használható, és mindenre kitér. A forrás letöltése után le kell fordítani a programot, a rendszerspecifikus fordítási utasítások alapján. Az Icecast nem fog jól működni, ha nem az a gépnév van beállítva az etc/icecast.conf fájlban, ami a saját gépnevünk. Ha az Icecast indításakor ezt a hibaüzenetet látjuk, akkor baj van: ______________________________________________________________________ -> [05/Jan/2000:17:21:04] WARNING: Resolving the server name [your.server.name] does not work! ______________________________________________________________________ Nyissuk meg az etc/icecast.conf fájlt, és keressük meg a ``server_name'' bejegyzést. Írjuk be a gépünk nevét. Ha nem vagyunk biztosak a gépnévben, a hostname parancs segít, vagy nézzük meg at /etc/hosts fájl tartalmát. Ha kész vagyunk a változatatásokkal, akkor vagy másoljuk a bin könyvtárba a konfigurációs fájlt, vagy indítsuk el az icecast-ot a -c kapcsolóval, és adjuk meg az elérési utat: ______________________________________________________________________ ./icecast -c ../etc/icecast.conf ______________________________________________________________________ Ha mindent sikerült jól beállítani, akkor valami ilyesmit láthatunk: ______________________________________________________________________ [dj@megajukebox bin]$ ./icecast -c ../etc/icecast.conf -d /home/dj/mp3/icecast/ Icecast Version 1.3.0 Starting... Icecast comes with NO WARRANTY, to the extent permitted by law. You may redistribute copies of Icecast under the terms of the GNU General Public License. For more information about these matters, see the file named COPYING. [05/Jan/2000:18:36:30] Icecast Version 1.3.0 Starting.. [05/Jan/2000:18:36:30] Using stdin as icecast operator console [05/Jan/2000:18:36:30] Tailing file to icecast operator console [05/Jan/2000:18:36:30] Server started... [05/Jan/2000:18:36:30] Listening on port 8000... [05/Jan/2000:18:36:30] Using [megajukebox] as servername... [05/Jan/2000:18:36:30] Max values: 1000 clients, 1000 clients per source, 10 sources, 5 admins -> [05/Jan/2000:18:36:30] [Bandwidth: 0.000000MB/s] [Sources: 0] [Clients: 0] [Admins: 1] [Uptime: 0 seconds] ______________________________________________________________________ A -d kapcsoló után lehet megadni azt a könyvtárat, ahol a naplófájlokat és a sablonokat tartja a program. A parancssori kapcsolók listája: ______________________________________________________________________ -c [fájlnév] A fájlt konfigurációs fájlként fogja értelmezni. Jegyezzük meg, hogy minden ezután megadott paraméter felülbírálja a fájl tartalmát. Ne feledjük továbbá, hogy az aktuális könyvtárban levő icecast.conf fájlt már beolvasta a program, mire ehhez a paraméterhez ért, tehát ha valamelyik beállítást nem bíráljuk itt felül, akkor az eredeti beállítás érvényesül. -P [port] Ezt a protot használja minden kapcsolatra (kliens, forrás, adminisztrátor). Az alapértelmezett érték 8000. -m [max kliens] Maximum ennyi klienst enged csatlakozni a kiszolgálóhoz. A maximális szám elérése után a klienst visszautasítja 'HTTP/1.0 504 Server Full' üzenettel. -p [jelszó] Ezzel állíthatjuk be azt a jelszót, amelyet a kódolóprogramnak használnia kell, ha egy folyamot akar a kiszolgálóra küldeni. Ha a kiszolgálót crypt() támogatással fordították, akkor ez az argumentum egy kódolt karakterlánc kell legyen. -b Ennek a kapcsolónak a használatával a háttérbe tehetjük az icecast kiszolgálót (démon processz lesz). Az adminisztrátor a szervert egy telnet kliensen keresztül érheti el. -d [könyvtár] Ebbe a könyvtárba teszi az icecast a naplófájlokat, és minden sablont itt keres. ______________________________________________________________________ Eljutottunk odáig, hogy elindult a kiszolgáló, most meg kell adni neki az MP3 forrását. 11.1.1. Shout A Shout biztosítja az Icecastnak a lejátszandó MP3 fájlok listáját. A listát könnyen előállíthajtjuk a következő paranccsal: ______________________________________________________________________ find [MP3 könyvtár] -name *.mp3 -print > playlist ______________________________________________________________________ A legegyszerűbben úgy indíthatjuk el a shout folyamatot, hogy kiadjuk a következő parancsot: ______________________________________________________________________ [dj@megajukebox bin]# ./shout megajukebox -P hackme -p playlist ______________________________________________________________________ A -P kapcsoló után kell megadni azt a jelszót, amely az Icecasthoz való hozzáféréshez szükséges. Ennek az alapbeállítása a hackme. Ezt ajánlatos sürgősen megváltoztatni, mielőtt más teszi meg helyettünk :) A -p kapcsoló után kell megadni a lejátszandó fájlok listáját. Az összes parancssori kapcsoló listája: ______________________________________________________________________ [dj@megajukebox bin]# ./shout Usage: shout <host> [options] [[-b <bitrate] file.mp3]... Options: -B <directory> - Use directory for all shout's files. -C <file> - Use file as configuration file -D <dj_file> - Run this before every song (system()) -P <password> - Use specified password -S - Display all settings and exit -V - Use verbose output -X <desc> - Use specified description. -a - Turn on automatic bitrate (transfer) correction -b <bitrate> - Start using specified bitrate -d - Activate the dj. -e <port> - Connect to port on server. -f - Skip files that don't match the specified bitrate -g <genre> - Use specified genre -h - Show this text -i - Use old icy headers -k - Don't truncate the internal playlist (continue) -l - Go on forever (loop) -m <mount> - Use specified mount point -n <name> - Use specified name -o - Turn of the bitrate autodetection. -p <playlist> - Use specified file as a playlist -r - Shuffle playlist (random play) -s - (Secret) Don't send meta data to the directory server -u <url> - Use specified url -v - Show version -x - Don't update the cue file (saves cpu) -z - Go into the background (Daemon mode) -t - Enable title streaming ______________________________________________________________________ 11.2. Fluid A tar fájl kicsomagolása után olvassuk el a README-t. A Fluidnak háromalapvető üzemmódja van, az átvitel, a közvetítés és a továbbítás. Az átvitelt fogom bővebben kifejteni. Az átvitellel kapcsolatos beállítások a config/MP3TX.cfg konfigurációs fájlban vannak. A kiszolgáló teszteléséhez az alapbeállítások megfelelnek, adjuk ki tehát a következő parancsot: java Fluid TX Természetesen a Java-nak valamilyen formában telepítve kell lennie a rendszerünkön. Használhatjuk a JDK Blackdown portját, amely letölthető a <http://www.blackdown.org> webhelyről, vagy ha Redhat disztribúciót használunk, akkor ott a Kaffe. A Fluid csomag néhány MP3 fájlt is tartalmaz, tehát ha minden jól megy, valami hasonlót kell látnod. (Ebben a példában én a Kaffe-t használtam, más rendszereken esetleg a java-t kell használni): ______________________________________________________________________ [dj@megajukebox Fluid-Beta2J]$ kaffe Fluid tx ------- Fluid Streaming Server Beta 2 ------- This program is ShareWare(tm) and it will not be crippled in any way because of it. However if you do like the program and will use it commercial purposes, we ask of you to contact us at the address below for pricing info: Eldean AB E-mail: Sjoangsvagen 7 fluid@subside.com S-192 72 Sollentuna SWEDEN Fluid is Copyright Subside (C) 1998 written by Lars Samuelsson http://www.subside.com --------------------------------------------- * Transmission mode * Reading config from: config/MP3TX.cfg Reading playlist: playlist.m3u Server started on port: 2711 Accepting administrator login on port: 2710 P| Dr. Nick - Hello Everybody ______________________________________________________________________ Ha már idáig eljutottunk, akkor a lényeg már megvan, de biztosan mást is szeretnénk sugározni a demofájlokon kívül. Össze kell állítanunk egy listát a lejátszandó MP3 fájlokról. Ezt a listát a felhasználók nem képesek megváltoztatni. A lista neve playlist.m3u, és alapértelmezésben a program gyökérkönyvtárában van a helye. A lista összeállításához használhatjuk a következő parancsot, ez az összes MP3 fájlt berakja a listára, amely egy adott könyvtárban (lemezen) megtalálható: ______________________________________________________________________ find [MP3 könyvtár] -name *.mp3 -print > playlist.m3u ______________________________________________________________________ Alapértelmezés szerint a kiszolgáló a 2711-es portot használja, a hallgatóknak erre kell csatlakozniuk. Ha ezt meg kell változtatni, akkor a konfigurációs fájlt kell módosítani. A kiszolgáló távolról adminisztrálható az adminisztrációs porton keresztül, amelyre telnettel kapcsolódhatunk. Az alapértelmezett portszám 2710. ______________________________________________________________________ [dj@megajukebox Fluid-Beta2J]$ telnet localhost 2710 Trying 127.0.0.1..megajukebox Connected to localhost.localdomain. Escape character is '^]'. jaguar You are connected to the -Fluid- Streaming Server Type "help" for a command reference help The following commands are available: help conn curr exit curr Information about the currently broadcasted song: Title: Beer Talk Artist: Homer Simpson Album: The Simpsons Year: 1996 Comment: Borrowed this as an example Genre: Comedy ______________________________________________________________________ A "jaguar" az alapértelmezett adminisztrátori jelszó. Nem jelenik meg prompt a jelszó beírására, tehát ne várjunk feleslegesen erre! Javasolt az alapértelmezett jelszót megváltoztatni, mert különben egy biztonsági lyukat hagyunk a rendszerünkön. Ezt is konfigurációs fájl módosításával tehetjük meg, amely így néz ki: ______________________________________________________________________ [dj@megajukebox config]$ cat MP3TX.cfg 2711 2710 5 4096 32 1000 jaguar playlist.m3u current.txt # --- Az egyes sorok jelentése --- # 1. portszám (amit a kiszolgáló használ) # 2. portszám (a kiszolgáló távoli karbantartásához) # 3. a maximális csatlakozások száma (amit a kiszolgáló elfogad) # 4 csomagméret küldés/fogadás esetén (bájtban) # 5. az mp3-ak bitrátája kbit/s-ban (csak azonos bitrátájú mp3-ak lehetnek) # 6. szünet a számok között (ezredmásodpercben) # 7. a távoli adminisztráció jelszava # 8. lista neve (a lista .m3u formátumban kell) # 9. ebbe fájlba írja az aktuális dal ID3 info-ját ______________________________________________________________________ Az .m3u formátum megegyezik azzal, amit a fent megadott find paranccsal létrehozhatunk. 11.3. A sávszélességgel kapcsolatos megfontolások A hangfolyamok rengeteg sávszélességet foglalhatnak el, ha az MP3 kiszolgálók bitrátájat túl magasra állítjuk. Gondoljuk meg a következő esetet. A T1 kapcsolat kapacitása kb. 1,55 Mb/Sec. Ha az MP3 folyamokat sztereóban 128kbps-al sugáruzzuk, akkor minden csatlakozó lejátszó 256kbps sávszélességet használ, tehát hat felhasználó kapcsolódhat egyidőben problémamentesen a kiszolgálónkhoz. Mellesleg nem sok modemes felhasználóra számíthatunk 256kbps sebességen. Döntést kell hozni tehát, nemcsak abból a szempontból, hogy mit bír el az internetes vonalunk, hanem gondolni kell a potenciális felhasználókra is. Például a 24kbps sztereó jel már elég jó minőségű, és az 56K modemek felhasználói már képesek csatlakozni, azonkívül ugyanaz a T1 vonal ebben az esetben 32 egyidejű kapcsolatot képes kiszolgálni. Akkor is meg kell vizsgálni a sávszélesség kérdését, ha a kiszolgáló intraneten fut, különösen ha 10 Mb/Sec hálózatról van szó. Mindenképp értesítsük internetszolgáltatónkat vagy rendszergazdánkat arról, hogy médiafolyamokat fogunk sugározni, különben kínos meglepetések érhetnek. Néhány internetszolgáltatónál fizetni kell azért, ha túllépünk egy bizonyos határt a sávszélesség kihasználásában, a rendszergazdákat pedig mindig érdekli, hogy mitől lassult le a hálózat :) 11.4. A szerzői jogok problémaköre Nem tévedünk nagyot, ha feltételezzük, hogy a lemezkiadóknak nem fog tetszeni, ha MP3 zenét sugározunk, és nem kérünk erre engedélyt, vagy valamiképpen nem fizetünk ezért. Mit sugározhatunk tehát? Ez az a terület, ahol nagyon tisztában kell lenni a jogi finomságokkal, mert a műsort sugárzó személy felelősségre vonható. Két webhelyet érdemes meglátogani a témában. Az egyik az Electronic Frontier Foundation honlapja, amely azért küzd, hogy enyhítsenek a technológiát fojtogató szigorú szabályozásokon. A masik link a Recording Industry Association of America honlapjára vezet el, ők a művészek érdekeit szeretnék megvédeni a médiakalózoktól. Melegen ajánlom ezeknek a honlapoknak a meglátogatását, valamint azoknak a honlapoknak és egyéb irományoknak a tanulmányozását, amelyek magyarországi szabályozással foglalkoznak. <http://www.eff.org/cafe/> <http://www.riaa.com/weblic/weblic.htm> 12. Az MP3 lejátszása Remélhetőleg most már rendelkezünk néhány MP3 fájllal, amit lejátszhatunk. Választhatunk a fájlból vagy folyamból való lejátszás között. 12.1. Fájl lejátszása A fájlból lejátszás meglehetősen egyszerű az összes lejátszóprogrammal. Az egyetlen nagy különbség, hogy egyes programok konzolosak, mások az X-et használják. Az MP3 fájl lejátszásához a fájl nevét paraméterként kell megadni, valahogy így: ______________________________________________________________________ [dj@megajukebox]$ mpg123 /mp3_files/SampleFile.mp3 vagy [dj@megajukebox]$ xaudio /mp3_files/SampleFile.mp3 ______________________________________________________________________ Ha több fájlt is le szeretnénk játszani, megadhatunk egy listát: ______________________________________________________________________ [dj@megajukebox]$ alsaplayer /mp3_files/SampleFile1.mp3 /mp3_files/SampleFile2.mp3 ______________________________________________________________________ Használhatunk dzsóker karaktereket, például ha egy könyvtárban az összes számot le szeretnénk játszani: ______________________________________________________________________ [dj@megajukebox]$ xmms /mp3_files/*.mp3 ______________________________________________________________________ 12.2. MP3-folyamok lejátszása Az MP3-folyan lejátszása szintén elég egyszerű, a fájlnév helyére a folyam URL-jét és portszámát kell írni: ______________________________________________________________________ mpg123 http://localhost:8000 vagy freeamp http://megajukebox:2711 ______________________________________________________________________ 13. Visszajelzés Az idő múlásával új szoftverek és hardverek jelennek meg. Ha a dokumentumban szereplő hardverek és/vagy szoftverek újabb verziójával rendelkezünk, vagy bármi hozzáfűznivalónk van a témához, kiegészítéseinket elküldhetjük a szerzőnek a phil@plu24.com drótpostacímre, és ő belerakja a következő verzióba. Ne lepődjünk meg, ha a szerző nem válaszol azonnal a kérdésünkre, bár szeretné, de nem mindig jut rá ideje. Jó empéhármazást!!