The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Вещание радио с fm тюнера в сеть (tuner radio freebsd sound shoutcast)


<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>
Ключевые слова: tuner, radio, freebsd, sound, shoutcast,  (найти похожие документы)
From: Timohin Vadim <vad@bsdportal.ru.> Newsgroups: email Date: Mon, 30 Jan 2006 14:31:37 +0000 (UTC) Subject: Вещание радио с fm тюнера в сеть Вещание радио с fm тюнера в сеть. Timohin Vadim <vad@bsdportal.ru.>, 2005 г. Железо: Creative SoundBlaster 128 PCI SoundForte RadioLink SF64-PCR PCI Система: FreeBSD 4.4 Софт: driver for SF64-PCR fmio sox lame mixer shoutcast transposix shoutcast server 0. Вступление. Примерно два года назад я задался идеей сделать трансляцию радио, на установку и настройку ушло несколько часов, возможно я бы все это сделал гораздо быстрее если бы смог найти в инете что-нибудь подобное этой статье, собственно это и побудило меня написать эту статью. Принцип простой как "пять копеек" мы снимаем поток и кодируем находу его в mp3, читаем файл и передаем программе которая поднимает порт для подключение слушателей, т.к. она сама не может его взять иными словами она может только принимать на порт и отдавать на другой. 1. Подготовка. Для начала надо посмотреть как определяются в системе звуковая и фм карты, воспользуемся командой dmesg, она выведит на экран загрузку системы, нас интересуют наши свеже установленные карточки, если у вас ядро GENERIC то выглядить это будет примерно так: <unknown card> (vendor=0x1319, dev=0x0802) at 13.1 Для того чтобы карты определись нормально, необходимо пересобрать ядро и поставить драйвер. 2. Пересборка ядра с поддержкой звуковой карты. В директории /src/usr/sys/i386/conf/ есть два файла GENERIC и LINT GENERIC -- конфиг базового ядра LINT -- описание для того чтобы не писать конфиг ядра с нуля, нужно просто сохранить его под другим именем скажем radio_kernel Oткрываем командой less или cat файл с кофигурацией ядра /usr/src/sys/i386/conf/LINT находим там свою звуковую плату например device pcm Creative Blaster Добавляем эту строчку в конец конфига radio_kernel сохраняем и выходим. Преобразуем текст в код :) /usr/sbin/config radio_kernel Сменим директорию: cd ../compile/RADIO_KERNEL Откомпиляем ядро make depend make Установка нового ядра make install Перезагружаем машину. Когда система загрутся делаем dmesg или смотрим в процессе загрузки pcm0: <AudioPCI ES1373-8> port 0xa400-0xa43f irq 12 at device 9.0 on pci0 3. Установка драйвера для fm тюнера. Драйвер можно скачать http://www.jumbo.narod.ru/src/sf64pcr-fbsd.tar.gz, инсталяция его я думаю не займет много времни т.к. там почти ничего не надо делать %) ниже приведен кусочек из README, я просто прокомментирую некоторые строки для тех у кого проблемы с английским %) 1) cd /tmp && tar zxvf /path/to/sf64pcr-fbsd.tar.gz && cd sf64pcr-fbsd копируем в /tmp && распаковываем архиватором tar && переходим в расспакованую директорию 2) cp sf64pcr.c sf64pcr.h /sys/pci копируем файлы 3) Apply the patches (sys_conf_files.patch and sys_conf_majors.patch in the /sys/conf, sys_modules_Makefile.patch in the /sys/modules) теперь необходимо наложить несколько патчей, используем команду patch 4) If your sound card is not FM801 based, apply sys_dev_sound_pci_fm801.patch in the /sys/dev/sound/pci). здесь я думаю переводить нечего, хочу только сказать, что SoundForte еще делает и звуковые карты. 5) cd /dev && mknod radio0 c 204 0 && ln -s radio0 radio 6) make radioctl Если ваша звуковая карта работает не на чипе FM801, то вам нужно будет добавить в конфиг ядра строчку device pcr, пересобрать ядро и перегрузиться или подгрузить модули. ребут %) При загрузке должна будет появиться строчка с девайсом типа: radio0: <SoundForte RadioLink SF64-PCR PCI> port 0x9400-0x947f irq 12 at device 13.0 on pci0 4. Дполнительные пакеты. Теперь нужно поставить несколько пакетов из портов fmio -- позволит задать частоту на которой будет "ловить" тюнер cd /usr/ports/audio/fmio make && make install Остальные пакеты можно установить тем же способом: /usr/ports/audio/sox /usr/ports/audio/lame /usr/ports/audio/mixer 5. ShoutCast Server Скачать его можно по адресу http://www.shoutcast.com/download/ Открываем sc_serv.conf и начинаем настраивать :) ---sc_serv.conf--- MaxUser=32 #масимальное число юзеров которые могут слушать одновременно. Password=fog #пароль для источника PortBase=8000 #порт для источника LogFile=/var/log/shoutcast/sc_serv.log #куда ложить логи RealTime=1 ScreenLog=1 #выводить ли на экран все что происходит ShowLastSongs=10 W3CEnable=Yes W3CLog=/var/log/shout_cast/sc_w3c.log SrcIP=ANY #любой ip может быть источником DestIP=ANY #любой ip Yport=80 NameLookups=0 AdminPassword=adminpass #пароль для администрирования через web AutoDumpUsers=0 AutoDumpSourceTime=30 PublicServer=default AllowRelay=Yes AllowPublicRelay=Yes MetaInterval=8192 ----sc_serv------ 6. ShoutCast TransPosix конфиг достаточно простой, приведу ниже минимальный sc_trans.conf и опишу некото рые параметры: PlaylistFile=example.lst # плейлист ServerIP=192.168.0.1 # сервер на который будем передавать поток ServerPort=8000 # порт на севере Password=fog # пароль для сервера StreamTitle=Music StreamURL=http://vadserv.vadnet.int Genre=radio LogFile=/var/log/sc_trans.log Shuffle=1 Bitrate=80000 SampleRate=44100 Channels=1 Quality=1 CrossfadeMode=1 CrossfadeLength=8000 UseID3=0 Public=1 Далее добавим файл в exmaple.lst /var2files/radio/radio.mp3 /var2files/radio/radio.mp3 !ОБЯЗАТЕЛЬНО! 2 одинаковых строчки если будем брать из файла 7. Запуск 7.1 После того как мы установили fmio нужно настроиться на частоту /usr/local/bin/fmio -d sf4r -f 105.90 & Запустили и отправили в фон. -d sf4r драйвер fm-tunera -f 105.90 частота 7.2 Мы будем писать в файл, что бы файл не разростался сделам просто: mkfifo /var2files/files/radio/radio.mp3 7.3 Теперь нужно займемся настройкой микшера Устанавливаем запись с линейного входа: mixer =rec line Добавим громкости: mixer line 100:100 & 7.4 Снимаем поток из /dev/dsp и отдаем его lame, а он уже его "находу" конвертит в mp3: sox -t ossdsp -w -s -r 44100 -c 2 /dev/dsp -t raw - | lame -x -m s - /var2files/files/radio/radio.mp3 & 7.5 ShoutCasts Первым запускам sc_serv он поднимет порт для слушателей и для sc_posix который уже будет отдавать готовый к раздаче поток. /usr/local/etc/shout_cast/sc_serv & А теперь уже сам sc_posix /usr/local/etc/sc_trans_posix/sc_posix_freebsd & 8. Порядок запуска /usr/local/bin/fmio -d sf4r -f 105.90 mixer =rec line mixer line 100:100 sox -t ossdsp -w -s -r 44100 -c 2 /dev/dsp -t raw - | lame -x -m s - /var2files/files/radio/radio.mp3 /usr/local/etc/shout_cast/sc_serv /usr/local/etc/sc_trans_posix/sc_posix_freebsd

