CentOS」タグアーカイブ

AirVideo Server for Linuxを試してみる

AirVideoって便利ですよね、パソコンにある動画データをiPhone、iPadで再生できる便利アプリです。サーバアプリはWindowsとMacOS Xしか出ていないのですが、Linux版もAlpha Versionとして公開されていたので、試してみました。

Linux版のAirVideo Serverに必要なのは以下のソフト(dagのリポジトリは追加しておく)

  • ffmpeg(AirVideo用Patchが適用されたバージョンが必要)
  • x264(yumで降ってくるのは古いので、最新にしておきたい。)
  • mpeg4ip-server(こいつが結構メンドいアプリ)

では、ひとつひとつ順に入れて生きたいと思います。

1.事前準備

foltiaなんかを使っている人は、yumで振ってくるffmpeg使ってると思うのでいったんアンインストール。

# yum remove ffmpeg x264

あと必要そうなパッケージを入れておきます。

# yum install yasm lame-devel faad2-devel SDL-devel java-1.6.0-openjdk git

2.x264のインストール

# git clone git://git.videolan.org/x264.git
# cd x264
# ./configure
# make
# make install

3.mpeg4ip-serverのインストール

ここからダウンロードして、指定の場所に置きます。

# tar zxvf mpeg4ip-1.5.0.1.tar.gz
# cd mpeg4ip-1.5.0.1
# ./bootstrap
# ./configure
# make
# make install

たぶん、makeに失敗すると思いますので、そのときは以下のファイルを修正しましょう。

