私はすべて自分でやることに決めました。 これはプロジェクトやスタートアップではなく、just4funです。 これはあなたの役に立つかもしれません。
そのため、ラジオストリームの展開にはフリーソフトウェアのみを使用したため、ユーザーウィンドウ$およびma o $はこれ以上読みません。 いいえ、それを読んで、多分それはあなたにGNU / Linuxを新しい視点から開くでしょう。
ブロードキャストストリームから必要なもの:
- 音楽を演奏する
- ライブブロードキャスト(音声)
- 一緒に
- スクリーンセーバー、笑い声などのあらゆる種類のもの
- 24時間365日の交換用スレッド(推奨)
開始位置
- Dlink DIR-320ルーター(私は
悪党です。彼はエコノムでもあります) - Gentoo Linux PC
- 50ルーブル用の通常のマイク、1個
USBドライブ64 MB
まず、ルーターの標準ファームウェアが破壊され、トランクからのOpenWRTがその場所に落ちました。 OpenWRTの展開方法については説明しません。たとえば、 ここで読むことができます 。
内蔵メモリは4メガバイトで、busyboxビルドオプションのuseraddプログラムだけであるため、block-extrootを使用してFSルーターのルートを外部フラッシュドライブに転送する必要があるとしか言えません 。
ファームウェアがインストールされ、インターネットが機能し、SSHもそこにあります。SSHを経由してルーターに行き、理解し始めます。
I.アイスキャスト
質問は、「ストリームサーバーとして何を使用するか」です。 ありませんでした さらに、非常に安定しており、軽量です。
ルーターにicecastをインストールします。
opkg update opkg install icecast
なぜルーターに? もちろん、コンピューターは夜間にオフになり、24/7モードが計画されています。
サンドボックスでIcecastを使用するので、Icecastユーザーを作成します。
Icecast構成ファイルはXML形式です
# useradd busybox, : opkg install shadow-useradd useradd icecast -g nogroup cp /etc/icecast.xml /usr/share/icecast # vi /usr/share/icecast/icecast.xml # nano
実際、私は一般的にこの設定を編集するためにケイト(kio-sftp)を使用しましたが、それは重要ではありません。
構成は十分に文書化されています。 セキュリティのために、chrootを1に設定し、所有者をユーザーに変更する必要があります。 また、この場合のパスは、basedirからの相対パスである必要がありますが、先頭にスラッシュが必要です。 そして、Icecastは本当に自分でパスを作成することを好みません。
例として、 ここに私の設定があります。
私の場合、Icecastユーザーのログファイルを作成する必要があります。
cd /usr/share/icecast mkdir log cd log touch {error,access}.log cd - chown -R icecast log # icecast -b -c icecast.xml
Webインターフェースは192.168.1.1で利用可能です:8000
ところで、次の行を追加します
icecast -b -c /usr/share/icecast/icecast.xml
/etc/rc.localで、ルーターの起動時にicecastを実行します。
II:フォールバックストリーム
私は24時間働けないので、最初のオフラインの場合、同じURLのメインストリームを置き換えるフォールバックストリームが必要です。
最後のフォールバックストリーム構成オプションは、2番目の部分で見つけることができますが、ここではMPDを使用します。
icecast用にMPDを設定するのに複雑なことは何もありませんが、ALSAとIceCastで同時に解釈できるようになりました。 mpdをインストールして〜/ .mpdconfを開くだけで、そこにALSAとIcecastの両方が設定されます。自分でパラメータをコメント解除して微調整するだけです。
メインストリームが/ liveと呼ばれ、フォールバックが/mpd.oggであるとします
次に、icecast.xmlに次を追加する必要があります。
<mount> <mount-name>/live</mount-name> <fallback-mount>/mpd.ogg</fallback-mount> <fallback-override>1</fallback-override> <fallback-when-full>1</fallback-when-full> </mount>
icecastを再起動し(killallがすべてです)、アドレスを開こうとします
192.168.1.1:8000 /プレーヤーでライブ。 動作しますか? さらに進みましょう。
III:インターネットを登る
外部からの接続を受け入れるようにファイアウォールを構成します。 ホワイトIPがない場合は、dyndns.orgを使用して、openwrtのドキュメントを参照してください。
/ etc / config / firewallで、次の行を入力します。
#ICECAST config rule option src wan option dest_port 8000 option target ACCEPT option proto tcp
ファイアウォールを再起動します。
/etc/init.d/firewall restart
ところで、私にとって、チェックする最良の方法はisup.meではなく、携帯電話です:)。 一般的に、さらに進んでみましょう
IV:クライアントのセットアップ
クライアントマシン、つまり 投稿の冒頭で述べたように、デスクトップもLinuxです。
無線を制御するために、無料のオープンな、そして最も重要なのは、非ポータブル(Linuxのみ)プログラムidjcを使用します。 SourceForgeからのレビューを引用させてください。
過去に、SAMとShoutCastの両方を使用してWindows XPでストリーミングしました。 Ubuntu StudioでインターネットDJコンソールを試した後、私はそれが私の人生で最高のストリーミング体験だったと言わなければなりません。 6時間以上サーバーに接続しましたが、問題なく実行されました。 これをまとめた人たちへの称賛。
Gentoo Portagesにはありませんでしたが、たとえばUbuntuにあります。 ソースからプログラムをコンパイルしました。 また、「ジャック」USEフラグを/etc/make.confに追加して、インストールしてalsaと統合する必要がありました。
動作させるには、プログラムにJACKサウンドサーバーが必要です(Linuxで優れたプログラムがありますが、m $ではありません) と尋ねると、Rosegarden、Cinenelerra、JACK、Ardor、MythTVです!
その他の依存関係:GTK +、pygtk、およびヘッドフォンとマイク付きのサウンドカードの存在。
IV.1ジャックのセットアップ
JACKはリアルタイムモードで動作するため、スワップする場所を指定する必要があります。
オーディオグループに自分自身を追加し、/ etc / security.confに次を追加します。
@audio - rtprio 99 @audio - memlock unlimited @audio - nice -10
そしてログインします。
たとえば、構成ファイルを作成する必要もあります。
echo "/usr/bin/jackd -d -r 44100 -p 256" > ~/.jackdrc
JACK, back-end' ( ):
jackd -d
.. alsa pulse
IV.2 idjc
idjc , . ( ):
2 , ( ), ( ), , (), :
4 6 Icecast/Shoutcast MP3 OGG () FLAC
. Preferences Jingles , Output:
, , .
, .
, Format ., .. , .
, IRC.
V. Skype
skype ☻ alsa-plugins. Gentoo:
emerge alsa-plugins # USE="jack"
~/.asoundrc :
# VoIP plugin for the IDJC default profile. pcm.idjcvoip { type plug slave.pcm { type jack playback_ports { 0 idjc-mx_default:voip_in_l 1 idjc-mx_default:voip_in_r } capture_ports { 0 idjc-mx_default:voip_out_l 1 idjc-mx_default:voip_out_r } } }
.
, idjrc JACK jackd -d alsa ( pulse, ). , qjackctl.
idjcvoip ( , Ekiga ):
, , - .
, .
-
echo "/usr/bin/jackd -d -r 44100 -p 256" > ~/.jackdrc
JACK, back-end' ( ):
jackd -d
.. alsa pulse
IV.2 idjc
idjc , . ( ):
2 , ( ), ( ), , (), :
4 6 Icecast/Shoutcast MP3 OGG () FLAC
. Preferences Jingles , Output:
, , .
, .
, Format ., .. , .
, IRC.
V. Skype
skype ☻ alsa-plugins. Gentoo:
emerge alsa-plugins # USE="jack"
~/.asoundrc :
# VoIP plugin for the IDJC default profile. pcm.idjcvoip { type plug slave.pcm { type jack playback_ports { 0 idjc-mx_default:voip_in_l 1 idjc-mx_default:voip_in_r } capture_ports { 0 idjc-mx_default:voip_out_l 1 idjc-mx_default:voip_out_r } } }
.
, idjrc JACK jackd -d alsa ( pulse, ). , qjackctl.
idjcvoip ( , Ekiga ):
, , - .
, .
-
echo "/usr/bin/jackd -d -r 44100 -p 256" > ~/.jackdrc
JACK, back-end' ( ):
jackd -d
.. alsa pulse
IV.2 idjc
idjc , . ( ):
2 , ( ), ( ), , (), :
4 6 Icecast/Shoutcast MP3 OGG () FLAC
. Preferences Jingles , Output:
, , .
, .
, Format ., .. , .
, IRC.
V. Skype
skype ☻ alsa-plugins. Gentoo:
emerge alsa-plugins # USE="jack"
~/.asoundrc :
# VoIP plugin for the IDJC default profile. pcm.idjcvoip { type plug slave.pcm { type jack playback_ports { 0 idjc-mx_default:voip_in_l 1 idjc-mx_default:voip_in_r } capture_ports { 0 idjc-mx_default:voip_out_l 1 idjc-mx_default:voip_out_r } } }
.
, idjrc JACK jackd -d alsa ( pulse, ). , qjackctl.
idjcvoip ( , Ekiga ):
, , - .
, .
-
echo "/usr/bin/jackd -d -r 44100 -p 256" > ~/.jackdrc
JACK, back-end' ( ):
jackd -d
.. alsa pulse
IV.2 idjc
idjc , . ( ):
2 , ( ), ( ), , (), :
4 6 Icecast/Shoutcast MP3 OGG () FLAC
. Preferences Jingles , Output:
, , .
, .
, Format ., .. , .
, IRC.
V. Skype
skype ☻ alsa-plugins. Gentoo:
emerge alsa-plugins # USE="jack"
~/.asoundrc :
# VoIP plugin for the IDJC default profile. pcm.idjcvoip { type plug slave.pcm { type jack playback_ports { 0 idjc-mx_default:voip_in_l 1 idjc-mx_default:voip_in_r } capture_ports { 0 idjc-mx_default:voip_out_l 1 idjc-mx_default:voip_out_r } } }
.
, idjrc JACK jackd -d alsa ( pulse, ). , qjackctl.
idjcvoip ( , Ekiga ):
, , - .
, .
-
echo "/usr/bin/jackd -d -r 44100 -p 256" > ~/.jackdrc
JACK, back-end' ( ):
jackd -d
.. alsa pulse
IV.2 idjc
idjc , . ( ):
2 , ( ), ( ), , (), :
4 6 Icecast/Shoutcast MP3 OGG () FLAC
. Preferences Jingles , Output:
, , .
, .
, Format ., .. , .
, IRC.
V. Skype
skype ☻ alsa-plugins. Gentoo:
emerge alsa-plugins # USE="jack"
~/.asoundrc :
# VoIP plugin for the IDJC default profile. pcm.idjcvoip { type plug slave.pcm { type jack playback_ports { 0 idjc-mx_default:voip_in_l 1 idjc-mx_default:voip_in_r } capture_ports { 0 idjc-mx_default:voip_out_l 1 idjc-mx_default:voip_out_r } } }
.
, idjrc JACK jackd -d alsa ( pulse, ). , qjackctl.
idjcvoip ( , Ekiga ):
, , - .
, .
echo "/usr/bin/jackd -d -r 44100 -p 256" > ~/.jackdrc
JACK, back-end' ( ):
jackd -d
.. alsa pulse
IV.2 idjc
idjc , . ( ):
2 , ( ), ( ), , (), :
4 6 Icecast/Shoutcast MP3 OGG () FLAC
. Preferences Jingles , Output:
, , .
, .
, Format ., .. , .
, IRC.
V. Skype
skype ☻ alsa-plugins. Gentoo:
emerge alsa-plugins # USE="jack"
~/.asoundrc :
# VoIP plugin for the IDJC default profile. pcm.idjcvoip { type plug slave.pcm { type jack playback_ports { 0 idjc-mx_default:voip_in_l 1 idjc-mx_default:voip_in_r } capture_ports { 0 idjc-mx_default:voip_out_l 1 idjc-mx_default:voip_out_r } } }
.
, idjrc JACK jackd -d alsa ( pulse, ). , qjackctl.
idjcvoip ( , Ekiga ):
, , - .
, .
echo "/usr/bin/jackd -d -r 44100 -p 256" > ~/.jackdrc
JACK, back-end' ( ):
jackd -d
.. alsa pulse
IV.2 idjc
idjc , . ( ):
2 , ( ), ( ), , (), :
4 6 Icecast/Shoutcast MP3 OGG () FLAC
. Preferences Jingles , Output:
, , .
, .
, Format ., .. , .
, IRC.
V. Skype
skype ☻ alsa-plugins. Gentoo:
emerge alsa-plugins # USE="jack"
~/.asoundrc :
# VoIP plugin for the IDJC default profile. pcm.idjcvoip { type plug slave.pcm { type jack playback_ports { 0 idjc-mx_default:voip_in_l 1 idjc-mx_default:voip_in_r } capture_ports { 0 idjc-mx_default:voip_out_l 1 idjc-mx_default:voip_out_r } } }
.
, idjrc JACK jackd -d alsa ( pulse, ). , qjackctl.
idjcvoip ( , Ekiga ):
, , - .
, .
echo "/usr/bin/jackd -d -r 44100 -p 256" > ~/.jackdrc
JACK, back-end' ( ):
jackd -d
.. alsa pulse
IV.2 idjc
idjc , . ( ):
2 , ( ), ( ), , (), :
4 6 Icecast/Shoutcast MP3 OGG () FLAC
. Preferences Jingles , Output:
, , .
, .
, Format ., .. , .
, IRC.
V. Skype
skype ☻ alsa-plugins. Gentoo:
emerge alsa-plugins # USE="jack"
~/.asoundrc :
# VoIP plugin for the IDJC default profile. pcm.idjcvoip { type plug slave.pcm { type jack playback_ports { 0 idjc-mx_default:voip_in_l 1 idjc-mx_default:voip_in_r } capture_ports { 0 idjc-mx_default:voip_out_l 1 idjc-mx_default:voip_out_r } } }
.
, idjrc JACK jackd -d alsa ( pulse, ). , qjackctl.
idjcvoip ( , Ekiga ):
, , - .
, .