<< Предыдущая ИНДЕКС Правка src / Печать Следующая >>

Обсуждение [ Линейный режим | Показать все | RSS ]
 
  • 1.1, Аноним, 14:10, 30/01/2006 [ответить] [смотреть все]
  • +/
    imho - icecast2 лучше юзать, да и shoutcast поставляется только бинарниками и е... весь текст скрыт [показать]
     
     
  • 2.6, Skif, 23:38, 30/01/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Вы внимательно читали статью Там Четко показано что ставилось все за исключение... весь текст скрыт [показать] [показать ветку]
     
  • 1.2, MaDMaN, 15:09, 30/01/2006 [ответить] [смотреть все]  
  • +/
    А еще поинтереснее пускать штук 6-10 станций со спутника с помощью SkyStar. Я у себя в сетке сделал, и все рады.
    Я заюзал связку Linux+SkyStar1+VLC+ices0+icecast, может как-нибудь тоже статью набью, если время будет.
     
     
  • 2.4, limit, 16:01, 30/01/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    А можно с этого места поподробней, как это можно сделать просто очень хочу попро... весь текст скрыт [показать] [показать ветку]
     
  • 2.5, Аноним, 21:58, 30/01/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Да, хотелось бы увидеть даже может не подробную инструкцию что было бы совсем х... весь текст скрыт [показать] [показать ветку]
     
  • 1.3, Ugnich Anton, 15:33, 30/01/2006 [ответить] [смотреть все]  
  • +/
    Не знаю, как на FreeBSD, а на Линуксе Shoutcast иногда валится с Segmentation fault. Помогает простейший watchdog в виде запуска в while(true).
     
  • 1.7, NorthFighter, 05:31, 01/02/2006 [ответить] [смотреть все]  
  • +/
    Как мне видется, немного перемудрено, зачем писать в файл если можно напрямую гнать поток, я беру его с DSP и сразу транскодером загоняю на сервер шоуткаста....все выходит проще. в exmaple.lst  пишем просто DSP:/dev/dsp1.0
    У меня отличие только в отсутсвии фм тюнера в сервере, он у меня внешний, но это не принципиально, потому что подаю сигнал все на тот же линейный вход.
     
  • 1.8, tipok, 19:21, 16/06/2006 [ответить] [смотреть все]  
  • +/
    Делал такое-же на линухе, но столкнулся с необъяснимой проблемой :-((

    В миксере выставлена громкость обеих каналов на 100% а играет только 1-н (непомню какой) хотя под виндой - всё нормально.
    Замечено на 2-х картах:
    SoundForte RadioLink SF64-PCR PCI и
    VIA (Realtek ac97 onboard)

    У меня дебиан

     
     
  • 2.9, aliet, 10:30, 23/11/2006 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Какой у тебя источник звука выбран если что-нибудь типа dev dsp, то это и есть... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.10, tipok, 16:36, 23/11/2006 [^] [ответить] [смотреть все]  
  • +/
    У меня alsa-драйвера, и подгружен модуль виртуального OSS А проблему решил обно... весь текст скрыт [показать]
     
     
  • 4.11, Spider, 23:21, 05/01/2007 [^] [ответить] [смотреть все]  
  • +/
    А у меня ваще не создаются эти устройства. карточка FM801. Slackware 11
     
     
  • 5.12, tipok, 15:36, 08/01/2007 [^] [ответить] [смотреть все]  
  • +/
    >А у меня ваще не создаются эти устройства. карточка FM801. Slackware 11
    >

    Вижу 3 варианта:
    1. Модуль ядра автоматически не подгрузился (попробуй modprobe snd-fm801).
    или в /etc/modules.conf (или где-там в Slackware 11) допиши:

    alias snd-card-0 snd-fm801
    options snd-fm801 index=0

    2. Проблема совместимости с материнкой (сделай lspci, dmesg и попробуй поставить зуковую в другой слот или поменять материнку)
    3. Ядро не скомпилино с модулем для твоей звуковухи ( обнови ядро и включи модуль sound/pci/fm801).

     
  • 1.13, Spider, 10:06, 09/01/2007 [ответить] [смотреть все]  
  • +/
    Создал устройсва руками звуковуха запела и заиграла Но радио так и молчит Гр... весь текст скрыт [показать]
     
  • 1.14, ALex, 19:40, 15/01/2007 [ответить] [смотреть все]  
  • +/
    Creative Vibra FMD2 и FreeBSD 6.1
    Звуковуха стала. dmesg говорит:
    sbc0: <Creative ViBRA16X> at port 0x220-0x22f,0x330-0x331,0x388-0x38b irq 5 drq 1,3 on isa0
    sbc0: [GIANT-LOCKED]
    pcm0: <SB16 DSP 4.16 (ViBRA16X)> on sbc0

    Следующая строка отсутствует:
    radio0: <SoundForte RadioLink SF64-PCR PCI>
    Делаю:
    fmio -d sf2d -f 104
    fmio: card not found: SoundForte Awesome 64R SF64-PCE2

    radioctl radio2
    radioctl: /dev/radio open error: No such file or directory

    Где я не доделал?

     
     
  • 2.15, ALex, 19:49, 15/01/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    т.е. ситуация почти с 100% уверенностью такая же как и
    http://linuxforum.ru/index.php?showtopic=20796
     
  • 2.19, Rom, 00:24, 18/12/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >[оверквотинг удален]
    >Следующая строка отсутствует:
    >radio0: <SoundForte RadioLink SF64-PCR PCI>
    >Делаю:
    >fmio -d sf2d -f 104
    >fmio: card not found: SoundForte Awesome 64R SF64-PCE2
    >
    >radioctl radio2
    >radioctl: /dev/radio open error: No such file or directory
    >
    >Где я не доделал?

    у меня такой же девайс...
    при более внимательном изучении man fmio, заработало без всяких /dev/radio:
    fmio -d sf2d2 -f 100.5 -v 1

     
     
  • 3.20, ALex, 00:15, 21/12/2007 [^] [ответить] [смотреть все]  
  • +/
    >[оверквотинг удален]
    >>fmio: card not found: SoundForte Awesome 64R SF64-PCE2
    >>
    >>radioctl radio2
    >>radioctl: /dev/radio open error: No such file or directory
    >>
    >>Где я не доделал?
    >
    >у меня такой же девайс...
    >при более внимательном изучении man fmio, заработало без всяких /dev/radio:
    >fmio -d sf2d2 -f 100.5 -v 1

    Даже -v 1 не нужно
    только для карты
    fmio -d sf4r -f 102.1


     
  • 1.16, sano, 21:28, 29/01/2007 [ответить] [смотреть все]  
  • +/
    В винампе у меня настроен плейлист с радиостанциями которые я слушаю через тв тюнер.
       Можно с помощью shoutcast или чего еще дать возможность клиентам радио слушать не только то что играется в данный момент, а чтобы они сами выбирали нужную им станцию.
     
     
  • 2.17, ALex, 07:30, 30/01/2007 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    >В винампе у меня настроен плейлист с радиостанциями которые я слушаю через
    >тв тюнер.
    >   Можно с помощью shoutcast или чего еще дать возможность
    >клиентам радио слушать не только то что играется в данный момент,
    >а чтобы они сами выбирали нужную им станцию.


    Можно.
    Для каждой отдельной станции должен быть отдельный тюнер.

     
  • 1.18, Glimosh, 03:18, 15/04/2007 [ответить] [смотреть все]  
  • +/
    а можно как то вещать с тв тюнера в сеть ?
     
  • 1.21, Игорь, 12:41, 21/03/2008 [ответить] [смотреть все]  
  • +/
    Здраствуйте, у меня проблема с тюнером, после установки драйвера на SoundForte RadioLink SF64-PCR PCI, при запуске программы вылетает сообщение  failed to load Radio Device Driver, а потом failed to load RadForD.DLL. И так на всех драйверах, может подскажете что делать?
     
  • 1.22, zeone, 11:56, 08/11/2010 [ответить] [смотреть все]  
  • +/
    Подскажите где можно почитать как сделать радио без звуковой карты (если это возможно) просто в сервере нету и теперь думаю как обойтись что начальника на деньги не крутить 8)
     

    Ваш комментарий
    Имя:         
    E-Mail:      
    Заголовок:
    Текст:





      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor