Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
raspberry:audio_stream [2018/10/07 21:32]
admin
raspberry:audio_stream [2018/10/08 00:58]
admin [Icecast]
Line 1: Line 1:
 ===== Audio Stream ===== ===== Audio Stream =====
-Streaming audio over internet using icecast and darkice on RaspbianStretch.\\ +Streaming audio over internet using Icecast and Darkice on RaspbianStretch.\\ 
-update:+ 
 +---- 
 +==== Soundcard ==== 
 + 
 +check the soundcard: 
 +  $ cat /proc/asound/modules 
 +and  
 +  $ cat /proc/asound/cards 
 +that could look like that: 
 +  0 [ALSA           ]: bcm2835_alsa - bcm2835 ALSA 
 +                      bcm2835 ALSA 
 +  1 [K6             ]: USB-Audio - Komplete Audio 6 
 +                      Native Instruments Komplete Audio 6 at usb-3f980000.usb-1.5, high speed 
 +The ALSA Card ID is 0 and the USB-Audio Card ID is 1\\ 
 + 
 +Identify the Soundcard Chip's Device ID 
 +  $ ls /proc/asound 
 +gives: 
 +  ALSA  card0  card1  cards  devices  hwdep  K6  modules  pcm  seq  timers  version 
 +means there are two sound cards 0 and 1 
 +  $ ls /proc/asound/card1 
 +gives: 
 +  id  midi0  pcm0c  pcm0p  stream0  usbbus  usbid  usbmixer 
 +Identify the device id: 
 +  $ cat /proc/asound/card1/pcm0c/info 
 +give: 
 +  card: 1 
 +  device: 0 
 +  subdevice: 0 
 +  stream: CAPTURE 
 +  id: USB Audio 
 +  name: USB Audio 
 +  subname: subdevice #0 
 +  class: 0 
 +  subclass: 0 
 +  subdevices_count:
 +  subdevices_avail:
 +and: 
 +  $ cat /proc/asound/card1/pcm0p/info 
 +gives: 
 +  card: 1 
 +  device: 0 
 +  subdevice: 0 
 +  stream: PLAYBACK 
 +  id: USB Audio 
 +  name: USB Audio 
 +  subname: subdevice #0 
 +  class: 0 
 +  subclass: 0 
 +  subdevices_count:
 +  subdevices_avail:
 +therefore in both cases the ID is 0.\\ 
 +Install ALSA utilities:
   $ sudo apt-get update   $ sudo apt-get update
-install icecast2 and darkice+  $ sudo apt-get install alsa-utils 
-  $ sudo apt-get install icecast2 darkice +open ALSO mixer: 
-if asked type in hostname and password +  $ alsamixer 
-  hostnamelocalhost +with F6 select the soundcard.\\ 
-  password: ????+Test the Sound Card Output: 
 +  $ speaker-test -Dplughw:1,0 -c2 -tsine 
 +  $ speaker-test -Dplughw:1,0 -c2 -twav 
 + 
 + 
 +---- 
 +==== Darkice ==== 
 +Install Darkice.\\  
 +update
 +  $ sudo apt-get update  
 +get the files and install them: 
 +  $ wget https://github.com/x20mar/darkice-with-mp3-for-raspberry-pi/blob/master/darkice_1.0.1-999~mp3+1_armhf.deb?raw=true 
 + 
 +  $ mv darkice_1.0.1-999~mp3+1_armhf.deb?raw=true darkice_1.0.1-999~mp3+1_armhf.deb 
 + 
 +  $ sudo apt-get install libmp3lame0 libtwolame0 
 + 
 +  $ sudo dpkg -i darkice_1.0.1-999~mp3+1_armhf.deb 
 + 
 + 
 change config: change config:
   $ sudo nano /etc/darkice.cfg   $ sudo nano /etc/darkice.cfg
 to: to:
-# this section describes general aspects of the live streaming session [general]                 
-# duration of encoding, in seconds. 0 means forever 
-duration      = 0  
-   bufferSecs    = 2 
-  # size of internal slip buffer, in seconds  
-  reconnect     = yes 
-  # reconnect to the server(s) if disconnected   
-  # this section describes the audio input that will be streamed [input]  
-  device        = hw:1,           
-  # Alsa soundcard device for the audio input  
-  sampleRate    = 48000             
-  # sample rate in Hz. try 48000, 96000 or 192000  
-  bitsPerSample = 16                
-  # bits per sample. try 16  
-  channel       = 2                 
-  # channels. 1 = mono, 2 = stereo.                                  
-  # Only stereo mode is supported by pisound.  
-    
-  # this section describes a streaming connection to an IceCast2 server  
-  # there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7]  
-  # these can be mixed with [icecast-x] and [shoutcast-x] sections [icecast2-0]  
-  bitrateMode   = cbr               
-  # variable bit rate  
-  bitrate       = 128  
-  format        = mp3               
-  # format of the stream: mp3  
-  quality       = 0.8               
-  # quality of the stream sent to the server  
-  server        = localhost         
-  # host name of the server  
-  port          = 8000              
-  # port of the IceCast2 server, usually 8000  
-  password      = hackme            
-  # source password to the IceCast2 server  
-  mountPoint    = pisound           
-  # mount point of this stream on the IceCast2 server  
-  name          = pisound           
-  # name of the stream  
-  description   = DarkIce on pisound  
-  # description of the stream  
-  url           = http://localhost  
-  # URL related to the stream  
-  genre         = my genre          
-  # genre of the stream  
-  public        = no                
-  # advertise this stream?  
-  #localDumpFile = recording.mp3    
-  # Record also to a file  
----- 
-[general] 
-duration        = 0      # duration in s, 0 forever 
-bufferSecs      = 1      # buffer, in seconds 
-reconnect       = yes    # reconnect if disconnected 
  
