Difference between revisions of "Stream Node Audio to Broadcastify"

From AllStarLink Wiki
Jump to navigation Jump to search
 
Line 1: Line 1:
You'll need an account on broadcastify.com / radioreference.com to set up your feed.   
+
To broadcast your node's audio on [https://www.broadcastify.com/ Broadcastify], you will need a Broadcastify account. You can then apply for a feed. This [https://support.broadcastify.com/hc/en-us/articles/204740055-Becoming-a-Feed-Provider Link] provides information about applying for a feed.
== Install Packages ==
+
 
 +
After you have your account and feed credentials, you are ready to setup Allstar.
 +
 
 +
'''''As of 8/5/2023, ezstream, version 1.0.2, contains a bug that prevents it from streaming MP3 data.  The following instructions will walk you through the steps to download and compile the necessary packages.'''''
 +
 
 +
== Installation Instructions for Ezstream 1.0.0 and newer ==
 +
 
 +
=== Install Software and Packages ===
 +
Log into your node and type the following commands.
 +
 
 +
<pre>
 +
sudo -s
 +
cd /usr/src
 +
 
 +
git clone https://gitlab.xiph.org/xiph/ezstream.git
 +
cd ezstream
 +
git checkout master
 +
 
 +
wget https://gitlab.xiph.org/xiph/ezstream/uploads/ba768fa1349c65b60affd496cf4282ed/ezstream-1.0.2.patch
 +
 
 +
patch src/stream.c ezstream-1.0.2.patch
 +
 
 +
apt-get update
 +
apt-get install check libshout-dev libtagc0-dev lame
 +
 
 +
./autogen.sh
 +
./configure
 +
make
 +
make install
 +
</pre>
 +
 
 +
Press control-d to exit from superuser.
 +
 
 +
This will compile and install ezstream.  It will also install lame.
 +
 
 +
=== Setup Ezstream ===
 +
 
 +
Edit /etc/ezstream.xml with your favorite editor.  You will be creating a new file.
 +
 
 +
Add the following to the file.
 +
<pre>
 +
<ezstream>
 +
  <servers>
 +
    <server>
 +
      <protocol>HTTP</protocol>
 +
      <hostname>Replace with Broadcastify URL</hostname>
 +
      <port>80</port>
 +
      <password>Replace with your stream password</password>
 +
      <tls>none</tls>
 +
    </server>
 +
  </servers>
 +
  <streams>
 +
    <stream>
 +
      <mountpoint>Replace with your mount point path</mountpoint>
 +
      <format>MP3</format>
 +
      <stream_name>Replace with your feed name</stream_name>
 +
      <stream_url>Your web page</stream_url>
 +
      <stream_genre>Amateur Radio</stream_genre>
 +
      <stream_description>Replace with your stream description</stream_description>
 +
      <stream_bitrate>16</stream_bitrate>
 +
      <stream_channels>1</stream_channels>
 +
      <stream_samplerate>22050</stream_samplerate>
 +
      <stream_public>Yes</stream_public>
 +
    </stream>
 +
  </streams>
 +
  <intakes>
 +
    <intake>
 +
      <type>stdin</type>
 +
    </intake>
 +
  </intakes>
 +
</ezstream>
 +
</pre>
 +
Save the file.
 +
 
 +
=== Update rpt.conf ===
 +
Edit /etc/asterisk/rpt.conf.  Add the following line to the bottom of the node that you want to broadcast.
 +
<pre>
 +
outstreamcmd = /bin/sh,-c,/usr/bin/lame --preset cbr 16 -r -m m -s 8 --bitwidth 16 - - | /usr/local/bin/ezstream -qvc /etc/ezstream.xml
 +
</pre>
 +
<pre>
 +
Meaning of outstream parameters:
 +
-- preset cbr 16 = use constant bit rate 16
 +
-r = Assume the input file is raw pcm
 +
-m m = Mode mono
 +
-s 8 = sample rate 8
 +
--bitwidth 16 = bit width is 16 (default)
 +
</pre>
 +
 
 +
After these changes have been made, you will need to restart asterisk.
 +
 
 +
Streaming should start immediately after asterisk is restarted.
 +
 
 +
If you run into any problems, you can add ''2>/tmp/ezstreamlog.txt'' to the end of the outstream command.  This will write errors to /tmp/ezstreamlog.txt.
 +
=== Migrating an existing feed to Ezstream 1.0.0 or newer ===
 +
 
 +
If you have an existing feed, you will need to upgrade your existing xml file to the new formatYou can use the following commands.
 +
 
 +
<pre>
 +
cd /etc
 +
ezstream-cfgmigrate -0 ezstream.xml > ezstream.xml.new
 +
cp ezstream.xml ~/
 +
cp ezstream.new ezstream.xml
 +
</pre>
 +
 
 +
== Installation Instructions for Eztream 0.5.x and older ==
 +
 
 +
=== Install Packages ===
 
''' Note: These packages are already installed on beta-2.0.0 on Raspberry Pi. You will need to download and install ezstream manually for PC '''
 
''' Note: These packages are already installed on beta-2.0.0 on Raspberry Pi. You will need to download and install ezstream manually for PC '''
  
Line 7: Line 113:
 
apt-get install ezstream lame -y
 
apt-get install ezstream lame -y
 
</pre>
 
</pre>
Add this to the bottom of the node stanza in rpt.conf for the node you want to broadcast.
+
Edit /etc/asterisk/rpt.conf and add this to the bottom of the node stanza for the node you want to broadcast.
 
<pre>
 
<pre>
 
outstreamcmd = /bin/sh,-c,/usr/bin/lame --preset cbr 16 -r -m m -s 8 --bitwidth 16 - - | /usr/bin/ezstream -qvc /etc/ezstream.xml
 
