Projekt
Raspberry Pi
Audio streaming source client


INDEX
  • Inledning
  • senast uppdaterat
  • Beskrivning
  • Köp / Transport / Embalage m.m.
  • Referenser / Länkar m.m.
  • Disclaimer
  • Budget
  • Referenser
  • Disclaimer

  • Inledning
    Använder en RaspberryPi + Raspbian-Wheezy + darkice för att strömma upp ljud till en närradio sändare.

    Streaming klienten startar upp och ansluter till en streaming server helt automatiskt.


    RaspberryPi + USB Ljudkort


    Senast uppdaterat
    2016.06.27 Använder RaspberryPi / Darkice streaming klienten för att direktsända ett kommunfullmäktige möte. Mötet är ett s.k. 'Sommar-KF' (Sista mötet före semestern) mötet brukar utlokaliseras till någon lämplig lokal runt om i kommunen. Denna gång avhölls 'Sommar-KF' i den gamla skolan i byn Lomträsk.


    RaspberryPi / Darkice 'in action'

    Streamar upp till våran 'IceCast' server via en mobil 3G/4G router 'Zyxel LTE3301' - Får endast 3,2Mbps/Ner och 1,2Mbps/Upp vid test mot '
    bredbandskollen.se' - Det verkar dock att räcka för en .ogg ljudström (24KHz Samplingsfrekvens, 96Kbps Bitrate)

    Här kan du lyssna på ljudet som strömmats ner till backup fil i SAM Broadcastern (Ljudet är något överstyrt ibland då vissa talar lite högre än andra...)

  • KF i Lomträsk - 2016.06.27 Del1
  • KF i Lomträsk - 2016.06.27 Del2


    'KF-Sommarmöte' i skolan Lomträsk


    'KF-Sommarmöte' i skolan Lomträsk

    Överkalix folkradio direktsände med start strax före kl. 14:00 – Utsändningen genomfördes i stort sett utan några missöden. Sändaren på 93,3MHz uppe på Lappberget har en automatisk funktion där en avbrotts jingel går igång per automatik efter 10 sekunders tystnad. Under mötets gång vid t.ex. ajourneringar och längre avsnitt med tystnad gick avbrotts jingeln igång. I praktiken är detta inget ‘fel’, men ändå rätt så irriterande! – Måste komma ihåg att stänga av funktionen vid nästa utsändning, webbutsändningen stördes inte alls av detta.

    2016.03.03 Testar med en ny mindre mixer med inbyggd USB in/utgång, denna gång är det en 'Behringer XENYX Q502USB' - RaspberryPi hittar enheten direkt, och ALLT funkar perfekt från start. Inga problem med ljudnivå denna gång!

    [    2.973656] usb 1-1.2: new full-speed USB device number 4 using dwc_otg
    [    3.126880] usb 1-1.2: New USB device found, idVendor=08bb, idProduct=29c2
    [    3.140657] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumbe$
    [    3.151587] usb 1-1.2: Product: USB AUDIO  CODEC
    [    3.160934] usb 1-1.2: Manufacturer: BurrBrown from Texas Instruments
    


    RaspberryPi + Behringer XENYX Q502USB

    Testar även att köra stereo 'channel = 2' i /etc/darkice.cfg, får då massor med 'buffer overrun' meddelanden och besvärande 'hackigt' ljud!, återgår till mono, får kolla på detta problem vid ett senare tillfälle. Kan bero på den begränsade hårdvaran, finns ju både snabbare och bättre RPI modeller.


    resultat av 'pstree'

    Gjorde ett försök att 'rensa' upp lite bland processerna, kör bara med det absolut nödvändigaste igång.

    2016.02.29 Provar att köra RaspberryPi / DarkIce streamboxen med en 'Behringer X1222USB' analog mixer som ljudingång (USB Ljudkort) - RaspberryPi kopplas direkt till USB kantakten på Behringer mixerns baksida.


    RaspberryPi + 'Behringer X1222USB'

    RaspberryPi identifierar enhet problemfritt (Se skärmdump) - DarkIce startar och ljudströmmen kopplar mot IceCast2upp utan problem - Hitintills allt väl, har nu problem med USB ljudet ut från Behringer mixern, nivåerna är jättelåga! - Återkommer när detta är löst, kör t.s.v. med DELTACO UAC-03 dongeln.


    USB Enhet identifierad

    2016.02.25 Allt fungerar nu klanderfritt, spelade in en liten demo film -->Här! - Har gjort i ordning två RaspberryPi 1 modell B (En som reserv) - Kapaciteten verkar att vara fullt tillräcklig för detta.


    rpi_streaming_source2.mp4 / 2st RaspberryPi 1 modell B färdiga att användas

    2016.02.25 Får 'Buffer overrun!' meddelande i consolen, verkar inte att påverka ljudet. Kollar på vad detta kan bero på.


    Skärmdump

    ToDo1 = Lägga in darkice i /etc/rc.local så att tjänstren startar av sig själv. Lägger till en rad 'sudo darkice &'

    ToDo2 = Kontrollera om darkice och SAM Broadcaster kan hantera två kanaler (Stereo) i t.ex. .ogg format, vet att IceCast2 klarar detta.
    (Båda kan köra format = vorbis, men dessvärre så har ljudkortet bara en mic/mono ingång) - Kollar på att ta ut ljudet i stereo direkt från en mixer via USB.


    Beskrivning
    2016.02.24 Tanken är att göra en enkel apparat för att strömma upp ljud till en
    Närradio station från t.ex. en föreläsning eller en tillfällig 'studio i fält'

    Enkelt schema:
                             1. Source                 2. Server              3. Broadcast
    ---------------  Analog  ---------------           ------------           --------------
    | Ljudkälla   |   Ljud   | RaspberryPi | mp3 ström | IceCast2 | mp3 ström | SAM        |
    | T.ex. Mixer |--------->| DarkIce     |---------->| Server   |---------->| Broadcaster|
    ---------------          ---------------           ------------           --------------
    

    1. Använder en RaspberryPi 1 Modell B och ett USB ljudkort med cMedia chip (Fabrikat/Modell = DELTACO UAC-03) - Kör på standard Raspbian '2015-05-05-raspbian-wheezy' och 'DarkIce'

    2. Ljudströmmen ansluts till en extern 'IceCast 2' server. Då denna ljudström inte ska vara public så kan man dölja den med 'public = no' i /etc/darkice.cfg


    IceCast2 Server

    3. För att få ut ljudet till sändning i Närradion ansluts ljudströmmen direkt som en URL i spellistan på SAM Broadcaster.


    Ansluter Ljudström i spellistan på SAM Broadcaster

    Perfekt beskrivning av Installation och config för rasbian & darkice finns under referenser nedan [R1][R2][R3]

    Det enda jag kan tillföra är att man naturligtvis kan köra 'nano' i stället för 'vi' - Naturligtvis råkande ut för det 'underlying sink error' som beskrivs - Ett sådant problem beror oftast (alltid) på felaktigt lösenord, felaktig port, felaktiga forward inställningar i brandvägg eller som i mitt fall att IceCast2 servern bara tog emot två ingående ljudströmmar.

    Ändrade raden <source>4</source> i icecast.xml på IceCast2 servern så att den nu accepterar fyra ingående ljudströmmar.

    Tips: Då denna ljudström inte ska vara public så kan man dölja den med 'public = no' i /etc/darkice.cfg

    Här ligger allt om min config:

    Fixar autostart av darkice vid uppstart genom att editera /etc/rc.local - Lägger till raden 'sudo darkice &'

    Några noteringar Plus :-)
  • Kostnadseffektivt!
  • Lätt att använda!
  • Bra ljudkvalite (För priset)

    Några noteringar Minus :-(
  • Inte helt enkelt för 'gemene man'
  • DarkIce hanterar bara en kanal (Mono) i mp3

    Tekniska data 'RaspberryPi Streaming client'
    =====================================================================
    Typ ............................... Streaming Client
    =====================================================================
    


    Köp / Transport / Embalage m.m.


    Budget
    Kostnader t.o.m. 2016.02.24
    ============================================================
    RaspberryPi / Inköp ..................... 
    USB Ljudkort (cMedia chip) ..............
    

    Till index / top

    Länkar / Referenser
    Honors to the brains behind - 'Äras den som äras bör' - som talesättet säger. Som vanligt så är det inte jag som kommit på allt detta. Här hittar ni länkar till referenser och leverantörer.

    [R1] Audio distribution with Raspberry Pi @
    Crazy Audio
    [R2] Live streaming with DarkIce and Icecast2 @ stmllr.net
    [R3] SHOUTcast streaming from a Raspberry Pi by Martin Higgins http://www.darkice.org/
    http://manpages.ubuntu.com/manpages/wily/man5/darkice.cfg.5.html http://streambox.org/elc/software/darkice.htm


    Till index / top


    Disclaimer!
    The information given on this page is given on an 'As Is' basis and aimed for NON COMMERCIAL use only. The author can not be held responsible for any use of the information. Any registered product / trademark or company name on the page is the property of their respective owners.

    NOTERA!
    Det är helt personliga reflektioner och upplevelser vi skriver om på den här sidan, dessa är inte några 'Expert' kommentarer / utlåtanden. Vi rekommenderar INTE att någon ska göra dom ändringar / Modifieringar som vi gjort och som beskrivs på denna sida, då dessa HELT SÄKERT gör att alla garantier som leverantören utställt OMEDELBART upphör.

    Våra tester och slutsatser kan INTE, och ska INTE tas för intäkt att samma eller motsvarande resultat eller upplevelse kan erhållas eller efterliknas någon annanstans eller av någon annan - http://sm2yer.dyndns.org - ©1999-2013 G.Larsson / SM2YER

    Go Back!


    ©2010 SM2YER Goran