raspberrypi
Toto je starší verze dokumentu!
Obsah
Raspberry Pi
- aktuálně existuje několik verzí :)
- zajímavé je, že výrobce se snaží držet stejné ceny, takže například Raspberry Pi stojí podobně jako Raspberry Pi 3
- u Raspberry Pi 3 to už trochu přehnali, snažili se z toho dostat co nejvyšší výkon a dost se kvůli tomu pry hřeje. Spotřeba už taky není úplně malá.
- docela zajímavá verze je Raspberry Pi Zero, která má hardware ještě výkonnější než Raspberry Pi B a přitom stojí jen 160 kč originál
- já zatím vlastním jen Rapsbery Pi B
Rapsbery Pi B
- SoC: Broadcom BCM2835 (CPU + GPU + DSP + SDRAM)
- CPU: 700 MHz ARM1176JZF-S core (ARM11 family)
- GPU: Broadcom VideoCore IV, OpenGL ES 2.0, 1080p30 h.264/MPEG-4 AVC high-profile decode
- Model B ma 512 MB, model A jen 256 MB, pamet je sdilena s GPU
- sitova karta je pripojena pres USB rozhrani, lze rozsirit o další externi sitovku do usb
- zvuk pres hdmi, analog stereo jack
- hw podpora mpeg2 (DVBT) se musi dokoupit (cca 60kc, podle S/N, klic se zapisuje do /boot/config.txt)
- spotreba by mela byt cca 3.5W max, nameril jsem 5W i s externim USB hubem
- Podporovane systemy: OpenELEC, Raspbmc, XBian, Raspbian, Debian GNU/Linux, Fedora, Arch Linux, RISC OS
- openELEC is a Linux that is optimized for XBMC (may have trouble with wifi/dvbt drivers)
- Raspbmc is sitting upon Debian/Raspbian and is stripped down for XBMC
Distribuce
Raspbmc
- pouzil jsem nejaky prosincovy build - myslim, ze beta2
- tvheadend backend - velke zklamani!!
- sice funguje, ale prepinani bylo priiiiserne pomale - zjistil jsem, ze subscribe je mnohem driv nez unsubscribe stareho kanalu
- webui priserne pomale - musel jsem cekat pokazde minimalne 10 sekund (na routeru cca 1s)
- prepinani programu pomoci 2 tuneru byla tragedie, obcas nesel multiplex vubec naladit, obcas to uplne nejak vytuhlo!
- prehravani MPEG2 licence (decode_MPG2=0x3450cd36) - zklamani
- DVB-T skutecne prehravat lze, ale jsou s tim potize
- vetsinou to po nejake dobe prehravani zdechlo, zaseklo se, bylo potreba restartovat cele raspberry
- dost cast nesly nejake programy vubec prehrat, cerna obrazovka a cas bezel, jakoby to prehravalo
- myslim si, ze to mozna dela horsi tv signal, ze ma problemy s dekodovanim poskozenych streamu, na druhou stranu tam byly vypadky uplne minimalne
- prekvapilo me, ze naopak mpeg4 fungoval mnohem lepe nez u testu drive, kadopadne to stejne dycky ve finale vytuhlo
- zdesil jsem se, ze cpuinfo hlasil nejak malo u BogoMIPS
- hlasilo to okolo 535, normalne totiz byva kolem 679 - melo by to signalizovat vykon
- pri pretaktovani to slo dokonce jeste niz, na 4xx, 3xx….. velice podivne
- beta3
- tak, mam zaply tvheadend backend, ale nenastaveny, tv mpeg2 se zatim nekousla :) kdyz nepocitam prepinani audio vystupu behem prehravani :) to se mu fakt nelibilo :0
- bez tvheadend backendu… zatim to hraje
- prepinat programy musim tak, ze dam vzdy stop, vyberu jiny a dam play
- obcas to ma posunuty zvuk od obrazu
- kdyz zkousim prepinat programy bez stop, tak se prehravani zastavi… okamzite zacne hrat a pak se stopne
- kdyz to prepinam se stop, tak to vzdycky po play bufferuje tak 5s a pak hraje ok
- kdyz se nekdo diva na nejaky program, tak nejde vetsinou naladit na raspberry… vubec nespusti buffering
První test
- test finalniho buildu raspbmc 12.0
- znatelne zlepseni:
- snizen CPU load (uz se to da pouzivat)
- audio vystup se uz neodpojuje od zvukovky, takze to nedela rany do repraku (bezi tam pulseaudio)
- nastaveni pomeru stran u DVB-T uz funguje
- sledovani MPEG2/MPEG4 DVB-TV
- zridka se posune zvuk od obrazu, nekdy nepomuze ani stop-start
- obcas se zacne obraz hrozne trhat (pravdepodobne nestiha buffer), nekdy prestane po case samo, stop-start pomuze vzdy - minimalne kratkodobe (spatny signal?)
- prepinani programu byva porod, ale kdyz se to prepne „dobre“ tak to vetsinou uz bezi :)
- je lepsi pouzivat sekci „video“ a klient TVHEADEND nez sekci „televize“ - vetsi pravdepodobnost, ze se to prepne
- rozpoznal jsem dva stavy
- bud se zobrazi „pracuji“/„nacitani do buff“ a po chvili zacne hrat
- nebo je cerna obrazovka a po nejake dobe (20s+) to zacne hrat… kdyz to trva moc dlouho, tak se pak vetsinou obraz trha
- kdyz se to nechce prepnout, tak stop-start vetsinou pomuze
- vytuhavani raspberry
- kdyz jsem to mel uplne bez site, tak mi to za 48 hodin ani jednou nevytuhlo
- kdyz jsem tam mel lan kabel, tak mi to vytuhlo jen 1x za takovych 24h
- kdyz jsem tam mel USB wifi, tak to zdechalo snad kazdou hodinu
- dost mozna to ma spojitost s napajenim… mel jsem to napajeno jen z usb hubu
- tvheadend server
- jelikoz je cpu uz vic v klidu, tak je to opet pouzitelny
- 2 tunery nebyly moc pouzitelne. Zkousel jsem 2x vlc a vetsinou se neslo prepnout na nejaky multiplex
- pri testovani 1 tuneru jsem si vsiml, ze vlc pri prepnuti asi nejak neukoncuje streamovani serveru
- mel jsem pripojen jen Siano adapter na pozici 0
- mel jsem tam multiplex CT, chtel jsem multiplex Region 10
- nejprve zjistoval, ktery adapter je volny (without stealing for service)
bře 25 00:49:58 Service: Subscription "HTTP": Adding adapter "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver674000000" for service "Siano Mobile Digital MDTV Receiver/Region 10: 674,000 kHz" bře 25 00:49:58 Service: Subscription "HTTP": Adding adapter "_dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver674000000" for service "Siano Mobile Digital MDTV Receiver/Region 10: 674,000 kHz/FANDA" bře 25 00:49:58 Service: Subscription "HTTP": Adding adapter "_dev_dvb_adapter0_Afatech_AF9013674000000" for service "Afatech AF9013/Region 10: 674,000 kHz/FANDA" bře 25 00:49:58 Service: Subscription "HTTP": Probing adapter "_dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver674000000" without stealing for service "Siano Mobile Digital MDTV Receiver/Region 10: 674,000 kHz/FANDA" bře 25 00:49:58 Service: Subscription "HTTP": Unable to use "Siano Mobile Digital MDTV Receiver/Region 10: 674,000 kHz/FANDA" -- No hardware present bře 25 00:49:58 Service: Subscription "HTTP": Probing adapter "_dev_dvb_adapter0_Afatech_AF9013674000000" without stealing for service "Afatech AF9013/Region 10: 674,000 kHz/FANDA" bře 25 00:49:58 Service: Subscription "HTTP": Unable to use "Afatech AF9013/Region 10: 674,000 kHz/FANDA" -- No hardware present bře 25 00:49:58 Service: Subscription "HTTP": Probing adapter "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver674000000" without stealing for service "Siano Mobile Digital MDTV Receiver/Region 10: 674,000 kHz" bře 25 00:49:58 Service: Subscription "HTTP": Unable to use "Siano Mobile Digital MDTV Receiver/Region 10: 674,000 kHz" -- Adapter in use by other subscription
- spravne zjistil, ze 2 adaptery chybi a ten jeden se pouziva pro jiny multiplex
- pak to asi zkusil znovu, ale tentokrat drsneji se stealing? moc nechapu, co ten druhy probing dela
bře 25 00:49:58 Service: Subscription "HTTP": Probing adapter "_dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver674000000" with weight 100 for service "Siano Mobile Digital MDTV Receiver/Region 10: 674,000 kHz/FANDA" bře 25 00:49:58 Service: Subscription "HTTP": Probing adapter "_dev_dvb_adapter0_Afatech_AF9013674000000" with weight 100 for service "Afatech AF9013/Region 10: 674,000 kHz/FANDA" bře 25 00:49:58 Service: Subscription "HTTP": Probing adapter "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver674000000" with weight 100 for service "Siano Mobile Digital MDTV Receiver/Region 10: 674,000 kHz"
- kazdopadne bez toho, aby cekal na nejakou odpoved rovnou vypsal, ze transponder neni k dispozici.. ze by se nestihl treba preladit?
bře 25 00:49:58 subscription: No transponder available for subscription "HTTP" to channel "FANDA" bře 25 00:49:58 webui: Couldn't start streaming /stream/channelid/11, Adapter in use by other subscription bře 25 00:49:58 subscription: "HTTP" unsubscribing from "FANDA"
- vlc na to reagoval tak, ze vzal dalsi z playlistu.. CT multiplex
- ten uz naladeny byl, takze subscription probehlo..
bře 25 00:49:58 Service: Subscription "HTTP": Adding adapter "_dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000" for service "Siano Mobile Digital MDTV Receiver/SIT 1 CESKA TELEVIZE: 538,000 kHz" bře 25 00:49:58 Service: Subscription "HTTP": Adding adapter "_dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver538000000" for service "Siano Mobile Digital MDTV Receiver/SIT 1 CESKA TELEVIZE: 538,000 kHz/CT 2" bře 25 00:49:58 Service: Subscription "HTTP": Adding adapter "_dev_dvb_adapter0_Afatech_AF9013538000000" for service "Afatech AF9013/SIT 1 CESKA TELEVIZE: 538,000 kHz/CT 2" bře 25 00:49:58 Service: Subscription "HTTP": Probing adapter "_dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver538000000" without stealing for service "Siano Mobile Digital MDTV Receiver/SIT 1 CESKA TELEVIZE: 538,000 kHz/CT 2" bře 25 00:49:58 Service: Subscription "HTTP": Unable to use "Siano Mobile Digital MDTV Receiver/SIT 1 CESKA TELEVIZE: 538,000 kHz/CT 2" -- No hardware present bře 25 00:49:58 Service: Subscription "HTTP": Probing adapter "_dev_dvb_adapter0_Afatech_AF9013538000000" without stealing for service "Afatech AF9013/SIT 1 CESKA TELEVIZE: 538,000 kHz/CT 2" bře 25 00:49:58 Service: Subscription "HTTP": Unable to use "Afatech AF9013/SIT 1 CESKA TELEVIZE: 538,000 kHz/CT 2" -- No hardware present bře 25 00:49:58 subscription: "HTTP" subscribing on "CT 2", weight: 100, adapter: "Siano Mobile Digital MDTV Receiver", network: "SIT 1 CESKA TELEVIZE", mux: "SIT 1 CESKA TELEVIZE: 538,000 kHz", provider: "Ceska televize", service: "CT 2", quality: 100
- jenomze ten stream CT2 uz byl nejaky rozdrbany - asi bud proto, ze to nikdo neodebiral nebo kvuli tomu, jak zkousel ten probing se stealing
- provedl tedy unsubscribing a zase subscribing a stream se zase rozjel
bře 25 00:49:59 mkv: Live stream: Write failed -- Roura přerušena (SIGPIPE) bře 25 00:49:59 webui: Stop streaming /stream/channelid/15, muxer reported errors bře 25 00:49:59 subscription: "HTTP" unsubscribing from "CT 2" bře 25 00:49:59 webui: Start streaming /stream/channelid/15
- zaver z toho je, ze on se snazi spustit multiplex bez zastaveneho stareho streaming, takze to prepnuti selze
- vlc asi neposila „stop“ pri prepnuti a samo se to nestihne vcas ukoncit. Mozna by stacilo do tvheadend pridat jen nejake cekani.. na ten chcip.
OpenElec
- testovana verze OpenELEC 3.0 Beta 3 released (pak jsem chtel zkusit i beta4, ale dycky se mi stahla beta 3, tak nevim)
- pocitove rychlejsi nez raspbmc
- BogoMIPS mel spravnou hodnotu 679
- tvheadend backend nebyl v teto verzi podporovan, takze jsem ho vubec nevyzkousel
- mpeg4 dvb-t to vubec neprehralo
- mpeg2 vytuhavlo podle me casteji, nezaseklo se ale cele raspberry, pouze prehravani videa - pomohla az zmena kanalu (na chvili)
Raspbian
- po dlouhé době to tedy zase zkusím :)
- chci zkusit tam dát lightttpd a tvheadend, abych porovnal výkon proti routeru
- možná bych pak mohl nechat obojí, jako load balancing :) myslím, že tvheadend umí číst z jiného tvheadend :)
The following NEW packages will be installed: libarchive-zip-perl libavahi-client3 libavahi-common-data libavahi-common3 libclass-factory-util-perl libclass-inspector-perl libclass-load-perl libclass-methodmaker-perl libclass-singleton-perl libcommon-sense-perl libconvert-binhex-perl libcrypt-ssleay-perl libcurl3-gnutls libdata-dump-perl libdata-optlist-perl libdate-manip-perl libdatetime-format-builder-perl libdatetime-format-iso8601-perl libdatetime-format-strptime-perl libdatetime-locale-perl libdatetime-perl libdatetime-timezone-perl libdigest-hmac-perl libemail-address-perl libemail-find-perl libemail-valid-perl libencode-locale-perl libexporter-lite-perl libfcgi-perl libfile-listing-perl libfile-slurp-perl libfont-afm-perl libfribidi0 libhtml-form-perl libhtml-format-perl libhtml-fromtext-perl libhtml-parser-perl libhtml-tableextract-perl libhtml-tagset-perl libhtml-tree-perl libhttp-cache-transparent-perl libhttp-cookies-perl libhttp-daemon-perl libhttp-date-perl libhttp-message-perl libhttp-negotiate-perl libhttp-server-simple-perl libio-socket-ip-perl libio-socket-ssl-perl libio-stringy-perl libjson-perl libjson-xs-perl liblingua-preferred-perl liblist-moreutils-perl liblog-tracemessages-perl liblwp-mediatypes-perl liblwp-protocol-https-perl libmailtools-perl libmath-round-perl libmime-tools-perl libmodule-implementation-perl libmodule-runtime-perl libnet-dns-perl libnet-domain-tld-perl libnet-http-perl libnet-ip-perl libnet-ssleay-perl libossp-uuid-perl libossp-uuid16 libpackage-deprecationmanager-perl libpackage-stash-perl libpackage-stash-xs-perl libparams-classify-perl libparams-util-perl libparams-validate-perl libparse-recdescent-perl libregexp-common-perl libsoap-lite-perl libsocket-perl libsub-install-perl libtask-weaken-perl libterm-progressbar-perl libterm-readkey-perl libtext-bidi-perl libtie-ixhash-perl libtimedate-perl libtry-tiny-perl libunicode-string-perl liburi-perl libwww-mechanize-perl libwww-perl libwww-robotrules-perl libxml-dom-perl libxml-libxml-perl libxml-libxslt-perl libxml-namespacesupport-perl libxml-parser-perl libxml-perl libxml-regexp-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-twig-perl libxml-writer-perl libxml-xpathengine-perl libxmltv-perl libxslt1.1 libyaml-syck-perl tvheadend xmltv-util 0 upgraded, 110 newly installed, 0 to remove and 2 not upgraded.
Stretch
- stáhl jsem si nový image RASPBIAN STRETCH LITE
- při prvním bootování se img roztáhl přes celou kartu. Systém byl připraven, žádný instalátor.
- systém dostal IP z DHCP, ale měl zakázanou službu SSH, takže jsem si stejně musel připojit monitor a klávesnici
tvheadned
$ sudo aptitude install build-essential git pkg-config libssl-dev bzip2 wget
- v systému chyběl jen libssl a git
cd /usr/local/src/ git clone https://github.com/tvheadend/tvheadend.git cd tvheadend ./Autobuild.sh
- balíčku chybělo ale víc
dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 7.0.50) gettext libavahi-client-dev liburiparser-dev cmake dvb-apps libpcre2-dev | libpcre3-dev
- řešní
apt-get install debhelper libavahi-client-dev liburiparser-dev cmake libpcre3-dev dvb-apps
- první problém při kompilaci
root@raspberrypi:/home/pi# screen -r Makefile.ffmpeg:310: recipe for target '/usr/local/src/tvheadend/build.linux/ffmpeg/libvpx-1.6.1/.tvh_build' failed make[3]: *** [/usr/local/src/tvheadend/build.linux/ffmpeg/libvpx-1.6.1/.tvh_build] Error 2 make[3]: Leaving directory '/usr/local/src/tvheadend' Makefile:822: recipe for target '/usr/local/src/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a' failed make[2]: *** [/usr/local/src/tvheadend/build.linux/ffmpeg/build/ffmpeg/lib/libavcodec.a] Error 2 make[2]: Leaving directory '/usr/local/src/tvheadend' debian/rules:11: recipe for target 'override_dh_auto_build' failed make[1]: *** [override_dh_auto_build] Error 2 make[1]: Leaving directory '/usr/local/src/tvheadend' debian/rules:5: recipe for target 'build' failed make: *** [build] Error 2 dpkg-buildpackage: error: debian/rules build gave error exit status 2
- zkusil jsem přepsat target v Autobuild.sh z debian na raspbianstretch-armhf, ale tím to nebylo :)
- druhý pokus jsem spustil jako
AUTOBUILD_CONFIGURE_EXTRA="--disable-bintray_cache --disable-libvpx" ./Autobuild.sh
Kompilace kernel
- zjistil jsem, že v jádře chybí ovladač na rtl-sdr
- postupoval jsem podle oficiálního návodu
- stáhnutí tools a vlastního jádra
git clone https://github.com/raspberrypi/tools git clone --depth=1 https://github.com/raspberrypi/linux
- vytvoření základního .config souboru
cd linux PATH="$PATH:/home/djbuldog/Projekty/raspi/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin" KERNEL=kernel make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcmrpi_defconfig
- přes menuconfig jsem vybral podporu SDR
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage menuconfig
- kompilace modulů a jádra
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs
- instalace modulů do připraveného adresáře
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage INSTALL_MOD_PATH=/home/djbuldog/Projekty/raspi/modules/ modules_install
- zkopírování modulů na raspberry
rm modules/lib/modules/4.9.52+/build rm modules/lib/modules/4.9.52+/source scp -r modules pi@pi:/tmp/
- nahrání do správného umístění
mv /tmp/modules/lib/modules/4.9.52+ /lib/modules/ cp -vr /tmp/modules/lib/firmware/* /lib/firmware/
- příprava adresářů na raspberry
mkdir -p /tmp/fat32/overlays chown -R pi:pi /tmp/fat32
- zkopírování jádra na raspberry
scp linux/arch/arm/boot/zImage pi@pi:/tmp/fat32/kernel-4.9.52+sdr.img scp linux/arch/arm/boot/dts/*rpi*dtb pi@pi:/tmp/fat32/ scp linux/arch/arm/boot/dts/overlays/*.dtb* pi@pi:/tmp/fat32/overlays scp linux/arch/arm/boot/dts/overlays/README pi@pi:/tmp/fat32/overlays
- nahrání do správného umístění
cp -v /tmp/fat32/overlays/* /boot/overlays/ rm -rf /tmp/fat32/overlays cp /tmp/fat32/* /boot/
- nastavení správného názvu kernel obrazu
vim /boot/config.txt kernel=kernel-4.9.52+sdr.img
Testy
Co vyzkouset
- kolik zvladne zapisovat/cist RAM↔USBdisk
- nezere to tolik cpu kvuli 1680×1050? nemusi on to nejak zmensovat?
- srovnani vykonu hw raspbian vs router station - bylo by lepsi provozovat wiki/trac na raspberry?
Vykon
- raspbmc
- zkousel jsem posledni stable i nightbuild, v menu to melo porad tak 85-90%
- dirty regions zrychli xbmc, cpu load mam ted v idle 50% misto 90%.
- webovy prohlizec nejde vubec pouzit :)
- openelec
- ma to trosku jine addons, neceho je tam vic, neco tam chybi (ve srovnani s raspbmc)
- ohledne vytizeni cpu jsem nepoznal vyraznjesi rozdil od raspbmc
- webovy prohlizec je hodne pomaly, ale mozna o chlup sviznejsi nez v raspbmc
- raspbian
- vlc player pro DVB-T je nepouzitelny, uplne se zakousl (pomohla by mpeg2 licence?)
- webovy prohlizec je pouzitelny, akorat scrollovani je docela pomale
- desktopove prostredi pusobi docela svizne, ale v default neobsahuje moc programu
- wifi do usb TL-WN721N bezi naprosto v pohode, nastaveni pomoci wpa_gui, drv ath9k
TV tunner
- testovano na raspbmc nighty build z 11.11.2012
- je tam jak tvheadend klient tak i server (default vypnute)
- MSI digivox III tunner se chytil hned, jakmile jsem do /lib/firmware nahral fw
- ENVOLVE Mars tuner potreboval taky nahrat firmware a navic zavest modul smsdvb (smsdtv a smsusb byl automaticky)
sudo insmod /lib/modules/3.2.27/kernel/drivers/media/dvb/siano/smsdvb.ko
- tunery je potreba inicializat pred spustenim tvheadend, proto je treba
sudo echo "smsdvb" >> /etc/modules
- super, tak tvheadend zvlada poustet 2 multiplexy soucasne :)
- akorat teda se mi pri inicializaci druheho tuneru nejak vymazaly sluzby u prvniho.
- je to zpusobeny tim, ze se mi zmenilo poradi adapteru. Po vygenerovani vsech profilu to bylo pak uz ok
$ ls -la .hts/tvheadend/dvbmuxes/_dev_dvb_adapter _dev_dvb_adapter0_Afatech_AF9013_DVB_T/ _dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver/ _dev_dvb_adapter1_Afatech_AF9013_DVB_T/ _dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver/
$ ls -la .hts/tvheadend/dvbtransports/ drwx------ 2 pi pi 4096 Nov 11 13:04 _dev_dvb_adapter0_Afatech_AF9013_DVB_T538000000 drwx------ 2 pi pi 4096 Nov 11 12:37 _dev_dvb_adapter0_Afatech_AF9013_DVB_T626000000 drwx------ 2 pi pi 4096 Nov 11 12:59 _dev_dvb_adapter0_Afatech_AF9013_DVB_T674000000 drwx------ 2 pi pi 4096 Nov 11 12:54 _dev_dvb_adapter0_Afatech_AF9013_DVB_T778000000 drwx------ 2 pi pi 4096 Nov 11 14:28 _dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver538000000 drwx------ 2 pi pi 4096 Nov 11 14:28 _dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver626000000 drwx------ 2 pi pi 4096 Nov 11 14:48 _dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver674000000 drwx------ 2 pi pi 4096 Nov 11 14:28 _dev_dvb_adapter0_Siano_Mobile_Digital_MDTV_Receiver778000000 drwx------ 2 pi pi 4096 Nov 11 14:47 _dev_dvb_adapter1_Afatech_AF9013_DVB_T538000000 drwx------ 2 pi pi 4096 Nov 11 14:47 _dev_dvb_adapter1_Afatech_AF9013_DVB_T626000000 drwx------ 2 pi pi 4096 Nov 11 14:52 _dev_dvb_adapter1_Afatech_AF9013_DVB_T674000000 drwx------ 2 pi pi 4096 Nov 11 14:49 _dev_dvb_adapter1_Afatech_AF9013_DVB_T778000000 drwx------ 2 pi pi 4096 Nov 11 15:23 _dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver538000000 drwx------ 2 pi pi 4096 Nov 11 15:20 _dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver626000000 drwx------ 2 pi pi 4096 Nov 11 15:20 _dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver674000000 drwx------ 2 pi pi 4096 Nov 11 15:15 _dev_dvb_adapter1_Siano_Mobile_Digital_MDTV_Receiver778000000
- prehravat radia a televize v mpeg 2 aktualne v xbmc nejde, asi kvuli chybejici licenci k hw mpeg2 (stream je ok)
- prehravat mpeg4 TV ale taky nejde :( stream jede, ale kostickuje
- zjistil jsem, ze za to signal ani tak nemuze, spis CPU load :(
- dalkove ovladani k MSI tuneru funguje, ENVOLVE asi vubec hw nefunguje
Raspbmc
- verze myslim 12.10 alpha
- vytuhnuti kvuli napajeni:
- kdyz jsem to napajel primo adapterem 5V/1A, tak se to kousalo (usb wireless klavesnice/mys)
- kdyz jsem to napamejl adapterem 5V/1A + USB hub s napajenim, tak se to taky kousalo
- az pri napajeni pouze pres HUB, tak to bylo OK
- pri spustenem jen xbmc menu to zere 85% CPU
- obcas se to v UI hryze, hlavne kdyz se neco nacita z webu - uplne zastaveny UI
- pri velkem load se seka zvuk - u analogoveho vystupu to dava rany do reprobeden :)
- WebUI bylo desne pomale, casto se ani nenacetlo
- SSH bylo pomale, vsechno zere proces xbmc.bin
- funkce
- pekne UI :) hodne ruznych rozsireni
- rozsireni webovy prohlizec - vubec neslo pouzivat, desne pomale
- rozsireni gmail checker - neprisel jsem na to, jak tam zadat parametry uctu :)
- radia funguji v pohode, ale prepinani je dost pomale
- prima podpora prehravani hudby, videa, obrazku z ruznych ulozist.. napriklad tvheadend klient, samba, nfs…
PulseAudio server
- vzdáleně se lze k pulse audio připojit 3 způsoby
- direct connection
- připojuje se rovnou k pulse audio serveru
- globálně v konfiguračním souboru
- nebo nastavením systémové proměnné
$PULSE_SERVERpřed spuštěním klientské aplikace
- tunnel
- u klienta se vytvoří nový sink, na serveru nový source a propojí se tunelem.
- navázaní tunelu lze provést ručně nebo pomoci zeroconf/avahi
- RTP
- všechny tři varianty vyžadují modul
module-native-protocol-tcp
tunel ručně
apt-get install pulseaudio
- na rozdíl od článku, po instalaci jsem už nějaký init skript pro pulseaudio měl
vim /etc/default/pulseaudio PULSEAUDIO_SYSTEM_START=1
- na pi
vim /etc/pulse/system.pa load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;10.10.11.2 load-module module-tunnel-source server=10.10.11.8 /etc/init.d/pulseaudio stop /etc/init.d/pulseaudio start
- na pharaon
vim /etc/pulse/default.pa load-module module-tunnel-sink server=10.10.11.8 sink_name=MyRemoteRaspberry pulseaudio -k
- oprava sekání zvuku
- samplovací metoda nastavena na
resampe-method = ffmpeg - někde radí ještě tsched=0
- tady pán zkoušel asi všechno :D
### Automatically load driver modules depending on the hardware available .ifexists module-udev-detect.so load-module module-udev-detect tsched=0
tunel auto
- nevýhoda ručního tunelu je, že když vzdálené pulse audio vypadne, sink se znovu neobjeví, dokud se pulse audio na klientovi nerestartuje
- automatická konfigurace sink automaticky přidává, jakmile se na síti objeví
- vyhledávání zařízení lze pomocí GUI klikacího nástroje paprefs
- doinstalovat na oba stroje
apt-get install pulseaudio-module-zeroconf
- na pharaon přidat do conf default.pa nebo jednorázově
pacmd load-module module-zeroconf-discover
- na pi přidat do conf system.pa nebo jednorázově
pacmd load-module module-zeroconf-publish
USB zvukovka Sweex 7.1 SC016
- chipset C-Media CM6206
- detekováno bez problémů jako
Bus 001 Device 005: ID 0d8c:0102 C-Media Electronics, Inc. CM106 Like Sound Device
- alsamixer ale nefungoval, musel jsem upravit index z -2 na 0
vim /etc/modprobe.d/alsa-base.conf # Keep snd-usb-audio from beeing loaded as first soundcard options snd-usb-audio index=0
- kvalita zvuku je určitě lepší než integrovaná (menší zkreslení, o dost méně šumí - skoro vůbec)
- x-fi audio mi ale přijde pořád lepší :)
- pulseaudio jsem měl spuštěno se vzorkováním 32bit, 48Khz (jako na Pharaon)
- zátěž CPU byla překvapivě kolem 20%
- přepínání sink na pi bylo svižné s dobrou odezvou, supr
- stejně jako u integrované zvukovky se zde objevuje problém s trháním zvuku po přepnutí sink
- pokud jsem přehrávač připojil přímo (přes proměnou
PULSE_SERVER) bylo vše ok - pokud jsem přehrávač spustil nad určitým sinkem, vše bylo ok
- když jsem sink přepnul až po spuštění, tak ve zvuku byly výpadky, lupání, trhání, ..
- opravit lze
- znovu spuštěním přehrávače nebo přepnutím písničky na jinou (vhodné pro totem)
- pozastavení na dostatečně dlouhou dobu, aby došlo k odpojení klienta (idle timeout)
- odpojení klienta přes pulse audio manager a znovu připojení (vhodné pro chrome)
- ovlivňuje to i klient
- v totem byly výpadky minimální
- v chrome byly obří, zvuk skoro nehrál
- ovlivňuje to konfigurace pulse audio
- zapnutý
tsched=0- integrované zvukovce to dost pomohlo,
- ale USB to naopak dost zhoršilo
- vypnout
module-suspend-on-idle- cpu narostlo na 53%
- ale sekání se o dost zlepšilo (v totem už nepozorovatelné, v chrome téměř bez sekání)
ostatní
- kvalita integrované zvukovky
- CPU load na pi skoro 100% .. co zkusit 44.1Khz nebo jinou metodu samplování?
- po pár minutách se přehrávání úplně zasekne.. možná tím CPU? – teď už se to moc nezasekává
- kvalita zvuku je fakt horší.. zkusit nějakou USB zvukovku?
- ale bacha, prý ty USB zvukovky na PI nic moc.. že to může způsobovat paket loss zvukovky atd
- pulseaudio tunel z Windows
- snažil jsem se, něco to dělalo, ale vůbec jsem nepřišel na to, jak poslat zvuk na pulse server
- zasílat stream do shairport přes modul
module-raop-sink- už jsem zkoušel, nevím proč to ale nehrálo
- zkoušel jsem
load-module module-raop-discovera krásně to detekovalo raspi - když tam ale pošlu stream, tak nehraje.. možná to není kompatibilní se shareport?
- existuje i nějaký raop2 modul
AirPlay
Technologie od Apple pro proudové vysílání audio/video obsahu. Skládá se ze senders a receivers. AirTunes část AirPlay protokolu je založena na UDP RTSP protokolu. Používá prý bezztrátový přenos dat ALAC (Apple Lossless Audio Codec) s vzorkovací frekvencí 44.1Khz. AirPort Express používá RAOP (Remote Audio Output Protocol), což je varianta RTSP/RTP protokolu.
-
- komerční software
- posílá zvuk z Windows nebo MacOS do kompatibilních přijímačů
- například do: Airfoil speakers, Airport Express, Apple TV, dalších AirPlay zařízení
-
- přijímají zvuk z Airfoil nebo kompatibilních
- existuje i verze pro Linux (včetně raspberry pi), vyžaduje ale mono - nezkoušel jsem
- vypadá free
-
- free/komerční software
- zasílá zvuk z Windows do kompatibilních AirPlay přijímačů
- do ShairPort lze zasílat bez omezení, jinak limit max 10 minut (free verze)
-
- aktuálně nejaktivnější fork ShairPort
- přijímá zvuk z AirPlay zařízení
ShairPort
- nejprve jsem zkoušel rozjet na Pharaon
- stačilo
apt-get install shairport-sync - spustil se démon, ale pod rootem, který nemá přístup k pulseaudio spuštěného přihlášeným uživatelem
- spustil jsem ručně v terminálu
hairport-sync -vv -o pulse
- na raspberry se muselo kompilovat ze zdrojáků
- nejprve doinstalovat zavislosti
apt-get install libshairport1 avahi-daemon autoconf libtool libdaemon-dev libasound2-dev libpopt-dev libconfig-dev libavahi-client-dev libssl-dev
- pro podporu pulseaudio ještě navíc
apt-get install libpulse-dev
- vlastní kompilace a instalace (včetně podpory pulseaudio)
git clone https://github.com/mikebrady/shairport-sync.git cd shairport-sync autoreconf -i -f ./configure --with-alsa --with-avahi --with-ssl=openssl --with-pulseaudi make make install
- spouštění bylo naprosto stejné jako u pharaon
- akorát to pod pulseaudio stejně nechtělo jet kvůli oprávnění
- spustil jsem přímo pod alsa
sync -vv -a "raspi" -- -d hw:0 -c "PCM"
- stream jsem pouštěl z Windows z TuneBlade
- zvuk byl dobrý, ale občas jsem měl pocit, že to má nižší kvalitu (možná se mi jen zdálo)
- bitrate byl cca 130-160 kbps, takže to je asi hodně komprimované
- avahi fungovalo super, TuneBlade zařízení sám detektoval
Jack
Mozna nasazeni
- Inteligentni zesilovac
- přehrávání internetových rádií a DVB rádií bez zapnutého PC
- PulseAudio server pro příjem zvukového proudu po síti (z Linuxu)
- AirPlay receiver pro příjem zvukového proudu z Windows/MacOS a dalších Apple zařízení
- možnost ovládání přes WebUI
- hardware
- vyvest konektor na ethernet
- napajeni primo ze zesilovace
- modul pro digitální přepínaní vstupu (analog pc in, vnitřní raspberry pi)
- tlacitka pro prepnuti vstupu, mute, prepinani radia/tv
- zkusit USB zvukovku pro zkvalitnění výstupu nebo nějaké rozšíření?
- TV-center
- prahravani tv na monitoru (MPEG2 licence)
- stream tv po siti (tvheadend)
- dva dvb-t tunery
- bacha, chce to pořádně silný zdroj (nad 2A) a dvě antény (spliter kazí signál)
- nahravani tv na usb flash disk
- hardware
- krabicka na raspberry
- kabel hdmi → dvi
- usb hub .. napriklad konig s napajecim zdrojem (bude napajet i raspberry)
- sd karta, flash disk
raspberrypi.1522184579.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