outstreamcmd = /bin/sh,-c,/usr/bin/lame --preset cbr 16 -r -m m -s 8 --bitwidth 16 - - | /usr/bin/ezstream -qvc /etc/ezstream.xml
Line 19: Line 125:
  
 
This is the contents of ezstream.xml<br/>
 
This is the contents of ezstream.xml<br/>
You will need to add / edit your passwords etc. for Broadcastify. Place in /etc directory.
+
You will need to add / edit your passwords etc. for Broadcastify. Place this file in the /etc directory.
 
<pre>
 
<pre>
 
<ezstream>
 
<ezstream>

Latest revision as of 21:02, 12 August 2023

To broadcast your node's audio on Broadcastify, you will need a Broadcastify account. You can then apply for a feed. This Link provides information about applying for a feed.

After you have your account and feed credentials, you are ready to setup Allstar.

As of 8/5/2023, ezstream, version 1.0.2, contains a bug that prevents it from streaming MP3 data. The following instructions will walk you through the steps to download and compile the necessary packages.

Installation Instructions for Ezstream 1.0.0 and newer

Install Software and Packages

Log into your node and type the following commands.

sudo -s
cd /usr/src

git clone https://gitlab.xiph.org/xiph/ezstream.git
cd ezstream
git checkout master

wget https://gitlab.xiph.org/xiph/ezstream/uploads/ba768fa1349c65b60affd496cf4282ed/ezstream-1.0.2.patch

patch src/stream.c ezstream-1.0.2.patch

apt-get update
apt-get install check libshout-dev libtagc0-dev lame

./autogen.sh
./configure
make
make install

Press control-d to exit from superuser.

This will compile and install ezstream. It will also install lame.

Setup Ezstream

Edit /etc/ezstream.xml with your favorite editor. You will be creating a new file.

Add the following to the file.

<ezstream>
  <servers>
    <server>
      <protocol>HTTP</protocol>
      <hostname>Replace with Broadcastify URL</hostname>
      <port>80</port>
      <password>Replace with your stream password</password>
      <tls>none</tls>
    </server>
  </servers>
  <streams>
    <stream>
      <mountpoint>Replace with your mount point path</mountpoint>
      <format>MP3</format>
      <stream_name>Replace with your feed name</stream_name>
      <stream_url>Your web page</stream_url>
      <stream_genre>Amateur Radio</stream_genre>
      <stream_description>Replace with your stream description</stream_description>
      <stream_bitrate>16</stream_bitrate>
      <stream_channels>1</stream_channels>
      <stream_samplerate>22050</stream_samplerate>
      <stream_public>Yes</stream_public>
    </stream>
  </streams>
  <intakes>
    <intake>
      <type>stdin</type>
    </intake>
  </intakes>
</ezstream>

Save the file.

Update rpt.conf

Edit /etc/asterisk/rpt.conf. Add the following line to the bottom of the node that you want to broadcast.

outstreamcmd = /bin/sh,-c,/usr/bin/lame --preset cbr 16 -r -m m -s 8 --bitwidth 16 - - | /usr/local/bin/ezstream -qvc /etc/ezstream.xml 
Meaning of outstream parameters:
	-- preset cbr 16 = use constant bit rate 16
	-r = Assume the input file is raw pcm
	-m m = Mode mono
	-s 8 = sample rate 8
	--bitwidth 16 = bit width is 16 (default)

After these changes have been made, you will need to restart asterisk.

Streaming should start immediately after asterisk is restarted.

If you run into any problems, you can add 2>/tmp/ezstreamlog.txt to the end of the outstream command. This will write errors to /tmp/ezstreamlog.txt.

Migrating an existing feed to Ezstream 1.0.0 or newer

If you have an existing feed, you will need to upgrade your existing xml file to the new format. You can use the following commands.

cd /etc
ezstream-cfgmigrate -0 ezstream.xml > ezstream.xml.new
cp ezstream.xml ~/
cp ezstream.new ezstream.xml

Installation Instructions for Eztream 0.5.x and older

Install Packages

Note: These packages are already installed on beta-2.0.0 on Raspberry Pi. You will need to download and install ezstream manually for PC

apt-get update
apt-get install ezstream lame -y

Edit /etc/asterisk/rpt.conf and add this to the bottom of the node stanza for the node you want to broadcast.

outstreamcmd = /bin/sh,-c,/usr/bin/lame --preset cbr 16 -r -m m -s 8 --bitwidth 16 - - | /usr/bin/ezstream -qvc /etc/ezstream.xml

Meaning of outstream paramaters:
-- preset cbr 16 = use constant bit rate 16
-r = Assume the input file is raw pcm
-m m = Mode mono
-s 8 = sample rate 8
--bitwidth 16 = bit width is 16 (default)

This is the contents of ezstream.xml
You will need to add / edit your passwords etc. for Broadcastify. Place this file in the /etc directory.

<ezstream>
    <url>http://audio3.broadcastify.com:80/mountpoint-provided-by-broadcastify</url>
    <sourcepassword>feed-specific-password-not-same-as-website-login</sourcepassword>
    <format>MP3</format>
    <filename>stdin</filename>
    <stream_once>1</stream_once>
    <reconnect_tries>0</reconnect_tries>
    <svrinfoname>Description </svrinfoname>
    <svrinfourl>http://www.radioreference.com/</svrinfourl>
    <svrinfogenre>Amateur Radio</svrinfogenre>
    <svrinfodescription>Description</svrinfodescription>
    <svrinfobitrate>16</svrinfobitrate>
    <svrinfochannels>1</svrinfochannels>
    <svrinfosamplerate>22050</svrinfosamplerate>
    <svrinfopublic>1</svrinfopublic>
</ezstream>