=>undefined reference to `XMoveWindow’ とかでこける場合

player/src/Makefile (208行目)

CXXFLAGS = -g -o2 …-D_REENTRANT
から
CXXFLAGS = -g -o2 …-D_REENTRANT -L/usr/lib/X11 -lX11

で、再度Make

4.ffmpegのインストール

ここから
「FFmpeg source code used in Air Video Server 2.2.5 and newer can be downloaded」
をダウンロードして、任意の場所に置きます。

# tar jxvf ffmpeg-for-2.2.5.tar.bz2
# cd ffmpeg
# PKG_CONFIG_PATH=/usr/local/lib/pkgconfig;export $PKG_CONFIG_PATH
# ./configure –enable-pthreads –disable-shared –enable-static –enable-gpl –enable-libx264 –enable-libmp3lame –enable-libfaad –disable-decoder=aac
# make
# make install

5.AirVideo Serverのインストール

# mkdir AirVideo
# cd AirVideo
# wget http://inmethod.com/air-video/download/linux/alpha4/AirVideoServerLinux.jar
# wget http://inmethod.com/air-video/download/linux/alpha1/test.properties

# more test.properties
path.ffmpeg = /usr/local/bin/ffmpeg
path.mp4creator = /usr/local/bin/mp4creator
path.faac = /usr/local/bin/faac
password = abc <=AirVideoのログインパスワード
subtitles.encoding = windows-1250
subtitles.font = Verdana
folders = share:/mnt/share <= 共有名:共有パス 共有名とディレクトリが同じ名前じゃないとダメかも?

これでインストール完了です、サーバの起動はAirVideo Serverのあるカレントディレクトリで

# java -jar AirVideoServerLinux.jar test.properties &

です。お好みでchkconfigに登録すればなおよろしいかと。実際使ってみた感想は3Gではちょっと大変だけどWiFiでアクセスするときは外出先からでも十分使えそうですね。出張時はすごく重宝しそうです。

参考サイト

Air Video Server on CentOS 5.5CommentsAdd Star

[foltia]フォルティアインストール手順(2)

この記事は作成ちゅうです。

さて、PT2が動作するようになりましたので、次はフォルティア本体のインストールに入ります。

1.foltiaユーザの設定

フォルティアのデフォルト文字コードはeucなので、foltiaユーザにスイッチしたときはeucで動作するように設定する。
# su – foltia
$ LANG=ja_JP.EUC-JP;export LANG
$ echo “LANG=ja_JP.EUC-JP;export LANG” >> .bash_profile
$ date
2009年 12月 29日 火曜日 15:17:52 JST
日本語が文字化けしなければOKです。
※TeraTERM(Win)やターミナル(Mac)からのリモートアクセスの場合、各自ターミナル側の文字コードも変更する必要があります。

ターミナルの変更箇所

ターミナル==>環境設定==>詳細タブの言語環境

TeraTERMの変更箇所

設定==>端末==>漢字-受信/漢字-送信

2.Web周辺のパッケージをインストール

フォルティアのGUI環境として、Webブラウザでの操作に必要なパッケージを入れます

# yum -y install httpd postgresql postgresql-server postgresql-devel php php-pgsq ImageMagick

httpdの設定を変更します。

# vi /etc/httpd/conf/httpd.conf

User apache

AddDefaultCharset UTF-8

User foltia

AddDefaultCharset off

次に、フォルティアのphpの保管場所を指定し、エイリアスを作成します。この内容はhttpd.confの中に直接記述してもかまいませんが、分けておく方が管理が楽みたいなので、別ファイルで記載しておきます。

# vi /etc/httpd/conf.d/foltia.conf

Alias /foltia/ “/home/foltia/php/”

<Directory “/home/foltia/php/”>

</Directory>

httpdサービスを開始します

# /etc/rc.d/init.d/httpd start

# chkconfig httpd on

CPANでインストールできたので以下のcpan2rpmの項目は無視してください。
perlモジュールのインストールに必要なcpan2rpmをインストールします
# yum -y install rpm-build /**rpm-buildのインストール
# mkdir /tmp/install
# cd /tmp/install
# wget http://nchc.dl.sourceforge.net/sourceforge/cpan2rpm/cpan2rpm-2.027-1.noarch.rpm
# rpm -Uvh cpan2rpm-2.027-1.noarch.rpm
# rm -f cpan2rpm-2.027-1.noarch.rpm

3.ffmpeg/mplayerのインストール

作成中

4.cpanでperlパッケージを追加する

perlに必要なモジュールをインストールします

# echo “/usr/local/pgsql/lib” > /etc/ld.so.conf.d/pgsql.conf
# ldconfig
# perl -MCPAN -e ‘install LWP::Simple’
# perl -MCPAN -e ‘install Jcode’
# perl -MCPAN -e ‘install DBI’
# perl -MCPAN -e ‘install DBD::Pg’
# perl -MCPAN -e ‘install Schedule::At’

5.folatiaをインストール

フォルティアはsubversionに対応しているので、まずはsubversionをインストールします。

# yum -y install subversion automake gcc gcc-c++ libtool
# su – foltia
$ cd /home/foltia
$ svn co http://svn.dcc-jpl.com/foltia/trunk foltia
$ mv foltia/install/* /home/foltia/

インストールしたフォルティアの設定を行います。

$ cp /home/foltia/perl/foltia_conf1.pl.template /home/foltia/perl/foltia_conf1.pl
$ cp /home/foltia/php/foltia_config2.php.template /home/foltia/php/foltia_config2.php
/**php/perlディレクトリに設定ファイルのテンプレートが入っているので、それをコピーして編集します。

$ vi /home/foltia/perl/foltia_conf1.pl
$ vi /home/foltia/php/foltia_config2.php

上記の設定ファイルの変更はマニュアルの項を参照してください。実際に変更する場所は、録画したファイルの保存場所ぐらいでしょうか。

チャンネルを設定します。チャンネル設定は/home/foltia/mktable.txtの中にはいっています。

$ vi /home/foltia/mktable.txt

マニュアルのチャンネル設定の項目を参照して自分の地域の放送局を設定します。マニュアルには、

設定3:foltia_stationテーブル

録画の重要な設定となる項目です。インストールが無事に終了してれば首都圏の放送局設定サンプルが入っていますのでそれを参考に設定して下さい。
foltia_stationテーブルのそれぞれの項目について説明します。しょぼいカレンダーの情報によって放送局は自動的に追加されていきます。

stationid:ユニークなID値です。
stationname:しょぼいカレンダーと共通の放送局名です。
stationrecch:周波数チャンネルです。外部入力の場合はS映像入力の場合に0、コンポジット入力の場合に-1を指定します。受信出来ない局には-10を指定します。新規に自動追加されると-10になります。
stationcallsignue:放送局略称を記入します。空白でも構いません。
stationuri:放送局公式URIを記入します。空白でも構いません。
tunertype:外部チューナコントロールコマンドを書き入れます。「Tira2準備」の項で詳しく述べます。空白でも構いません。
tunerch:外部チューナコントロールコマンドを書き入れます。「Tira2準備」の項で詳しく述べます。空白でも構いません。
device:放送局によって録画デバイスを固定するときに用います。たとえば、BS-2専用チューナを常に/dev/video2につないでいるような場合「/dev/video2」と指定します。通常は空白です。
ontvcode:XMLTVで用いる放送局識別コードを記入します。EPG番組表に表示される局は
1. XMLTV初期設定で情報を取得していて
2. foltia_epgにデータがインポートされていて
3.foltia_stationテーブルのontvcodeフィールドにfoltia_epgテーブルのontvchannelフィールドと同じ放送局識別名が記入されている
局になります。デフォルトで関東キー局とBS、BSデジタル局、CS局が設定されています。
digitalch:地デジの物理チャンネルを入れます。BSデジタルは日本全国共通なので変更の必要はありません。
digitalstationband:地デジなら0、BSデジタルなら1、CSデジタルなら2を入れます。(現在未使用)

とありますが、よく分からないので実際に設定ファイルを見てみます。そうすると、途中から全国の放送局のデータがずらずらと並んでいると思います。

INSERT INTO foltia_station VALUES (462, ‘瀬戸内海放送’, 462, ”, ”, ”, ”, ”, ”,NULL,NULL);

これと、マニュアルの項目をみていくと、

INSERT INTO foltia_station VALUES (stationid, ‘stationname‘, stationrecch, ”, ”, ”, ”, ”, ”,digitalch,digitalstationband);

対応していますので、自分の地域で映るチャンネルに設定を入れていけばOKです。ちなみに、デフォルトでは東京地区の設定になっているそうです。

6.データベースを設定する

yumでpostgresをインストールした時点で、postgresというユーザが作成されます。そのユーザを使ってデータベースを設定します。

# su – postgres
$ initdb –encoding=EUC_JP
$ exit

# /etc/init.d/postgresql start
# chkconfig postgresql on
# su – postgres
$ createuser –no-adduser –no-createdb –password foltia
Shall the new role be allowed to create more new roles? (y/n) “Enter”
Password:”パスワードを入力する”

$ createdb –owner foltia foltia
$ exit

# vi /var/lib/pgsql/data/postgresql.conf

#listen_addresses = ‘localhost’

listen_addresses = ‘localhost’

# /etc/init.d/postgresql restart
# su – foltia
# cd /home/foltia
# psql -f mktable.txt foltia

7.テスト

[foltia]フォルティアインストール手順(1)

アニメを超楽チンに録画できて、その上EPGで普通に予約録画もできる素晴らしいソフト「フォルティア」ですが、OSがLinuxな上にフォルティア自体がPerlとPHPの集合体で開発者や鯖管の知識が必要になってくるのでかなり敷居が高い気がします。

そこでフォルティアのインストール手順をまとめてみたいと思います。まずは、フォルティアで使用するキャプチャボード、ICカードリーだのセットアップ編です。

1.使用環境

  • NEC Express5800 S70(タイプFL)
    • CPU:Pentium Dual Core e5200
    • Memory:4GB
  • ICカードリーダ:SCR3310-NTTCOM
  • キャプチャー:アースソフト PT2
  • CentOS 5.4(参考サイト参照)

2.ICカードリーダセットアップ

必要なもの

  • CCID(Chip/Smart Card Interface Devices)ドライバ
  • pcsc-tools/pcsc-perlパッケージ(リポジトリにないのでrpmパッケージ)
  • ICカードリーダーをUSBポートに接続し、B-CASカードのICチップを上側にして挿入する。

# yum -y install ccid
/**ICカードリーダードライバインストール

# yum -y install perl-Gtk2
/**perl-Gtk2パッケージの追加

# wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/i386/os/Packages/pcsc-perl-1.4.6-2.fc8.i386.rpm
# wget ftp://ftp.kddlabs.co.jp/033/Linux/packages/fedora.archive/releases/8/Everything/i386/os/Packages/pcsc-tools-1.4.10-1.fc8.i386.rpm
# rpm -ivh pcsc-perl-1.4.6-2.fc8.i386.rpm
# rpm -ivh pcsc-tools-1.4.10-1.fc8.i386.rpm
/**ICカードリーダーツールインストール

# service pcscd start
/**ICカードリーダー管理デーモン起動

# chkconfig pcscd on
/**次回起動時にpcscdが自動起動するように設定

これで、ICカードリーダーが使用できるようになっているはずです。次のコマンドで、B-CASカードが認識しているかチェックします。

# pcsc_scan

PC/SC device scanner
V 1.4.10 (c) 2001-2007, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.3.3
Scanning present readers
0: SCM SCR 3310 NTTCom 00 00
Mon Dec 28 01:19:34 2009
Reader 0: SCM SCR 3310 NTTCom 00 00 <== 型式が出ていればOKです。
Card state: Card inserted, <== カードも認識しています。
認識に失敗していれば、Not Foundみたいな文章がでてきます。

3.PT2録画ツール(recpt1)インストール

recpt1は、フォルティアで操作しますので、フォルティアで使用するユーザでコンパイします

必要なもの

  • PT2をPCIバスに接続する
  • B-CASカードが認識している状態にする。認識していないとarib25のmakeに失敗します

# useradd foltia /**foltiaユーザ追加
# passwd foltia /**foltiaユーザのパスワード設定
コンパイルに必要な開発ツールをインストールします
# yum -y install kernel-devel kernel-headers gcc
/**PAEを使っている場合は下記のパッケージもインストール

# yum install kernel-PAE kernel-PAE-devel
/**PAE用kernel-devel。これがないとmakeに失敗する。

ここから、PT2のドライバとパッケージのインストールです

# su – foltia /**foltiaユーザに切り替える

$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.tar.bz2
/**このバージョンじゃないといけないらしいです

$ tar xvjf c44e16dbb0e2.tar.bz2
/**ダウンロードしたファイルを解凍します

$ cd pt1-c44e16dbb0e2/driver
/**解凍したドライバのソースファイルがある場所に移動する

$ make -C /usr/src/kernels/(uname -rで表示される値を記入) M=`pwd` V=1
/**当環境では、$ uname -rの値は「2.6.18-164.6.1.el5-i686」だったので
/**$ make -C /usr/src/kernels/2.6.18-164.6.1.el5-i686 M=`pwd` V=1
/**と入力しました

$ exit /**rootユーザに戻る

# cp /home/foltia/pt1-c44e16dbb0e2/driver/pt1_drv.ko /lib/modules/`uname -r`/kernel/drivers/video/pt1_drv.ko
/**makeで作成したドライバファイルをコピーする

# depmod -a /**このコマンドでPT2を認識させる

# modprobe pt1_drv /**このコマンドでPT2を認識させる

# cp /home/foltia/pt1-c44e16dbb0e2/driver/etc/99-pt1.rules /etc/udev/rules.d/
/**このファイルもコピーしておく

これで、ドライバは終了です。次からはツールのインストールです。

# su – foltia /**foltiaユーザに切り替える

$ cd /home/foltia/pt1-c44e16dbb0e2/arib25/src
/**ソースファイルのある場所に移動

$ make /**makeする

$ exit /**rootユーザに戻る

# cd /home/foltia/pt1-c44e16dbb0e2/arib25/src
/**makeした場所に移動

# make install /**makeしたファイルをインストールする

# su – foltia /**foltiaユーザに切り替える

$ cd /home/foltia/pt1-c44e16dbb0e2/recpt1/
/**ソールファイルのある場所に移動

$ make /**makeする

$ exit /**rootユーザに戻る

# cd /home/foltia/pt1-c44e16dbb0e2/recpt1/
/**makeした場所に移動

# echo “/usr/local/lib” > /etc/ld.so.conf.d/recpt1.conf
/**ライブラリ検索パスを追加する

# ldconfig /**ライブラリ依存関係再設定

# ls -la /dev | grep pt1video
/**/dev配下に「pt1video[0-3]」があれば使用可能です

以上で、PT2の認識と録画ツールのインストールが完了です。インストールしたrecpt1コマンドを使って録画テストを行います。

録画テストの前に、アンテナ線の接続が間違えていないか確認しましょう。PT2のチューナの配列はアースソフトのマニュアルに載っています。

また、マンションなどの集合アンテナの場合、分波器・分配器などの設備が必要です。よくわからない人はこのサイトが分かりやすいと思います。

# su – foltia /**foltiaユーザに切り替える

$ cd /home/foltia/pt1-c44e16dbb0e2/recpt1/
/**recpt1のある場所に移動

$ ./recpt1 –b25 –strip –device /dev/pt1video0 1 20 ./1-1.ts

正常に動作していれば、1-1.tsファイルが作成されている。1-1.tsファイルはMacOS上にてVLCで視聴確認を行いました。

設定オプションは、

b25:B-CAS

strip:未確認

device:PT1のチューナーを指定

1:チャンネル

20:録画時間(秒数)

./1-1.ts:保存ファイル名

上記のテストで、libarib25.so.0が見つからないよ!と言われた場合、下記の設定を加えます。

# recpt1 –b25 –strip –device /dev/pt1video0 1 20 ./1-1.ts
recpt1 –b25 –strip –device /dev/pt1video0 1 20 ./1-1.tsrecpt1: error while loading shared libraries: libarib25.so.0: cannot open shared object file: No such file or directory
/**libarib25.so.0がないよ!とか言われたら。

# ldd /usr/local/bin/recpt1
libarib25.so.0 => not found

# echo “/usr/local/lib” >> /etc/ld.so.conf
# ldconfig
/**libarib25.so.0の在処を教えてあげましょう

# ldd /usr/local/bin/recpt1
libarib25.so.0 => /usr/local/lib/libarib25.so.0 (0x00ad5000)
/**これで使えるはず!

これで、foltiaをインストールする下準備が整いました。recpt1コマンドがあれば、基本的に録画はできます。cronで予約録画とかもできますが、やっぱり楽なほうがいいですよね!ということで、次回からはfoltiaのインストールに入っていきます。

[Server]HDDがぶっ飛んだ!

サーバからカコンカコン音がすると思ったら起動しなくなった!CenTOSのDVDからrescueモードで起動してみる。ぎゃーす、システムディスクがかなり残念なことに。

バックアップを年末にしようと思っていたのに、間に合いませんでした。とりあえず、CentOSのrescueモードはLVM対応なので、そのままデータは救出できそうです。

SolarisでもLiveCDから立ち上げて、zpool importで同じことができたはずですが、Express5800ではうまく動作しなかったので、ちょっと不安です。

とりあえずtarで固めてMacに避難。うー、ギガのネットワークでもこれはかなり時間がかかりそうです。まあ、バックアップにもなるので、二度手間ということにはなりませんが。

Linuxはさっぱり分からないので調べながらやらないといけないので面倒ですが、いいシステムだなー。

安いサーバにデフォルトで搭載されていたディスクなので微妙だったので、ちょっといいやつを買ってこようと思います。

[foltia]とりあえず録画までこぎつけた

とりあえずこの辺りを見ながらフォルティアをセットアップしてました。これ、手順見ながらでも難しいですね! 手動録画をためしてみたら、エラーログを吐いてストップ。

digitaltvrecording :ERROR :recpt1  not found. You must install /home/foltia/b25 and /home/foltia/recpt1

ということで、/home/foltia配下にrecpt1を置いてみたけど、同じ結果に。 仕方がないので、ソースをのぞいてみることに。

if  (-e “$toolpath/perl/tool/recpt1”)

あら、/home/foltia/per/tool配下か(^^; ということで解決。これは便利だ!

[PT2]快適!地デジ生活へ突入!

地デジ生活と言っても、普通にテレビが地デジになったわけではありません。
テレビは相変わらずアナログにしか対応していませんが、テレビで視聴することがもう無いに等しいので、思い切ってキャプチャーしてパソコンで見ることにしました。

家のサーバはSolarisと相性が悪かったのですが、皮肉にもLinuxのほうが様々な可能性が広がったので、先日購入したPT2を挿して録画サーバにもしちゃいました。

いろいろ調べていたら、「フォルティア」というソフトが大変素晴らしいみたいなので、これを入れたいと思います。(参考リンク

20091222foltia01

NECのExpress5800の一番やっすいやつですが、HDDは4+1発(5inchベイ)収まっています。CPUはなんだっけか、PentiumDualCoreの何かです。

インストール中にハマってしまったのは、ICカードリーダがさっぱりカードを読み込まなくてずっと悩んでました。あーでもないこーでもないとパッケージのバージョンをあげてみたりいろいろしてたのですが、最終的にはこんな方法で解決できました。

ああ、裏にして挿入するのか(泣

20091222foltia02