![]() |
running-dog.net。しかし、自分が一番落ち着かない。かけまわっている子犬のような状態。そんな毎日をブログで綴ってみました。 FreeBSD・PC・UNIX・プログラム・MacOSX・iPhone3G ネタなど技術的・趣味的なネタについて色々書いてみたいと思います。 また、最近は Microsoft Windows ネタも増えてきたかなぁ。などとも思っておりますが、併せて宜しくお願いします。 |
|
カテゴリー:音楽・動画・ストリーミング
検索
カテゴリー
フィードを取得
Special Thanks.
Please click now!!
Twitter と Ustream 始めました。
突然ですが、タイトルの通りです。つぶやきに関しては今までワッサーを使っていたのですが、iPhone アプリなどアクセス方法を考えた場合にツールの数が圧倒的に違うので、結局 Twitter を選んでしまいました。
後、Ustream についてですが「中継」ができるのが嬉しいかなぁ。YouTubu のアカウントは持ってないんだけど、Ustream のアカウントは作りました。
で、どちらも「いつ使うか?」なんですが、早い話、どっか飲みに行ったときそこからツイートしたり出てきた料理を中継してしまえ。って感じなのであります(^^;;。録画したビデオをアップロードすることは今のところ考えて無くて「生放送」って感じにしたいですね。
飲み屋に行って、ビールをゴブリと一口飲んだ後にオモムロに iPhone3G を取り出してまず Twitter で「今から生中継します。」ってつぶやいて、その後は Ustream を起動して注文して出てきた料理とか撮って、どんどん無くなっていく図がずっと流れるわけです。
あ。けど、最近は飲み屋に行くとまずセカイカメラでARタグ付けているんだった;-)。
でもって「あ。こいつホッピー中身おかわりしてやんの。」などと見ている人がツイートしたりすんですかね。中継見てくれる人がどれくらいいるか分かりませんが(^^;;。
ふむ。「Web2.0 in Your Pocket from motsuyaki shop.」って感じでしょうか;-)。結局今は、セカイカメラ・twitter そして Ustream とおちおち酒も飲んでいられないくらい忙しいのであります(^^;;。
twitter が @motsuyakiorg
Ustream は http://ustre.am/c4J9
です。宜しくお願いします;-)。
しかし、やっていることはどこぞの通信系キャリアの社長と一緒だなぁ。また、飲み屋でこんなことやっても良いのか?ビミョーだ・・。
この記事は二つのブログに掲載しています。
MacOSX SL で QuickTime Broadcaster が動きました。
もう少し、MacBook 及び MacOSX の話が続きます。おつき合いください。この後、BootCamp に Windows7 をインストールして多分終了かな;-)。
と、言うことで、前々回書いたエントリーで「Broadcaster 動かない。」と書いたら、コメントで「ちゃんと動くみたいですよ。」と頂いたので早速検証してみました。
結論を先に書くと確かに動作しましたf(^^;;。
さて、僕の場合、どうして「動かない。」と言ったかというとMacOSX Snow Leopard(以降 "SL" と記述)が出て、インストールした時点で QuickTime Broadcaster をインストールしたんだけど、はじかれて、更に確か、USB カメラのドライバーをインストールしようとした時にもはじかれたと記憶しています。
USB カメラは Sonix Technology Co., Ltd の SN9C102p と言うチップを使ったものを利用しているのですが、これはベンダのダウンロードサイトに行くと MacOSX 版のドライバもダウンロードできるので、そこからドライバをダウンロードしてインストールしていたのでありました。
ちなみに普段から MacBook に接続している USB カメラはこんな感じです;-)。暗いところでも赤外線でよーく見えるのよん。ただ、有効射程距離は短いんだけど。

