はじめに

昨今インターネットへの接続回線が安くなって、帯域があまりがちという人も多いかと思います。 この記事はそういう余ってしまう帯域を使い尽くしてしまいたいという、CPU 稼働率はつねに100%、帯域使用率も目指せ 100% な熱い人へお送りする FreeBSD で構築するストリーミングサーバ概説です。

無駄に CPU と帯域を使いたいならやっぱりマルチメディアですね。 さらっとマルチメディアなんて言葉を使うようになってしまった自分に衝撃を受けたりもしつつ、ストリーミングサーバとは何か。

昨今のブラウザなら他のソフトと連携して、さまざまなメディアファイルを再生できるので、音のファイルやら動画のフィアルをそのまま web 際とにおいておいて、リンクでもはっておけばかってにダウロードして再生してくれるようになっている。

まぁこうやってファイルにしてサーバに保存しておけるなら、ストリーミングサーバなんてややこしいものは必要ないんだけれども、これがライブカメラネットラジオとなると話が変わってくる。

例えばライブカメラなんかの場合、データは常に生成されているわけで、それをいちいち細切れに保存して公開しても、見る方もいちいち細切れにされたものを見る必要があり、ライブカメラとしての意義がない。 またネットラジオなんかの場合、放送が終わったあとならファイルにまとめてサーバにアップしておけるが、それではリアルタイムで視聴者と掲示板などを使ったやり取りができなくなる。

こう言うデータを生成しながら、一方ではそれをダウンロードして再生すると言うことをしたいという時に必要になってくるのが、ストリーミングサーバという事です。

今のところFreeBSD で使用できるストリーミングサーバは
Darwin Streaming Server
・Helix Universal Server
・icecast
SHOUTcast
などがあり、今はコンパイルできないようだけど
peercast
も一応 FreeBSD 版がある。