「VRS」によるテレビ録画予約

「VRS」を利用してテレビ録画予約を行います。
なお、「Apache」の設定「PX-TV402U/JP」によるテレビ録画 は終了しているものとします。

「MPlayer」のインストール

「VRS」の動作に必要なMPlayer(MEncoder)をインストールします。
なお、CentOSには標準では「MPlayer」はないので、こちらを参考にレポジトリにdagを追加し、 インストールします。

[root@CentOS ~]# yum --enablerepo=dag -y install mplayer <= 「chkrootkit」のインストール
「VRS」のインストール

「VRS」のダウンロード

「Subversion」を利用してダウンロードします。

[root@CentOS ~]# svn checkout http://svn.woremacx.com/vrs/trunk/vrs-php5

なお、すでにSVNが動作している場合、以下のようにして取得します。

[root@CentOS ~]# svn update lib/ProgramCache.php lib/AppendIepgReservationContents.php

「VRS」のインストール

[root@CentOS ~]# mv vrs-php5 /var/www/vrs <= ダウンロードしたファイルの移動
[root@CentOS ~]# cp /var/www/vrs/misc/24fps /usr/local/bin/ <= 24fpsをパスの通った位置にコピー
[root@CentOS ~]# cp /var/www/vrs/misc/30fps /usr/local/bin/ <= 30fpsをパスの通った位置にコピー
[root@CentOS ~]# cd /var/www/vrs/
[root@CentOS vrs]# ./configure.sh <= 初期設定用のスクリプトの実行
[root@CentOS vrs]# chown -R apache:apache /var/www/vrs <= オーナ・グループをapacheの実行ユーザに変更
「VRS」の設定

チャンネルの設定

ここでは、千葉県のチャンネルを設定します。

[root@CentOS ~]# vi /var/www/vrs/config-channelmap.php <= 設定ファイルの編集
以下を追加
$CHIBA=array(
                "1" => "NHK総合",
                "3" => "NHK教育",
                "4" => "日本テレビ",
                "5" => "千葉テレビ",
                "6" => "TBSテレビ",
                "8" => "フジテレビ",
                "10" => "テレビ朝日",
                "12" => "テレビ東京"
                );

「VRS」の設定

以下で設定している地域は http://tv.so-net.ne.jp にアクセスして地域を設定すれば
http://tv.so-net.ne.jp/chart/XX.action?head=...
のように表示され、XXの部分が地域の値になる。

[root@CentOS ~]# vi /var/www/vrs/config.php <= 設定ファイルの編集
define( "HOME", "/home" );
↓
define( "HOME", "/var/www/vrs" ); <= ホームディレクトリを指定

define( "PREFID", "26" );
↓
define( "PREFID", "27" ); <= 地域の設定

define( "IEPG_URL_2ND", "http://tv.so-net.ne.jp/chart/" . PREFID_2ND . ".action\?span=24\&head=" );
↓
//define( "IEPG_URL_2ND", "http://tv.so-net.ne.jp/chart/" . PREFID_2ND . ".action\?span=24\&head=" );
 <= コメントアウト(2ページ目を利用しない場合)

define( "IEPG_URL_3RD", "http://tv.so-net.ne.jp/chart/" . PREFID_3RD . ".action\?span=24\&head=" );
↓
//define( "IEPG_URL_3RD", "http://tv.so-net.ne.jp/chart/" . PREFID_3RD . ".action\?span=24\&head=" );
 <= コメントアウト(3ページ目を利用しない場合)

$CHANNEL_TABLE = $KYOTO;
↓
$CHANNEL_TABLE = $CHIBA; <= チャンネルの設定

「ivtv」関連の処理をコメントアウトし、「GoRecordMod」を利用するように変更します。