インストールしようとすると「QuickTime7 をインストールしてください。」と言われたのは Darwin Kernel Version 10.0.0 です。今は Darwin Kernel Version 10.1.1 なので、バージョンアップで QuickTime7 のライブラリが入ったと想像できます。
ちなみに Darwin Kernel Version 10.0.0 の頃に QuickTime7 の Player をインストールしようとすると「最新版が入っているのでこれはインストールできません。」などと怒られていました。するっていと、上出のドライバとか Broadcaster は QuickTime7 にベッタリなので、実質利用できないんだー。と思った次第です。
ここで試しに QuickTime Broadcaster を ldd(MacoSX 的には otool -L) してみると /System/Library/Frameworks/QuickTime.framework と言うのがリンクされているです。なにーっ!! でもってもう一個 QuickTime Player X を ldd してみると、こっちは /System/Library/Frameworks/QTKit.framework と言うのがリンクされているです。orz。
今はもう Darwin Kernel Version 10.0.0 が手元に無いので解らないですが、一体いつ QuickTime7 もインストールしてないのに /System/Library/Frameworks/QuickTime.framework が入ったんだよーっ!! 状態となるのでありましたX-|。
なので Darwin Kernel Version 10.1.1 な人は QuickTime Broadcaster が動作するかと思われます。さすがは Apple。と言って良いのか?
動作している時のキャプチャです;-)。