-[input] +  # this section describes general aspects of the live streaming session 
-device          = plughw:1,0 # or `pulse' for Pulseaudio +  [general] 
-sampleRate      22050   # sample rate 1102522050 or 44100 +  duration      = 0                # duration of encoding, in seconds. 0 means forever 
-bitsPerSample   = 16      # bits +  bufferSecs    = 2                # size of internal slip buffer, in seconds 
-channel         = 1       # 2 = stereo+  reconnect     = yes              # reconnect to the server(s) if disconnected 
 +  # this section describes the audio input that will be streamed 
 +  [input] 
 +  device        = plughw:1,      Alsa soundcard device for the audio input 
 +  sampleRate    48000            # sample rate in Hz. try 4800096000 or 192000 
 +  bitsPerSample = 16               # bits per sample. try 16 
 +  channel       = 2                channels. 1 = mono, 2 = stereo
 +                                   # Only stereo mode is supported by pisound. 
 +  # this section describes a streaming connection to an IceCast2 server 
 +  # there may be up to 8 of these sections, named [icecast2-0] ... [icecast2-7] 
 +  # these can be mixed with [icecast-x] and [shoutcast-x] sections  
 +  [icecast2-0] 
 +  bitrateMode   = cbr              # constant bit rate ('vbr' variable 'abr' average) 
 +  bitrate       = 128 
 +  format        = mp3              # format of the stream: mp3 ('vorbis' for OGG) 
 +  quality       = 0.8              # quality of the stream sent to the server (1.0 ist best) 
 +  server        = localhost        # host name of the server 
 +  port          = 8000             # port of the IceCast2 server, usually 8000 
 +  password      = ????????         # source password to the IceCast2 server 
 +  mountPoint    = pisound.mp3      # mount point of this stream on the IceCast2 server 
 +  name          = pisound          # name of the stream 
 +  description   = DarkIce on pisound # description of the stream 
 +  url           = http://localhost # URL related to the stream 
 +  genre         = hits             # genre of the stream 
 +  public        = no               # advertise this stream? 
 +  #localDumpFile = recording.mp3   # Record also to a file
  
-[icecast2-0] +---- 
-bitrateMode     vbr       # variable bit rate (`cbr' constant, `abr' average) +==== Icecast ==== 
-quality         1.0       # 1.0 is best quality +Install Icecast.\\ 
-format          mp3       # format. Choose `vorbis' for OGG Vorbis +update: 
-bitrate         128       # bitrate +  $ sudo apt-get update 
-server          10.10.10.11 # IP address of the IceCast server +install icecast2: 
-port            8000      # port for IceCast2 access +  $ sudo apt-get install icecast2 
-password        ******    # source password to the IceCast2 server +if asked type in hostname and password 
-mountPoint      = radio.mp3 # mount point on the IceCast2 server .mp3 or .ogg +  hostname: localhost 
-name            = radio +  password: ???? 
-   +start icecast2: 
-   +  $ sudo service icecast2 start 
-run: + 
-  $ darkice  +---- 
 +==== Stream ==== 
 +just run: 
 +  $ darkice  
 +and then open in your browser: 
 +  http://192.168.178.112:8000/pisound.mp3 
 +Icecast2 Status one will find here: 
 +  http://192.168.178.112:8000
  
 ---- ----
-==== Link ==== +==== Links ==== 
-[[https://www.hackster.io/pranciskus/internet-radio-station-f0bdc1]]+[[https://www.instructables.com/id/Test-Sound-Card-and-Speakers-in-Raspberry-Pi/]]\\ 
 +[[https://www.hackster.io/pranciskus/internet-radio-station-f0bdc1]]\\ 
 +[[https://technicalustad.com/live-streaming-of-mp3-using-darkice-and-icecast2-on-raspberry-pi/]]\\ 
 +[[https://w7apk.com/streaming-radio]]\\ 
 +[[http://rabarar.github.io/blog/2015/07/02/darkice-and-icecast/]]\\
  
 ---- ----