2009年9月17日木曜日

DebianでGtk版WebKitをビルド

WebKitのビルドに挑戦してみました。
  • Debian 5.0.3 (netinstall CDでインストールしました。)
準備
以下のパッケージを「(ルートターミナルで)apt-get」あるいは「Synaptic パッケージ・マネージャ」からインストールします。
・subversion
・build-essential
・libxml2-dev
・libxslt1-dev
・libsqlite3-dev
・bison
・flex
・gperf
・autoconf
・libtool
・libgtk2.0-dev
・gtk-doc-tools
・libicu-dev
・libenchant-dev
・libgail-dev
・libsoup2.4-dev
・libXt-dev
・libgstreamer-plugins-base0.10-dev

実験版・不安定版パッケージにアップグレード
WebKitは現状の最新安定版だけではビルドできません。いくつかのパッケージは、より新しいexperimental(実験版)、unstable(不安定版)にアップグレードする必要があります。

ルートターミナル(もしくはsu)にて、/etc/apt/source.listを編集します。
# gedit /etc/apt/source.list
以下のような2行をコピー&ペーストし、

 deb http://ミラーサーバ/debian/ lenny main
 deb-src http://ミラーサーバ/debian/ lenny main

下記4行に書き換えます。

 deb http://ミラーサーバ/debian/ unstable main
 deb-src http://ミラーサーバ/debian/ unstable main
 deb http://ミラーサーバ/debian/ experimental main
 deb-src http://ミラーサーバ/debian/ experimental main

追加したら、上書きして閉じます。

以下のコマンドにて、experimental版を優先にしてアップグレードします。
# apt-get update
# apt-get -t experimental upgrade
# apt-get -t experimental install libgtk2.0-dev
# apt-get -t experimental install libsoup2.4-dev
※何やら聞かれる場合がありますが、基本的にはデフォルトのまま「OK」でよいです。
ビルドに必要なパッケージをもうひとつインストールします。

# apt-get install libgeoclue-dev

WebKitソースコードの入手
以下のコマンドを入力し、SVNリポジトリより最新版をチェックアウトします。
$ svn co http://svn.webkit.org/repository/webkit/trunk


Gtk版WebKitのビルド
$ cd trunk
$ WebKitTools/Scripts/update-webkit
$ WebKitTools/Scripts/set-webkit-configuration --release
$ WebKitTools/Scripts/build-webkit --gtk


GTK版WebKitの実行
$ WebKitBuild/Release/Programs/GtkLancher

以上。(けっこう試行錯誤しました。)

2009年9月8日火曜日

UbuntuでOpenfire(グループチャットサーバ)構築

XMPP対応のグループチャットサーバを構築します。
  • Ubuntu 9.04
  • openfire 3.6.4
Openfireインストール
javaのランタイムが必要なので、インストールしていない場合は、以下のコマンドによりインストールします。
sudo apt-get instal sun-java6-jre
テンポラリなディレクトリを作成します。
mkdir temp/openfire
cd temp/openfire
以下のコマンドを入力し、Openfireパッケージのダウンロードとインストールを行います。
wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3.6.4_all.deb
sudo dpkg -i openfire_3.6.4_all.deb
※改行されていますが、2つのコマンドです。