しかし、マイクが Built-in ってのがちょっと悲しいなぁ。MacBook 専用のマイクになるのか、はたまた、フツーのマイクを本体にさすと、音をちゃんと拾ってくれるのかなぁ?まだ試してないんですけど・・。
僕は FreeBSD のサーバ上で DSS を動作させているので比較的容易にストリーミングできるのであります。見てくれる人はほとんど皆無なんだけどね・・。もう少しコンテンツを増やさないと・・。
いやぁ、それにしても無事に動作して良かった良かった。で、この記事おしまいかな・・(^^;;。
DSS のカン違い。
僕はストリーミング用に自分で DSS を立ち上げているのだけど、なんか、今まで思いっきりカン違いしていることを発見した・・。
録画した動画を QuickTimePro でストリーミング用に書き出した mov ファイルは DSS 上で必ず「プレーリスト」を作成してからストリーミングしていたのだけど、その必要って全くなかったのね。素直に URL に mov ファイルを指定するだけで再生できたんだ・・。
どおりで .sdp ファイルが各種ブラウザで対応していないわけだ・・。ちなみにプレーリストを作成すると、rtsp://qtss.icmpv6.org/test.sdp とかなってプロトコルも拡張子も対応されていなかったのでした。
で、これらは HTML で吸収できるのか?とか思ったけど goolge で探し回ってもその例がほぼ存在しない・・。これは mov ファイルを http:// でアクセスするんだな。と言うことになるわけです。「プレーリスト」は必要なし。
と、言うことで過去のストリーミングはこれでは全然ダメと言うのが良くわかった。新しいのはこんな感じ。今度はちゃんとブラウザも認識してくれる書き方だよー。
電車からの風景
http://motsuyaki.org/Movies/20080616.qtl
http:// でアクセスして .qtl と言う拡張子のファイルを作成するわけです。ブラウザからのアクセスでプロトコルは問題なし、拡張子は QuickTime がインストールされていれば問題無く起動できることを確認しました。ふぅ。これにて一件落着。
さて、qtl ファイルの書き方ですが、大体以下のような感じ。XML なファイルとなります。再生時のオプションも指定できます。
|
<?xml version="1.0"?> <?quicktime type="application/x-quicktime-media-link"?> <embed src="rtsp://qtss.icmpv6.org/train.mov" autoplay="true" type="video/quicktime" controller="true" quitwhendone="false" loop="true" name="MOSS (Motsuyaki ORG Streaming Service)" > </embed> |
さて、このファイルをウェブサーバ上に置くのだけど、今度は httpd の mime.types で認識してくれないので、このファイルが直接ブラウザに展開されてしまいます。なので AddType してあげる必要があります。conf/mime.types や httpd.conf に書いても良いのだけど、僕は .qtl ファイルを置いたディレクトリに .htaccess を置いてその中に記述してみました。以下のような感じ。
|
AddType application/x-sdp .sdp AddType application/sdp .sdp AddType application/x-quicktimeplayer .sdp AddType application/x-quicktimeplayer .qtl |
まぁ、ダメもとで .sdp の設定も書いたのだけど、やっぱりダメで(^^;;。.qtl のほうは正しく機能するようです。
と、言うことで、これでほぼ正しい設定が完了したと言う感じでしょう。ちなみに .qtl ファイルは QuickTimePlayer からでも出力できます。メニューの [ファイル] → [書き出す] → [ムービーから QuickTime Media Link] を選択すると一発です。色々なオプションも指定してくれるので簡単にできます。是非お試しあれ。
ふぅ。良かった。これでちゃんと DSS が機能しそうだぁ。
mplayer と doragonplayer。
KDE3 の頃は mplayer で動画の再生をしていた。KDE3 の頃は ports/multimedia/kmplayer と言う、mplayer を KDE3 で使いやすくするものがあったりしたけど、素の mplayer でも特に問題はなかった。
KDE4 にしたら ports/multimedia/kdemultimedia4 をインストールすると doragonplayer と言うのがインストールされるようになった。mplayer みたいな感じで、konqueror のプラグインとしても動作する。まぁ、どっちを使っても良いだけど。
所で話はガラっと変わるけど、DVD ボックスを買ってしまった。「未来少年コナン」の 30 周年特別版。西暦 2008 年 7 月、核兵器を遙かに越える超磁力兵器により世界の半分が一瞬にして消滅してしまった。と言うアレですね。
2008 年 7 月と言うのはもう過ぎてしまいましたが、それでも「ルパン三世・カリオストロの城」よりは古いのだけど、いやぁ。懐かしいのと面白いのとで、あっと言う間に全 26 話を見てしまった。土曜日の午前中に DVD が届いて日曜日の夜には全部見た。
今まで、全 26 話を九時間で見た。と言う記録は「新世紀エヴァンゲリオン」があったけど、それと同等だねぇ;-)。いやはや。懐かしかったです。
と、言うことで本題に戻るのだけど、この DVD をちょっとだけ mplayer と doragonplayer で見てみた。一番悲しい点はどちらもデジタルドルビー 5.1 チャンネルに対応していないのは FreeBSD のドライバがヘボいと言うのはちょっとおいといてと。
どちらも綺麗に表示してくれます。ただ、mplayer のほうが完成度は高いですね。早送りとか巻き戻しができるしねぇ。そー考えると KDE4 と言うのはまだまだ開発中だ。と言うことが伺えます。
後、ブラウザのプラグインとしての機能。doragonplayer だけをインストールすると firefox の動画を見られないし、mplayer だけだと konqueror の動画見られない。konqueror は firefox のプラグインを参照してくれるけど、 firefox は KDE4 のプラグインを参照してくれないので、結局、メティアプレーヤーを二つインストールしなければならないのねぇ・・。と、言う感じ・・。
一応、両方の ldd の結果を付けておきましょうかね。これで対応しているメディアがある程度解ることでしょう;-)。
・ldd /usr/local/kde4/bin/dragon | sort の結果
|
libICE.so.6 => /usr/local/lib/libICE.so.6 libQtCore.so.4 => /usr/local/lib/qt4/libQtCore.so.4 libQtDBus.so.4 => /usr/local/lib/qt4/libQtDBus.so.4 libQtGui.so.4 => /usr/local/lib/qt4/libQtGui.so.4 libQtNetwork.so.4 => /usr/local/lib/qt4/libQtNetwork.so.4 libQtSvg.so.4 => /usr/local/lib/qt4/libQtSvg.so.4 libQtXml.so.4 => /usr/local/lib/qt4/libQtXml.so.4 libSM.so.6 => /usr/local/lib/libSM.so.6 libX11.so.6 => /usr/local/lib/libX11.so.6 libXau.so.6 => /usr/local/lib/libXau.so.6 libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 libXext.so.6 => /usr/local/lib/libXext.so.6 libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 libXft.so.2 => /usr/local/lib/libXft.so.2 libXi.so.6 => /usr/local/lib/libXi.so.6 libXpm.so.4 => /usr/local/lib/libXpm.so.4 libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 libXrender.so.1 => /usr/local/lib/libXrender.so.1 libXtst.so.6 => /usr/local/lib/libXtst.so.6 libbz2.so.3 => /usr/lib/libbz2.so.3 libc.so.7 => /lib/libc.so.7 libexpat.so.6 => /usr/local/lib/libexpat.so.6 libfam.so.0 => /usr/local/lib/libfam.so.0 libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 libgcc_s.so.1 => /lib/libgcc_s.so.1 libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0 libiconv.so.3 => /usr/local/lib/libiconv.so.3 libintl.so.8 => /usr/local/lib/libintl.so.8 libkdecore.so.7 => /usr/local/kde4/lib/libkdecore.so.7 libkdeui.so.7 => /usr/local/kde4/lib/libkdeui.so.7 libkio.so.7 => /usr/local/kde4/lib/libkio.so.7 libkparts.so.5 => /usr/local/kde4/lib/libkparts.so.5 libkutils.so.5 => /usr/local/kde4/lib/libkutils.so.5 libm.so.5 => /lib/libm.so.5 libpcre.so.0 => /usr/local/lib/libpcre.so.0 libphonon.so.4 => /usr/local/kde4/lib/libphonon.so.4 libpng.so.5 => /usr/local/lib/libpng.so.5 librpcsvc.so.4 => /usr/lib/librpcsvc.so.4 librt.so.1 => /usr/lib/librt.so.1 libsolid.so.5 => /usr/local/kde4/lib/libsolid.so.5 libstdc++.so.6 => /usr/lib/libstdc++.so.6 libstreamanalyzer.so.0 => /usr/local/lib/libstreamanalyzer.so.0 libstreams.so.0 => /usr/local/lib/libstreams.so.0 libthr.so.3 => /lib/libthr.so.3 libxine.so => /usr/local/lib/libxine.so libxml2.so.5 => /usr/local/lib/libxml2.so.5 libz.so.4 => /lib/libz.so.4 |
・ldd /usr/local/bin/mplayer | sort の結果
|
libGL.so.1 => /usr/local/lib/libGL.so.1 libICE.so.6 => /usr/local/lib/libICE.so.6 libSDL-1.2.so.11 => /usr/local/lib/libSDL-1.2.so.11 libSM.so.6 => /usr/local/lib/libSM.so.6 libX11.so.6 => /usr/local/lib/libX11.so.6 libXau.so.6 => /usr/local/lib/libXau.so.6 libXcomposite.so.1 => /usr/local/lib/libXcomposite.so.1 libXcursor.so.1 => /usr/local/lib/libXcursor.so.1 libXdamage.so.1 => /usr/local/lib/libXdamage.so.1 libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 libXext.so.6 => /usr/local/lib/libXext.so.6 libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 libXi.so.6 => /usr/local/lib/libXi.so.6 libXinerama.so.1 => /usr/local/lib/libXinerama.so.1 libXrandr.so.2 => /usr/local/lib/libXrandr.so.2 libXrender.so.1 => /usr/local/lib/libXrender.so.1 libXt.so.6 => /usr/local/lib/libXt.so.6 libXv.so.1 => /usr/local/lib/libXv.so.1 libXxf86dga.so.1 => /usr/local/lib/libXxf86dga.so.1 libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1 libaa.so.1 => /usr/local/lib/libaa.so.1 libartsc.so.0 => /usr/local/lib/libartsc.so.0 libasn1.so.9 => /usr/lib/libasn1.so.9 libatk-1.0.so.0 => /usr/local/lib/libatk-1.0.so.0 libaudio.so.2 => /usr/local/lib/libaudio.so.2 libc.so.7 => /lib/libc.so.7 libcairo.so.2 => /usr/local/lib/libcairo.so.2 libcam.so.4 => /lib/libcam.so.4 libcdda_interface.so.0 => /usr/local/lib/libcdda_interface.so.0 libcdda_paranoia.so.0 => /usr/local/lib/libcdda_paranoia.so.0 libcom_err.so.4 => /usr/lib/libcom_err.so.4 libcrypt.so.4 => /lib/libcrypt.so.4 libcrypto.so.5 => /lib/libcrypto.so.5 libdrm.so.2 => /usr/local/lib/libdrm.so.2 libdv.so.4 => /usr/local/lib/libdv.so.4 libexpat.so.6 => /usr/local/lib/libexpat.so.6 libfontconfig.so.1 => /usr/local/lib/libfontconfig.so.1 libfreetype.so.9 => /usr/local/lib/libfreetype.so.9 libfribidi.so.0 => /usr/local/lib/libfribidi.so.0 libgcc_s.so.1 => /lib/libgcc_s.so.1 libgdk-12.so.2 => /usr/local/lib/libgdk-12.so.2 libgdk-x11-2.0.so.0 => /usr/local/lib/libgdk-x11-2.0.so.0 libgdk_pixbuf-2.0.so.0 => /usr/local/lib/libgdk_pixbuf-2.0.so.0 libglib-12.so.3 => /usr/local/lib/libglib-12.so.3 libglib-2.0.so.0 => /usr/local/lib/libglib-2.0.so.0 libgmodule-12.so.3 => /usr/local/lib/libgmodule-12.so.3 libgmodule-2.0.so.0 => /usr/local/lib/libgmodule-2.0.so.0 libgobject-2.0.so.0 => /usr/local/lib/libgobject-2.0.so.0 libgpac.so.1 => /usr/local/lib/libgpac.so.1 libgssapi.so.9 => /usr/lib/libgssapi.so.9 libgthread-12.so.3 => /usr/local/lib/libgthread-12.so.3 libgthread-2.0.so.0 => /usr/local/lib/libgthread-2.0.so.0 libgtk-12.so.2 => /usr/local/lib/libgtk-12.so.2 libgtk-x11-2.0.so.0 => /usr/local/lib/libgtk-x11-2.0.so.0 libiconv.so.3 => /usr/local/lib/libiconv.so.3 libintl.so.8 => /usr/local/lib/libintl.so.8 libjack.so.0 => /usr/local/lib/libjack.so.0 libjpeg.so.9 => /usr/local/lib/libjpeg.so.9 libkrb5.so.9 => /usr/lib/libkrb5.so.9 liblber-2.4.so.3 => /usr/local/lib/liblber-2.4.so.3 libldap-2.4.so.3 => /usr/local/lib/libldap-2.4.so.3 liblirc_client.so.1 => /usr/local/lib/liblirc_client.so.1 libm.so.5 => /lib/libm.so.5 libmad.so.2 => /usr/local/lib/libmad.so.2 libmpcdec.so.5 => /usr/local/lib/libmpcdec.so.5 libncurses.so.7 => /lib/libncurses.so.7 libogg.so.5 => /usr/local/lib/libogg.so.5 libopenal.so.0 => /usr/local/lib/libopenal.so.0 libpango-1.0.so.0 => /usr/local/lib/libpango-1.0.so.0 libpangocairo-1.0.so.0 => /usr/local/lib/libpangocairo-1.0.so.0 libpangoft2-1.0.so.0 => /usr/local/lib/libpangoft2-1.0.so.0 libpcre.so.0 => /usr/local/lib/libpcre.so.0 libpixman-1.so.9 => /usr/local/lib/libpixman-1.so.9 libpng.so.5 => /usr/local/lib/libpng.so.5 libroken.so.9 => /usr/lib/libroken.so.9 librpcsvc.so.4 => /usr/lib/librpcsvc.so.4 libsbuf.so.4 => /lib/libsbuf.so.4 libsmbclient.so.0 => /usr/local/lib/libsmbclient.so.0 libspeex.so.1 => /usr/local/lib/libspeex.so.1 libssl.so.5 => /usr/lib/libssl.so.5 libstdc++.so.6 => /usr/lib/libstdc++.so.6 libtheora.so.0 => /usr/local/lib/libtheora.so.0 libthr.so.3 => /lib/libthr.so.3 libungif.so.5 => /usr/local/lib/libungif.so.5 libusbhid.so.3 => /usr/lib/libusbhid.so.3 libx264.so.50 => /usr/local/lib/libx264.so.50 libxmms.so.4 => /usr/local/lib/libxmms.so.4 libxvidcore.so.4 => /usr/local/lib/libxvidcore.so.4 libz.so.4 => /lib/libz.so.4 |
こうしてみると mplayer のほうが圧倒的に強い。と言うのが良く解るねぇ・・。doragonplayer はリンクしているライブラリが 51 個。mplayer は 90 個でした。
DSS-6.0.3 サーバは FreeBSD で動いています。(2)
前回の続き です。DSS が 6.0.3 になったらストリーミングが tcp を利用するようになっていました。RTP over RTSP と言うみたいです。以下の URL にその詳細が載っています。
http://lists.apple.com/archives/Streaming-server-dev/2007/Feb/msg00030.html
サーバ側ではストリーミングデータを RTP の UDP ではなく、 TCP で流して再生するぜい。みたいな感じです。
僕は DSS は二台のサーバで起動しているのだけど、一台は BB ルータの DMZ 内に設置されたサーバ、つまり NAT 環境下で運用しているのがあるのだけど、上記の説明文を読むと、なるほど。とか思う。
ならば。と言うことでグローバルアドレスが付いているサーバで試したけど、やはり TCP で送信していた。NAT が有っても無くても UDP で送信するみたいです。ふむー。
と、言うことであればしょーがない。TCP でガマンするか。とか思ったのだけど、UDP で送信する方法が無いのかちょっと調べてみた。/usr/local/etc/streaming/ にある streamingserver.xml や、ストリーミング用の SDP ファイルを見たけど、UDP でストリーミングするオプションが無いのねぇ。と、言うことであきらめるか・・。
クライアントについてですが、MacOSX の QuickTime Player は TCP と UDP に対応しているのでサクっと動きます。
mplayer は -rtsp-stream-over-tcp と言うオプションを付加すれば見ることができるのは前回書いた通りです。
そして、Windows 版の QuickTime Player ですが、こいつは default では再生できないのであります。ちょっと調べたところ以下の設定を施せば見ることができるようになることを確認しました。
[編集]->[設定]->[QuickTime 設定] と来て [詳細]->[ストリーミング] の中の [トランスポート設定] を [カスタム] に。[自動] にしていたら再生してくれません・・X-(。
すると [トランスポートプロトコル] が UDP になっているのでそれを HTTP に。
でもってポートを 80 番ではなく、 554 に変更して保存します。
これで再生できるようになるかと思います。ふう。ちかれた・・。
DSS-6.0.3 サーバは FreeBSD で動いています。
ports-current を追いかけていたら DSS が 6.0.3 になっていた。
過去のこのブログでも「動画配信。」と「DSS-5.5.4 の使い方。」と、二回ほど取り上げてきた。今回はその三回目で最新版についてお届けして参りましょう。
まずは、実際にストリーミングをご覧ください。既に YS-11 のストリーミングは無いので新しいのを用意しました。どこの線路が解るかしら?コメントに路線名を書いていただいても結構です;-)。
-> 電車からの風景 -> rtsp://qtss.icmpv6.org/train.sdp
この動画は大体二ヶ月位は配信できるように頑張ってみます。
さてと。ここに用意したサンプルのストリーミングですが、現在、MacOSX の QuickTime7 でしか、素直に再生できません。 WindowsXP 上の QuickTime でも再生できません。
コンテンツ自体は デジタルカメラで撮ったものを QuickTime7.5 の Pro でストリーミング用に変換したものです。Video Codec は H264。 Audio Codec は AAC と言う、標準的なもので、それぞれ ffmpeg と faad で再生はできるはずです。
FreeBSD 上の mplayer で再生を試みましたが、とあるオプションを指定しなければ見ることができませんでした。mplayer をお使いの方はコマンドラインから以下を実行してみてください。
| mplayer -fps 15 -rtsp-stream-over-tcp rtsp://qtss.icmpv6.org/train.sdp |
"-fps" と言うオプションと -rtsp-stream-over-tcp と、言うオプションを付加しなければ再生できない。と、言うことが解りました。このオプションをつけると無事に再生できるようになります。
そもそも、RTP って UDP だったかなぁ?オプション的には TCP で流すぜぃ。って雰囲気っぽいんだけど・・。
DSS-5.4 ではこれらのオプションが無くとも再生できていたので DSS が 6.0.3 になってから色々と変わったのだろうとは思うのですが、まだ調査していません。暇をみつけて色々確認してみたいと思います。
ちなみに、コンテンツのほうは特に指定はありません。けど、DSS サーバの設定にもこれといったものは無いのです・・。余計な設定が無い(できない)というのはいかにも Apple らしいのですけど;-)。
最後にですが、DSS-6.0.3 の日本語メッセージを「ここ」に置いておきます。
最新版の DSS-6.0.3 ですが、もう少し調査が必要なことだけは確かです。
後、僕は Windows ユーザではないので Windows 上の QuickTime でどうして再生できないのかを深く追うことはしないと思います。あしからずご了承ください。
DSS-5.5.4 の使い方。
前回の日記で、ストリーミングに DSS 使ってます。って書いたけど、ちょっとだけまとめておきますね。
DSS は ports からインストールすると非常に簡単なのだけど、/usr/local/etc/streaming/ の下に qtgroupsと qtusers の二つのファイルを用意しないと動かないのでこの二つは必ず生成しましょう。
僕は MacOSX も持っているので QuickTimeBroadcaster で「中継」することもできるのです。安い USB カメラでも最近は MacOSX 用のドライバがあったりするので比較的容易に「中継」することが可能です。
あ、僕の持っている MacBook には default でカメラ付いているんだった。けど、あのカメラは向きが変えられないので「中継」にはちょっと使えないです・・。
録画した動画を配信するためには QuickTimePlayerPRO が必要になります。動画を QuickTimePlayerPRO でストリーミング形式に書き出してから、その書き出されたファイルを /usr/local/share/DarwinStreamingServer/movies/ に保存します。ストリーミング形式に変換していない動画を配信することはできないので注意してください。
後は、http://localhost:1220/ にアクセスして、「プレイリスト」などで設定すれば中継できるようになります。
しかし、DSS-5.5.4 は表示が英語なのでちょっとしきいが高いですねぇ。そんな時に見つけた技が、まだフリーで配布していた頃の QTSS-4.2 を Apple のサイトからダウンロードしてきて、AdminHtml と言うディレクトリの下に html_ja と言うディレクトリがあるので、それを抽出することです。html_ja には日本語テキストが入っているのでそれを持ってきます。後は FreeBSD にインストールした DSS に対して以下のコマンドを実行するだけ。
|
# cd /usr/local/share/DarwinStreamingServer/AdminHtml # mv html_en html_en.org # hogehoge # ln -s html_ja html_en |
QTSS みたいに言語は自動判別してくれないので html_en に symlink してあげれば良いでしょう。表中の hogehoge はおまじないです;-)。
実は DSS-5.5.4に対応した日本語テキストを既に持っています。QTSS-4.2 から増えたメッセージテキストの差分を追加したものがあります。なので僕が利用している DSS は既に日本語化されています;-)。Apple のライセンスがどうなっているのかあんまり深く考えないようにしているのですが、ここ いらへんにあったりします;-)。(hogehoge の部分で利用してください)
と、言うことで、DSS について書いてみましたが、DSS は MacOSX がないと「中継」できないし、QuickTimePROがないと「ストリーミング」できないし、本当にやっかいです。けど、MacOSX を持っている人にとってはいろいろ楽しめます。皆さんもちょっと遊んでみてください;-)。
あ、ちなみに DSS-5.5.4 の ports ですが、FreeBSD/amd64 で make は通るのですが、実際に動作させようと思っても動きません。DarwinStreamingServer 自体は起動するんだけど、http://localhost:1220/ にアクセスしても応答が無くログイン画面が表示されないため、実質利用できない。と言う感じです。
ちょっと格闘してみたのですが、MacOSX は gcc-4.0.1 を使っているのに対して、FreeBSD は gcc-3.4.6 なのでその影響があるのかな?とも思えます。port:1220 にログインした時の「メイン」の画面では サーバ上の現在時刻 が 1900年 とか表示されているし、なんか、64bit 周りでおかしいのかなぁ。とは想像がつきます。
試しに gcc-4 で make したことがあるのですが、make が通りませんでした(^^;;。
files/patch-CommonUtilitiesLib::OSHeaders.h 辺りに修正を入れれば make は通るとは思うのですが、僕は最近の C を知らないので 64bit に対応するにはどう書いたら良いのかよくわからないのでした・・(^^;;。
と、言うことで、gcc-4 で make が通るパッチをどなたか書いてください。nork さぁ〜ん;-)。
動画配信。
最近、ユーチューブや mixiで 動画配信流行ってますねぇ。running-god.net でも負けてられないのでちょっち動画配信しちゃおうかなぁ;-)。
一応、QTSS と言うか、DSS-5.5.4 なるサーバはあるし、MacOSX もあるのでストリーミングはどうにかなるよ;-)。と、言うことで。
さようなら日本の翼 rtsp://qtss.icmpv6.org/ys-11.sdp
見えない方は上記URLを mplayer か QuickTimePlayer に食わせて上げてください。MP4にしているので多分ほとんどのフレーヤーで見る事ができると思うのですけどねぇ・・。
タイトルはこれででいいかな? FreeBSD/i386 で DSS-5.5.4 を動かして、コンテンツは去年の9月に徳島-福岡間の飛行の際、座席番号 A-5 で録画した YS-11 の勇士です;-)。
あぁ、なんか、DSS-5.5.4 は PlaylistBroadcaster がメモリーリークしているっぽいので期間限定になるかもしれんです。もし見えなかった時には勘弁を・・。2007/03/31までは見えるようにします。