от Andrew Ivanov(28-11-2000)

рейтинг (11)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

Тази статия е превод на Introduction to Streaming MP3 от Фил Кер публикувана в Linux.com.


MP3 е стандарт за кодиране на аудио (най-вече музика) в относително малки файлове.

Ако свалите MP3 файл на компютъра си и след това го прослушате, вие, по същество, копирате MP3 файла от Интернет сървър на локалният ви компютър. В днешно време съществуват множество начини да свалите MP3, като например:

  • чрез вашият web браузър
  • чрез FTP
  • чрез клиент като Napster/Gnutella
Поточното аудио прилича повече на слушането на радио. Вие "настройвате" компютъра си на определена "радиостанция" и слушате. Има няколко сървъра, които можете да използвате под Linux. Ще обясня как да настроите IceCast сървър заедно с два различни начина за свързване на "източник" LiveIce и XMMS-LiveIce.

Първо трябва да се сдобиете с копие на IceCast и да го инсталирате. В края на тази статия има препратки, включително и една към IceCast. Би трябвало да имате избор по отношение вида на пакета който да свалите: binary, RPM или source код. Аз ще използвам source кода. След като го свалите ще трябва да го инсталирате.

tar zxvf icecast-1_3_5_tar.tar.gz 
 [Много редове информация, никакви грешки] 

 cd icecast-1.3.5/ 
 ../configure 
 [Много редове с проверки, никакви грешки?] 

 make 
 [Много редове със съобщения, все още никакви грешки?] 

 make install [като root] 
 [Още няколко реда от make, Никакви грешки? Отлично!] 

 bash-2.04# ls -l /usr/local/icecast/
 total 24
  drwxr-xr-x   2 root    
 root         4096
Nov 16 20:09 bin
  drwxr-xr-x   2 root    
 root         4096
Nov 16 20:09 conf
  drwxr-xr-x   2 root    
 root         4096
Nov 16 20:09 doc
  drwxr-xr-x   2 root    
 root         4096
Nov 16 20:09 logs
  drwxr-xr-x   2 root    
 root         4096
Nov 16 20:09 static
  drwxr-xr-x   2 root    
 root         4096
Nov 16 20:09 templates
Сменете директорията с conf/. Тук могат да се намери набор от примерни config файлове. Този, който ни трябва, е icecast.conf.dist. Изкопирайте този файл в същата директория под име icecast.conf и редактирайте следните редове:
  • server_name your.server.name

  • Това трябва да бъде променено, за да отговаря на името на вашата машина. Можете да проверите името с командата hostname, като например:
    # hostname 
     megajukebox 
     #
    Ако това не е настроено правилно, IceCast няма да работи правилно.
     
     
  • port 8000

  • Това е портът по подразбиране, към който ще се свързват клиентите. Ако сте зад защитна стена (firewall), ще трябва да отворите този порт.
     
     
  • encoder_password hackme

  • admin_password hackme
    oper_password hackme
    Това са паролите за отдалечено администриране на сървъра. Ако не ги промените, може да изпаднете в недоумение, защо вашият сървър непрестанно върши странни неща.
Има още много опции в conf файла, но тези са най-важните за стартирането на сървъра.
 

Стартирайте го!
И така, конфигурацията е завършена, време е да стартираме сървъра. Сменете директорията на bin/ и напишете следното:

# ./icecast -c ../conf/icecast.conf -b
Опцийте указват пътя до conf файла, а -b стартира сървъра във фонов режим.
bash-2.04# ./icecast -c ../conf/icecast.conf -b 
 Icecast Version 1.3.5 Initializing... 
  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. 
 Starting thread engine...
За всеки случай, проверете дали процесът работи със командата ps:
bash-2.04# ps -ef|grep icecast
  root     
 7776     1  0 20:48
 pts/0    00:00:00 ./icecast -c
../conf/icecast.conf -b
  root      7777  7776  0
 20:48 pts/0    00:00:00 ./icecast -c
../conf/icecast.conf -b
  root      7778  7777  0
 20:48 pts/0    00:00:00 ./icecast -c
../conf/icecast.conf -b
  root      7779  7777  0
 20:48 pts/0    00:00:00 ./icecast -c
../conf/icecast.conf -b
  root      7780  7777  0
 20:48 pts/0    00:00:00 ./icecast -c
../conf/icecast.conf -b
Можете да проверите състоянието на сървъра чрез изследване на log-файловете му в директория log/. И така, сървърът работи. Нетърпеливи сте да чуете аудио потока, нали?
Сега трябва да свържем някакъв източник към сървъра. Този източник ще осигури на сървъра списък с MP3-ки или връзка със звуковата карта.

