Dzisiaj jest 11 gru 2017, 19:06

Strefa czasowa UTC+1godz. [letni]




Nowy temat Odpowiedz w temacie  [ Posty: 19 ] 
Autor Wiadomość
 Tytuł: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 11:20 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
Każdy fanboj Appla (ale taki prawdziwy, opisywany przez Ogrodnika Januarego na blogu http://applefobia.blox.pl ) zapytany o najwspanialszy dźwięk na świecie odpowie: To dźwięk wydawany przez monofoniczny głośniczek iPada, sączący się z aluminowych dziureczek jego obudowy.

Istnieją jednak profani głusi na prawdziwe piękno, którzy wolą słuchać muzyki z kolumn i to o zgrozo - bąkają coś snobistycznie o dobrej jakości. Przypuśćmy, że kroi nam się romantyczy wieczór z kolacją, butelką wina i śniadaniem w towarzystwie takiej osoby. Playlista na iPadzie/iPhonie już przygotowana, ale jak odtworzyć ją na dobrym wzmacniaczu i kolumnach? Musimy wyskoczyć z kasy i kupić przetwornik D/A (albo kartę dźwiękową USB na Allegro za 10 zł), podpiąć toto pod ruter z Openwrt i wzmacniacz, oraz zainstalować pakiet shairport.

Jak na razie, dzięki Obsy, mogą to zrobić osoby z ruterami opartymi na Backfire i architekturze ar71xx (czyli tplink WR1043ND albo netgear WNDR 3700 ), chyba, że Obsy się zlituje i skompiluje pakiet dla innych architektur.

Zaczynamy:

Jeżeli ktoś używał usługi avahi-daemon (na przykład do opisanego przez mnie drukowania AirPrint) musi wynienić ją na avahi-daemon-dbus. Działa identycznie.
opkg remove avahi-daemon  --autoremove

Następnie instalujemy pakiety z repozytorium Obsy`ego
opkg update
opkg install http://ecco.selfip.net/backfire/ar71xx/packages/shairport_20121902_ar71xx.ipk
opkg install http://ecco.selfip.net/backfire/ar71xx/packages/shairport-perl_20121902_all.ipk
Instalują się opisane pakiety oraz szereg innych związanych zależnościami jak dbus, alsa-lib, cała gama pakietów avahi, a oraz perla.

Muzyka w iPadzie jest zazwyczaj zdigitalizowana z częstotliwością próbkowania 44,1, aby ruterek się nie męczył zmieniamy domyślną częstotliwość próbkowania odtwarzacza dźwięku z 48 na 44,1 (chociaż nie wiem, czy to dużo pomaga, działa i bez tej opcji):
touch /etc/asound.conf

powstały plik edytujemy wklejając następującą zawartość
defaults.pcm.dmix.rate 44100 # Force 44.1 KHz
defaults.pcm.dmix.format S16_LE # Force 16 bits

Pozostaje włączyć usługi
/etc/init.d/dbus start
/etc/init.d/avahi-daemon start
/etc/init.d/shairport start

Jeżeli chcemy, aby ruszały wraz z bootowaniem rutera to dodatkowo:
/etc/init.d/dbus enable
/etc/init.d/avahi-daemon enable
/etc/init.d/shairport enable

Teraz możemy już odtwarzać ulubioną playlistę z iPada bez wtykania go gdziekolwiek.

Uwagi:
Utwory kompesjonowane AAC 256k (takie jak sprzedaje iTunes) albo kodekiem Apple Losless odtwarzają się NADSPODZIEWANIE płynnie na ruterku WL 1043ND, o ile nie działają inna usługi zabierająca dużo zasobów procesora, albo odwołujące się do USB. Wtedy dźwięk "charczy", ale jeżeli damy ruterkowi spokój, dzieje się tak naprawdę z rzadka. Usługa nie zajmuje dużo pamięci (coś 20-25%) i procesora (20%) i jak najbardziej nadaje się do codziennego stosowania.

EDIT:
Poniższa dyskusja, do postu nr 12 jest nieaktualna, Obsy zaktualizował pakiety.

_________________
http://globalnysmietnik.wordpress.com


Ostatnio zmieniony 3 paź 2012, 14:12 przez Globalny Śmietnik, łącznie zmieniany 4 razy

Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 11:33 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12986
Lokalizacja: Warszawa
_Podobno_ (bo ja nie applowiec i powtarzam to co czytam) wersja napisana w C jest lepsza do tej w perlu bo zawiera mniej błędów.

@Globalny Śmietnik: jakie są w końcu prawidłowe zależności paczki? Napisz mi to poprawie w pakiecie.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 11:42 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
Usługa działa, jak jest zainstalowany avahi-daemon-dbus (i jej składowa libavahi-dbus). Tymczasem gdzieś tam w zależnościach jest libavahi (bez dbus) , dlatego przy instalacji paczka żąda avahi-daemon (bez dbus) i avahi-daemon-dbus równocześnie, co się gryzie. Nie wiem, czy zależności do avahi-daemon (bez dbus) są w tej paczce, czy innych. Tu twórcy Backfire dali ciała rozdzielając avahi na dwie części. W trunku tego nie ma.

_________________
http://globalnysmietnik.wordpress.com


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 16:19 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12986
Lokalizacja: Warszawa
@Globalny Śmietnik: w repo wrzuciłem aktualną wersję. Sprawdź proszę jak i czy działa (ręcznie musisz instalować). avahi-daemon-dbus dodałem do zależności.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 20:06 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
Gro i bucy.

Wszystkie pakiety instalują się poprawnie. Tylko nowa wersja shairport-perl jest zła, pokazuje się komunikat:
Can't locate Net/SDP.pm in @INC (@INC contains: /usr/lib/perl5/5.10 .) at /usr/bin/shairport.pl line 48.
BEGIN failed--compilation aborted at /usr/bin/shairport.pl line 48.

Zainstalowałem starą (shairport-perl_0.05_ar71xx.ipk) i działa. Tzn zgłaszają się jakieś błędy, które były i wcześniej (hostname cośtam cośtam) ale one nie są istotne.

_________________
http://globalnysmietnik.wordpress.com


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 20:19 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12986
Lokalizacja: Warszawa
Nie jest zła tylko nie masz modułu perla wymaganego. A on nie jest pakietowany.

----- Dodano ----- 2 paź 2012, 20:19 -----

EDIT: dodałem te moduły do shairport-perl. Zainstaluj, zobacz.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 20:30 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
dalej tak samo:

Can't locate Sys/Hostname.pm in @INC (@INC contains: /usr/lib/perl5/5.10 .) at /usr/lib/perl5/5.10/Net/SDP.pm line 21.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.10/Net/SDP.pm line 21.
Compilation failed in require at /usr/bin/shairport.pl line 48.
BEGIN failed--compilation aborted at /usr/bin/shairport.pl line 48.


Ale ta starsza wesja shairport-perl działa przecież. Nawiasem mówiąc w Debianie jest to samo. Na Mincie shairport działa dobrze.

_________________
http://globalnysmietnik.wordpress.com


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 20:34 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12986
Lokalizacja: Warszawa
perlbase-sys sobie doinstaluj.

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 21:12 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
Hmmm...

Can't locate Class/Struct.pm in @INC (@INC contains: /usr/lib/perl5/5.10 .) at /usr/lib/perl5/5.10/Net/hostent.pm line 21.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.10/Net/hostent.pm line 21.
Compilation failed in require at /usr/lib/perl5/5.10/Net/SDP.pm line 22.
BEGIN failed--compilation aborted at /usr/lib/perl5/5.10/Net/SDP.pm line 22.
Compilation failed in require at /usr/bin/shairport.pl line 48.
BEGIN failed--compilation aborted at /usr/bin/shairport.pl line 48.


Ale stara wersja działa. Być może u mnie jest coś nie tak, pakiety z różnych repozytoriów itd. Przyjdzie nowa stabilna wersja Openwrt to posprzątam bałagan.

_________________
http://globalnysmietnik.wordpress.com


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 21:16 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12986
Lokalizacja: Warszawa
Stara ma inne zależności. perlbase-class zainstaluj

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 21:49 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
Yessss!

Tam jeszcze wychodzą nic nie znaczące błędy (w starej i nowej wersji):
v-string in use/require non-portable at /usr/bin/shairport.pl line 29.
Can't exec "hostname": No such file or directory at /usr/bin/shairport.pl line 52.
Use of uninitialized value in concatenation (.) or string at /usr/bin/shairport.pl line 52.

Rzeczoną linię 52 zmieniam na:
my $apname = "ShairPort  on  OpenWrt" ;
Ładniej wygląda na urządzeniach żródłowych, bo w oryginale jakieś ciągi cyferek wychodzą.

_________________
http://globalnysmietnik.wordpress.com


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 2 paź 2012, 22:02 
Offline
Administrator
Awatar użytkownika

Rejestracja: 10 kwie 2010, 00:28
Posty: 12986
Lokalizacja: Warszawa
Zrobiłem paczkę, dodałem Twój init do niej.

hostname to program, tyle że domyślnie wywalony z busyboxa. Można zrobić prosty skrypt o takiej nazwie który zawartość z system zwraca:
#!/bin/sh
uci get system.@system[0].hostname

_________________
http://eko.one.pl - prawie wszystko o OpenWrt


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 3 paź 2012, 14:07 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
Cytuj:
Zrobiłem paczkę, dodałem Twój init do niej.

Gro i bucy.

Nowa wersja shairport.pl wyjątkowo rzadko "charczy", ale zabiera nieco więcej zasobów i trochę dłużej reaguje na przyciskanie guziczków w odtwarzaczu. Coś za coś, ale jak nie odtwarza dźwięku - w niczym nie przeszkadza, spokojnie może być aktywowana przy bootowaniu.

Niekiedy, przy częstym wyłączaniu i włączaniu usługi, nerwowym klikaniu guziczkami na odtwarzaczu, równoczesnym włączaniu transmission robi "segmentation fault" albo po prostu nie odtwarza, ale trzeba się postarać, aby coś takiego zobaczyć.

Pakiet jak najbardziej nadaje się do puszczenia "w świat".

WIELKIE DZIĘKI w imieniu miłośników aluminiowych pudełek i monofonicznych głośniczków.

_________________
http://globalnysmietnik.wordpress.com


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 21 lis 2012, 18:37 
Offline
Użytkownik

Rejestracja: 20 paź 2011, 13:05
Posty: 4
a na macu z jakiego odtwarzacza to wszystko leci?
bo niestety na snowleopardzie airplay dziala tylko w itunes


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 22 lis 2012, 10:45 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
Airpay to specyficzne rozwiązanie Appla. Na komputerach działa z odtwarzaczem iTunes oraz na urządzeniach mobilnych z systemem iOS. W tych ostatnich ma umocowanie systemowe - większość aplikacji typu radio internetowe czy odtwarzacze trzecich firm potrafi wysłać dźwięk przez Airplay.

Zaletą tego rozwiązania jest niskie zużycie zasobów na urządzeniu końcowym, czyli coś akurat dla ruterków z OpenWRT, gdyż dekodowanie odbywa się na urządzeniu źródłowym.

Przy okazji dźwięk jest "bit-perfect" - jeżeli mamy przetwornik D/A dobrej jakości - efekt jest b. dobry.
Pozostaje pytanie o kalkulację ekonomiczną - jeżeli nasz wzmacniacz już ma wejście optyczne i można z tego wejścia uzyskać uzyskać dobry dźwięk - lepiej kupić applowski airport express (i do niego kierować strumień Airplay a następnie kablem optycznym do wzmacniacza) niż przetwornik D/A.

Są oczywiście niedrogie karty dźwiękowe na USB z wyjściem optycznym, można zrobić system: ruter -> karta dźwiękowa z wyjściem optycznym -> kabel optyczny -> wzmacniacz z wejściem optycznym. Ale nie mam pojęcia, czy przetwornik optoelektroniczny tanich kart nie wprowadza zniekształceń.

Jeżeli mamy wzmacniacz tylko z wejściem analogowym (a tak zazwyczaj jest ze sprzętem wysokiej jakości) - optymalne rozwiązanie to ruter -> przetwornik D/A -> wzmacniacz.

_________________
http://globalnysmietnik.wordpress.com


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 22 lis 2012, 22:51 
Offline
Użytkownik

Rejestracja: 20 paź 2011, 13:05
Posty: 4
akurat ipada/iphona nie mam wiec tam z airplaya skorzystac nie moge
mam za to macbooka, ktory po za itunes nic nie chcial przez airplay przesylac (wiem ze w najnowszej wersji systemu mozna wybrac w ustawieniach systemu airplay jako glosniki glowne i wtedy wszystko przez to leci. niestety mam snowleoparda)
znalazlem program airfoil, ktory pozwala ustawic by dowolna aplikacja nadawala przez airplay, niestety kosztuje 25$ a to dla mnie troche za duzo


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 22 lis 2012, 23:35 
Offline
Użytkownik

Rejestracja: 30 sie 2011, 15:59
Posty: 71
Cytuj:
wiem ze w najnowszej wersji systemu mozna wybrac w ustawieniach systemu airplay jako glosniki glowne


A nie trzeba do tego mieć jeszcze najnowszych wersji hardware? Ot takie applowskie zdzierstwa, nad którymi pastwi się Ogrodnik January. Ale idea dobra, może da się to jakimiś open-sourcowymi metodami zrobić...

_________________
http://globalnysmietnik.wordpress.com


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 23 lis 2012, 23:29 
Offline
Użytkownik

Rejestracja: 20 paź 2011, 13:05
Posty: 4
komputery nowsze niz z 2009 chyba wszystkie maja mozliwosc aktualizacji
moj niby sie jeszcze lapie, ale po zlych doswiadczeniach z lionem trzymam sie snowleoparda az do wymiany sprzetu


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
 Tytuł: Re: Airplay na Openwrt czyli shairport
Post: 8 lut 2016, 20:58 
Offline
Użytkownik

Rejestracja: 8 lut 2016, 20:49
Posty: 1
Cześć Wam!

Chciałbym trochę odświeżyć kotleta. Widzę, że temat jest stary, a ja rozważam taką opcję (tymczasowo).

Jestem laikiem i niestety niewiele rozumiem z tego tematu. Ogólnie chciałbym osiągnąć taki efekt, żebym mógł w domu z urządzeń Apple stumieniować bezprzewodowo muzykę na głośniki. I jak rozumiem jest to możliwe dzięki routerowi z wgranym OpenWrt, tak?

Może warto zrobić taki "tutorial dla laika"? :)
Może na początek lista routerów, kart dźwiękowych (ew. tych przetworników D / A - co to jest? Można prosić jakiś przykład?) - które bez problemu "udźwigną" temat?


Na górę
 Wyświetl profil  
Odpowiedz z cytatem  
Wyświetl posty nie starsze niż:  Sortuj wg  
Nowy temat Odpowiedz w temacie  [ Posty: 19 ] 

Strefa czasowa UTC+1godz. [letni]


Kto jest online

Użytkownicy przeglądający to forum: Bing [Bot] i 8 gości


Nie możesz tworzyć nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów

Szukaj:
Przejdź do:  
designed by digi-led.pl
...Copyright © 2010-2013, Ekipa openrouter.info