ストリーミングサーバを構築してみようと思います。
オープンソースによりunixやlinuxと親和性がある"Darwin Streaming Server"を選択しました。
RTSPでh264なmp4の配信が可能になります。
オープンソースによりunixやlinuxと親和性がある"Darwin Streaming Server"を選択しました。
RTSPでh264なmp4の配信が可能になります。
- 環境
os | ubuntu8.10 | |
DSS | DarwinStreamingSrvr6.0.3-Source.tar | http://developer.apple.com/opensource/server/streaming/ |
patch | dss-6.0.3.patch | http://www.abrahamsson.com/dss-6.0.3.patch |
- ビルド
コンパイルの際、エラーが発生するためパッチを適応します。パッチの内容など詳細は、わかりません。
- ユーザとグループを追加
maguro@maguro-laptop:~$ sudo groupadd qtss maguro@maguro-laptop:~$ sudo useradd -g qtss qtss
- コンパイル
maguro@maguro-laptop:~/temp/dss6$ tar xvf DarwinStreamingSrvr6.0.3-Source.tar maguro@maguro-laptop:~/temp/dss6$ patch -p0 < dss-6.0.3.patch ← パッチ適応 maguro@maguro-laptop:~/temp/dss6$ cd DarwinStreamingSrvr6.0.3-Source/ maguro@maguro-laptop:~/temp/dss6/DarwinStreamingSrvr6.0.3-Source$ ./buildtarball Done. StreamingProxy--Linux/ StreamingProxy--Linux/StreamingProxy StreamingProxy--Linux/StreamingProxy.html StreamingProxy--Linux/streamingproxy.conf Success!
- インストール
インストールで、"streamingadminserver.pl"が実行されDSSが起動されます。
maguro@maguro-laptop:~/temp/dss6/DarwinStreamingSrvr6.0.3-Source$ cd DarwinStreamingSrvr-Linux maguro@maguro-laptop:~/temp/dss6/DarwinStreamingSrvr6.0.3-Source/DarwinStreamingSrvr-Linux$ sudo ./Install aunching streamingadminserver.pl ← ここでDSSが起動される! Installation Complete Darwin Streaming Server Setup In order to administer the Darwin Streaming Server you must create an administrator user [Note: The administrator user name cannot contain spaces, or single or double quote characters, and cannot be more than 255 characters long]. Please enter a new administrator user name: ← DSSのログイン名 You must also enter a password for the administrator user [Note: The administrator password cannot contain spaces, or quotes, either single or double, and cannot be more than 80 characters long]. Please enter a new administrator Password: ← DSSのログインパスワード Re-enter the new administrator password: Adding userName maguro Setup Complete!
- DSS 起動確認
- プロセス
maguro@maguro-laptop:~$ ps -ef | grep qtss qtss 6752 6751 3 20:07 ? 00:00:09 /usr/local/sbin/DarwinStreamingServer qtss 6757 1 0 20:07 ? 00:00:00 /usr/bin/perl /usr/local/sbin/streamingadminserver.pl
- DSS管理ページ
管理ページへアクセスする。"http://DSSが稼働しているIP:1220/"

- ストリーミング再生
QuickTime Player を起動して、i以下のURLを開くとRTSPでストリーミングされます。
ファイル →URLを開く →"rtsp://DSSが稼働しているIP/sample_h264_100kbit.mp4"
ファイル →URLを開く →"rtsp://DSSが稼働しているIP/sample_h264_100kbit.mp4"

- 起動・停止
DSSは、ストリーミングサーバとWEB管理サーバの2点のアプリケーションで構成されます。
/usr/local/sbin/DarwinStreamingServer | Streaming Server app |
/usr/local/sbin/streamingadminserver.pl | QTSS Web Admin server |
- streamingadminserver.pl 停止
streamingadminserver.pl は、起動時にプロセスIDを "/var/run/streamingadminserver.pid" へ出力しているため、プロセスIDを読み取り停止させることができます。※killコマンドのオプション"-KILL"は強制終了です。不要かも…
maguro@maguro-laptop:~$ sudo kill -KILL `cat /var/run/streamingadminserver.pid`
- streamingadminserver.pl 起動
スクリプトのため、1行目のperlのパスを確認してください。
maguro@maguro-laptop:~$ sudo /usr/local/sbin/streamingadminserver.pl
- DarwinStreamingServer 停止
psコマンドで確認すると2点プロセスがあること、"streamingadminserver.pl"のようにPIDをファイルへ出力していないこと、プロセス名が分かっていること から"killall"コマンドで停止させます。※killall は プロセスを名前で指定して kill します。
maguro@maguro-laptop:~$ ps -ef | grep DarwinStreamingServer root 6751 1 0 Mar24 ? 00:00:00 /usr/local/sbin/DarwinStreamingServer qtss 6752 6751 3 Mar24 ? 00:08:02 /usr/local/sbin/DarwinStreamingServer
停止コマンド
maguro@maguro-laptop:~$ sudo killall DarwinStreamingServer
- DarwinStreamingServer 起動
<注意>
DarwinStreamingServer は、重複処理がありません。起動した回数分DarwinStreamingServerが立ち上がります。
別途、シェルへ重複処理を追加してDarwinStreamingServerをキックしましょう。
DarwinStreamingServer は、重複処理がありません。起動した回数分DarwinStreamingServerが立ち上がります。
別途、シェルへ重複処理を追加してDarwinStreamingServerをキックしましょう。
maguro@maguro-laptop:~$ sudo /usr/local/sbin/DarwinStreamingServer
※自動起動・停止については、/etc/init.d/ へ適当にファイルを作成して、起動停止スクリプトを記述してください。chkconfig コマンドでサービス設定も便利です。
ファイルの格納先 readme.txtから抜粋
Darwin Streaming Server (Unix) /usr/local/sbin/DarwinStreamingServer - Streaming Server app /usr/local/sbin/streamingadminserver.pl - QTSS Web Admin server /usr/local/sbin/StreamingServerModules/ - QTSS plug-ins /usr/local/bin/PlaylistBroadcaster - The PlaylistBroadcaster /usr/local/bin/MP3Broadcaster - The MP3Broadcaster /usr/local/bin/qtpasswd - Generates password files for access control /usr/local/bin/StreamingLoadTool - RTSP simulated client stress tool /etc/streaming/ - QTSS config files /usr/local/movies/ - Media files /var/streaming/ - readme.html & user manual.pdf files /var/streaming/logs - Logs /var/streaming/playlists - Web Admin Playlist files
.