[root@CentOS ~]# vi /var/www/vrs/do-record.sh <= 設定ファイルの編集
if [ $DEVICE == "/dev/video0" ] ; then # キャプチャカード0の場合の録画コマンド
↓
//if [ $DEVICE == "/dev/video0" ] ; then # キャプチャカード0の場合の録画コマンド <= コメントアウト

        ivtv関連の処理をコメントアウト
        TUNED=`HOME=/opt/httpd/htdocs/vrs  /usr/local/bin/ivtv-tune -c $CHANNEL -t "japan-bcast" -d $DEVICE`
        FREQ=`echo $TUNED | sed -e 's/^.*:[^0-9]*\([0-9]*\)\.\([0-9]*\) MHz.*/\1\2/'`
        echo "FREQ    : $FREQ"
        /usr/local/bin/v4l2-ctl -c video_bitrate=$[ 1000 * $BITRATE ],video_peak_bitrate=10000000
        ↓
//        TUNED=`HOME=/opt/httpd/htdocs/vrs  /usr/local/bin/ivtv-tune -c $CHANNEL -t "japan-bcast" -d $DEVICE`
//        FREQ=`echo $TUNED | sed -e 's/^.*:[^0-9]*\([0-9]*\)\.\([0-9]*\) MHz.*/\1\2/'`
//        echo "FREQ    : $FREQ"
//        /usr/local/bin/v4l2-ctl -c video_bitrate=$[ 1000 * $BITRATE ],video_peak_bitrate=10000000
        ここまで

    録画処理を「record-v4l2.pl」コマンドから「gorecordmod」コマンドへ変更
    HOME=$HOMEDIR \
    /usr/local/bin/record-v4l2.pl \
        --duration $DURATION \
        --input $DEVICE \
        --frequency $FREQ \
        --directory-format . \
        --bitrate $[ 1000 * $BITRATE ] \
        --peakbitrate 10000000 \
        --width $WIDTH \
        --height $HEIGHT \
        --output-settings 0 \
        --output $OUTPUT.mpg
    ↓
    /usr/local/bin/gorecordmod \
        -vdevice $DEVICE \
        -adevice /dev/dsp2 \ <= オーディオデバイスを指定
        -duration $DURATION \
        -mode ntsc-j \
        -input 2 \
        -tvchan ntsc-bcast-jp:$CHANNEL \
        -width $WIDTH \
        -bitrate $BITRATE \
        $OUTPUT.avi > /dev/null 2>&1
    ここまで

else # キャプチャカード1の場合の録画コマンド
    mencoder # TBD mencoder
fi
↓
//else # キャプチャカード1の場合の録画コマンド <= コメントアウト
//    mencoder # TBD mencoder <= コメントアウト
//fi <= コメントアウト

デバイスの所有グループの変更

ビデオデバイスを「Apache」の実行グループでアクセス出来るようにします。

[root@CentOS ~]# vi /etc/security/console.perms.d/51-default.perms <= 設定ファイルの作成
以下の内容を記述
<console>  0600 <sound>      0660 root.apache
<console>  0600 <v4l>        0660 root.apache


[root@CentOS ~]# pam_console_apply -r <= 設定内容の反映

atコマンドの許可

apacheユーザのログインシェルが/sbin/nologinになっている為にatコマンドが利用出来ないので、ログインシェルを変更します。

[root@CentOS ~]# vi /etc/passwd <= /etc/passwdファイルの編集
以下の内容を記述
apache:x:48:48:Apache:/var/www:/sbin/nologin
↓
apache:x:48:48:Apache:/var/www:/bin/sh <= 変更
「Apache」の設定

「VRS」インストールディレクトリに「Apache」からアクセス出来るようにします。

[root@CentOS ~]# vi /etc/httpd/conf/httpd.conf <= 設定ファイルの編集
以下を追加
Alias /vrs /var/www/vrs
<Directory /var/www/vrs>
    DirectoryIndex  record.php
    AllowOverride All
    Options Includes ExecCGI FollowSymLinks
    AddHandler php5-script .php
    AddHandler image/gif .gif
    AddHandler image/jpeg .jpeg .jpg
    AddHandler image/png .png
    AddHandler text/css .css
    AddHandler text/html .html .htm
</Directory>

「Apache」を再起動して設定を反映させます。

[root@CentOS ~]# /etc/rc.d/init.d/httpd restart <= 「Apache」の再起動

http://サーバのIPアドレス/vrs/ でアクセス出来れば問題ありません。

▲ページのトップへ