初期設定
管理Webページ(http://localhost:9090)にアクセスし、初期設定を行います。
全てデフォルトで良いです。管理Webページへのパスワードを決める必要があるので、考えておきましょう。
「Setup Complete!」の画面まで進めば初期設定は完了ですが、そのまま進んでも管理Webページにログインできない(バグと思われる)ので、以下のコマンドを入力し、一度Openfireを再起動させます。
sudo /etc/init.d/openfire restart
再起動確認後、再度管理Webページへアクセスします。
ユーザは『admin』で、パスワードは初期設定で入力したパスワードを入れます。

使い方(最低限)
まずは、ユーザアカウントを作成しましょう。管理Webページの「Users/Groups」→「Users」→「Create New User」にてユーザアカウントを作成できます。

クライアントについては、Openfireと相性の良いSparkを使うのが良いでしょう。
XMPPに対応したソフトであれば、大抵簡単に接続できるはずです。

プラグインを入れれば、もっと色々な使い方ができるかもしれません。が、また今度。

以上です。

2009年9月7日月曜日

UbuntuでDarwin Streaming Server(動画ストリーミングサーバ)の構築

RTSPサーバであるDarwin Streaming Serverを構築し、動画をストリーミング再生して遊んでみます。
  • Ubuntu 9.04
  • Darwin Streaming Server 6.0.3
Darwin Streaming Serverのインストール
適当なテンポラリディレクトリを作ります。
mkdir temp/dss
cd temp/dss
以下のコマンドを入力し、インストールパッケージのダウンロードとインストールを行います。
wget http://static.lstoll.net/dss/DarwinStreamingSrvr6.0.3-Linux.deb.gz
gzip -d DarwinStreamingSrvr6.0.3-Linux.deb.gz
sudo dpkg -i DarwinStreamingSrvr6.0.3-Linux.deb
この方法でインストールを行った場合、Web管理画面のユーザ名とパスワードは『admin』に設定されます。

管理画面(http://localhost:1220)にアクセスし、初期設定を行います。
基本的には全てデフォルトのままで良いです。(自分で考えるのはMP3ストリーミングのパスワードぐらいです)

デフォルトの設定であれば、/usr/local/movies/ディレクトリにストリーミング用のメディアファイルを置くように設定されます。(後で、管理画面から設定変更も可能です)

動作確認
/usr/local/movies/ディレクトリ以下にサンプルの動画が格納されていますので、RTSPストリーミング再生機能を持つQuickTime PlayerやVLC Media Palyerで再生確認を行います。
(※Darwin Streaming Serverは自動起動するように設定されます。)

VLC Media Player1.0.1の場合は、「メディア」→「ネットワークストリームを開く」をクリックし、ダイアログにて「プロトコル」に『RTSP』、「アドレス」に『【サーバのIPアドレス】/【ファイル名】』(例えば、192.168.0.2/sample_h264_300kbit.mp4)を入力して「再生」します。


RTSP用コンテンツ作成方法
Windows上で、お手持ちの動画ファイルをRTSP用にエンコードする方法についてです。
RTSP用のコンテンツは、hint付きMP4(H.264,AAC)にエンコードして作成する必要があります。方法としては、とりあえず2パターンを紹介します。
(※『hint』情報というのは、 ストリーミング再生を行うためにプリロードされるインデックスみたいな情報だと思います。違うかも。)
(1)MediaCoderを使用してhint付きMP4にエンコードする。
(2)MP4ファイルにMP4Box.exeを使用してhint情報を付加する。(他のエンコードツールを使ってエンコードした場合など)
どちらの場合でもMediaCoderをインストールすれば、ほぼ事足ります。

(1)MP4Box.exeによるHint情報付加
MP4Box.exeは、MediaCoderのインストールフォルダ下のtoolsフォルダにあります。
コマンドプロンプトで以下のようなコマンドを入力して利用します。(input.mp4にhintを付けてoutput.mp4という名前で出力する例です。)
MP4Box.exe -hint -add input.mp4 -new output.mp4
(実際には、それぞれ絶対パスあるいは相対パスで指定する必要があります。)

(2)MediaCoderによるhint付きMP4作成
大雑把な設定内容ですが、「Video」を『H.264』、「Audio」を『FAAC』、「Container」を『MP4』を選択します。
さらに「MP4Box」タブの「Advanced」をクリックし、「Hint the file for RTP/RTSP」を『true』にし、エンコードを行います。

出来上がったファイルを/usr/local/movies/に置いて、準備完了です。

かなり手抜きになりましたが、以上です。

2009年9月4日金曜日

UbuntuでEclipseによるOpenGLプログラム開発環境の構築

Ubuntu上でOpenGL(GLUT)プログラムをコンパイル・実行できる環境の構築と、Eclipse上でのGLUTプログラム開発環境の構築についてです。
  • Ubuntu 9.04
  • sun-java6-jdk
  • eclipse 3.5
OpenGL(GLUT)のインストール
端末を開き、apt-getコマンドでGLUT関連パッケージをインストールします。
sudo apt-get install freeglut3 freeglut3-dbg freeglut3-dev
あるいは、「システム」→「システム管理」→「Synapticパッケージ・マネージャ」より、
クイック検索に『glut』と入力してパッケージを探す。

GLUTプログラムのコンパイル方法
例えば、program.cをコンパイルする場合は、以下のようにリンカーオプションを付けてをコンパイルする。
gcc -lglut -lGLU -lGL program.c
ひとまず、以下で公開されているサンプルプログラムがコンパイルできることを確認します。

Eclipse環境の準備
jdkをインストールします。
sudo apt-get install sun-java6-jdk
eclipse.org(http://www.eclipse.org/)より、eclipse SDKをダウンロードします。
「Download Eclipse」というリンクより、(私の場合は)『eclipse classic 3.5.0』をダウンロードしました。

(何となく慣例で)/usr/local以下に展開します。
sudo tar xvzf eclipse-SDK-3.5-linux-gtk.tar.gz -C /usr/local/
自分の所有にパーミッションを変更します。※96inuというユーザであったとします。
sudo chown -R 96inu:96inu /usr/local/eclipse
eclipseを起動させます。
/usr/local/eclipse/eclipse
まずやることは、eclipseへのプラグインインストールです。
eclilpseのメニューの「Help」→「Install New Software...」より、
「Programming Languages」の「Eclipse C/C++ Development Tools」をインストールします。
一旦eclipseを閉じます。

日本語化のために、http://mergedoc.sourceforge.jp/より、peiadesの最新版をダウンロードする。
peliadesをeclispeディレクトリに解凍する
unzip pleiades.zip -d /usr/loca/eclipse/
eclipse設定ファイルを開く
gedit /usr/loca/eclipse/eclipse.ini
最後に行を加えて、下記内容を入力し、上書き保存。
-javaagent:/usr/local/eclipse/plugins/jp.sourceforge.mergedoc.pleiades.jar
再びelipseを起動
/usr/local/eclipse/eclipse
EclipseでGLUTプログラミング
新規プロジェクトの作成にて、「C プロジェクト」を選び、「実行可能」→「Hello World ANSI C プロジェクト」を作成する。
自動生成されたソースを編集し、GLUTなプログラムに書き換える。

ビルドを行う前に、プロジェクトのプロパティを開きます。(作成したプロジェクトを右クリックして「プロパティ」をクリック)
「C/C++ビルド」→「設定」を開き、「GCC C Linker」の「ライブラリー」に
glut
GLU
GL
を追加します。
これで、GLUTプログラムのビルド・実行ができます。

以上です。

2009年8月1日土曜日

TOEIC、花火大会、そして酒

TOEICの結果が返ってきた。予想通り微妙な得点であった。

どうも疲れ果てていたようで夕方まで昼寝をしてしまった。

さて今日は近くで花火大会があった。
これは屋外で酒を飲む口実のようなもの。

2009年7月19日日曜日

横浜散歩。あるいは非エンジニアライフ。

今日は横浜を散歩。
気まぐれで横浜美術館に行きたくなったからです。
開国博のスタンプラリーを拾い。特に他に目的もなかったので、それに便乗して回ってみようかと。
みなとみらいから赤レンガ、大さん橋を巡り、山下公園、元町・中華街へ。
中華街で肉まんと紹興酒を買い、なぜか彷徨って横浜スタジアムの前を通り、もう一回赤レンガへ。
どうしてもビールが飲みたかったのだ。

それから帰って飲み直す。

今日は全くエンジニアライフでない一日を過ごしましたとさ。
スタンプ集まったけど、どうしよう。

2009年7月3日金曜日

NW試験学習計画

試験日が10月18日なので、残り17週間。
参考書の分量は、約500ページ+模擬試験。
3週間ぐらいを模擬試験と予備(重点対策)の期間と見積もって、1週間に約36ページ進めれば良いということになる。
ただし、実働2日(土日の休日のみ)だから、1日約13ページ読むということ。

だが、これまでに学習してきた予備知識があるので、負荷率は50%としよう。
すると、1日の負担は7ページ程度と考えることができるだろう。
これなら達成可能だと判断できる。

とまあ、記憶するのが面倒なので書いてみました。そうそう上手く進むわけないのだが。
振り返って見るために残す。