LiveIce
LiveIce осигурява такъв източник, както от MP3 файлове, така и от line-in или микрофонния вход на звуковата карта.
За да го накарате да работи, ви трябват още няколко файла:

  • Encoder. Ще ви трябва MP3 енкодер. Аз използвам Notlame.
  • MP3 плеър. Аз използвам mpg123.
  • Tcl/Tk. Този език за скриптове ви е необходим за да пуснете liveiceconfigure.tk
Свалете и разархивирайте LiveIce, а след това направете така:
tar zxvf liveice.tar.gz 
 cd liveice 
 ../configure 
 make 
 ../install-sh liveice /usr/local/bin [като root]
Ура! Инсталирахме го! Сега трябва да го конфигурираме. В директорията на LiveIce има един Tk скрипт, който се използва за създаването на liveice.cfg и е наречен liveiceconfigure.tk. Скриптът стартира конфигуратор в графичен режим. Ще трябва да настроите данните да отговарят на настройката на IceCast. А ето и останалите:
  • Public. Обявете информация за MP3 директорията на сървъра.
  • Login type. Използва се за настройка на опцийте за login.
  • PCM аудио формат. Изберете опции за енкодера.
  • Soundcard. Изберете дали да се използва и какъв изход
  • Encoder/Executables - encoder. Избор на енкодер и настройка на опцийте.
  • Mixer Control. Избира опции за смесването.
  • Опции за записа на log-ове и съхраняване на конфигурацията.
Е, добре. След като конфигурацията е коректна, влезте в liveice и се уверете, че работи:
bash-2.04# liveice playlist
 1
 Initializing Soundcard
 16Bit 22050Hz Stereo 
 opening connection to megajukebox 8000
 Attempting to Contact Server
 connection successful: forking process
 opening pipe!...
 writing password
 Setting up Interface
 Soundcard Reopened For Encoding
 Input Format: 16Bit 22050Hz Stereo
 Output Format: 32000 Bps Mpeg Audio
 IceCast Server: megajuxebox:8000
 Mountpoint: liveice
 Name: Megajukebox
 Genre: Live
 Url: http://megajukebox
 Description: LiveIce

 Press '+' to Finish
 adding /storage/samples/sample1.mp3
 adding /storage/samples/sample2.mp3
 adding /storage/samples/sample3.mp3
 adding /storage/samples/sample4.mp3
 adding /storage/samples/sample5.mp3
 Adding New Channel 1
 Adding New Channel 2
 Channel 1 selecting 
 /storage/samples/sample1.mp3
 Channel 2 selecting 
 /storage/samples/sample1.mp3
 Playing track01.mp3
 searching for Id3v2
 searching for Id3v1
 making up the info
 Using log track.log
 ******
След началните съобщения, би трябвало да видите мигащи цифри. Те индикират силата на входния сигнал. Ако сте избрали да използвате звукова карта и сигналът е твърде силен ще видите *clip*.

Следва списък на клавиатурните команди.
Действие Канал 1 клавиш Канал 2 клавиш
1 a
Избор на предходно парче по канала q z
Start/Stop за канала 2 s
Рестарт на канала w x
Увеличаване силата на звука 3 d
Намаляване силата на звука e c
Увеличаване скоростта на канала 4 d
Намаляване на скоростта r v
Sticky режим Вкл/Произволно/Изкл 5 g
Прослушване на канала t b
Произволна последователност u m

XMMS-LiveIce
XMMS-LiveIce е поточен модул за XMMS (ВЕРСИИ ПО-ГОЛЕМИ ОТ 1.0.0). Той ви позволява да работите с поточни mp3-ки, използвайки XMMS плеъра. Ако свалите source кода, ще трябва да го конфигурирате и компилирате като останалите.
След като го инсталирате, трябва да стартирате XMMS и да включите допълнението. От менюто отидете на Options -> Preferences и изберете Effects. Сега падащото меню с Effect plugin-ите трябва да включва LiveIce 1.0.0 (или с подобен номер версия). Изберете го и щракнете на бутона Configure. Параметрите доста приличат на тези на LiveIce и трябва да бъдат настроени спрямо вашата система.
След като го активирате, пуснете (play) MP3 както обичайно и в логовете на IceCast би трябвало да видите XMMS като източник.

Е, Сега би трябвало да можете да пускате поточни mp3-ики с IceCast сървъра използвайки LiveIce или XMMS!

Наслаждавайте се на MP3 пълноводието!


Препратки:
IceCast
LiveIce
XMMS
NotLame
mpg123
Linux MP3-HOWTO


<< Безплатно радио под Linux v0.1 | DivX :-), ASF и Mpeg плеъри за Linux >>