| トップ | Solaris | FreeBSD | Gentoo | CentOS | Fedora | Windows | Tips | 自宅サーバの動作確認 | サイト内検索(Namazu) | サイト内検索(HE) |
「VRS」を利用してテレビ録画予約を行う。
ただし、「VRS」はrecord-v4l2.plコマンドを使用するが、自分の環境では
Error: getFrequency() failed! |
というエラーメッセージが出力され、正常に動作しなかったので、代わりのスクリプトを作成し、対処した。
スクリプトはこちらの「CS ivtvrec」になるので、
当ページの方法で使用する場合、ダウンロードして下さい。
「CS ivtvrec」はcatコマンドで録画する為のスクリプトです。
なお、このスクリプトは単純にcatコマンドで録画しているので、画質や画面のサイズを指定しても無視されるので注意。
また、基本的な「Apache」の設定は終了しており、
「GV-MVP/RX」によるテレビ録画も終了しているものとする。
「VRS」のダウンロード
「Subversion」を利用してダウンロードする。
[kaz@Ubuntu ~]$ svn checkout http://svn.woremacx.com/vrs/trunk/vrs-php5 |
「VRS」のインストール
[kaz@Ubuntu ~]$ sudo mv vrs-php5 /var/www/vrs <= ダウンロードしたファイルの移動 [kaz@Ubuntu ~]$ sudo cp /var/www/vrs/misc/24fps /usr/local/bin/ <= 24fpsをパスの通った位置にコピー [kaz@Ubuntu ~]$ sudo cp /var/www/vrs/misc/30fps /usr/local/bin/ <= 30fpsをパスの通った位置にコピー [kaz@Ubuntu ~]$ cd /var/www/vrs/ [kaz@Ubuntu vrs]$ sudo ./configure.sh <= 初期設定用のスクリプトの実行 [kaz@Ubuntu vrs]$ sudo chown -R www-data:www-data /var/www/vrs <= オーナ・グループをapacheの実行ユーザに変更 |
「CS ivtvrec」のダウンロード
[kaz@Ubuntu ~]$ wget http://www.crimson-snow.net/tools/cs_ivtvrec/cs_ivtvrec.zip <= 「CS ivtvrec」のダウンロード |
「CS ivtvrec」のインストール
[kaz@Ubuntu ~]$ unzip cs_ivtvrec.zip <= ダウンロードしたファイルの展開 [kaz@Ubuntu ~]$ sudo mv cs_ivtvrec/video_record.sh /var/www/vrs/ <= ダウンロードしたファイルの移動 [kaz@Ubuntu ~]$ sudo mv cs_ivtvrec/cs_ivtvrec.conf /var/www/vrs/ <= ダウンロードしたファイルの移動 [kaz@Ubuntu ~]$ sudo chown www-data:www-data /var/www/vrs/video_record.sh <= オーナ・グループをapacheの実行ユーザに変更 [kaz@Ubuntu ~]$ sudo chown www-data:www-data /var/www/vrs/cs_ivtvrec.conf <= オーナ・グループをapacheの実行ユーザに変更 |
チャンネルの設定
ここでは、千葉県のチャンネルを設定します。
[kaz@Ubuntu ~]$ sudo 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の部分が地域の値になる。
[kaz@Ubuntu ~]$ sudo 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; <= チャンネルの設定 |
do-record.shの設定
環境にあわせて、パスを変更する。
また、record-v4l2.plコマンドではなく、当サイトでのスクリプトのvideo_record.shを使用する。
[kaz@Ubuntu ~]$ sudo vi /var/www/vrs/do-record.sh
#!/bin/sh
↓
#!/bin/bash <= 変更
if [ $DEVICE == "/dev/video0" ] ; then # キャプチャカード0の場合の録画コマンド
↓
#if [ $DEVICE == "/dev/video0" ] ; then # キャプチャカード0の場合の録画コマンド <= コメントアウト
TUNED=`HOME=/opt/httpd/htdocs/vrs /usr/local/bin/ivtv-tune -c $CHANNEL -t "japan-bcast" -d $DEVICE`
↓
TUNED=`HOME=/var/www/vrs /usr/bin/ivtv-tune -c $CHANNEL -t "japan-bcast" -d $DEVICE` <= 変更
/usr/local/bin/v4l2-ctl -c video_bitrate=$[ 1000 * $BITRATE ],video_peak_bitrate=10000000
↓
/usr/bin/v4l2-ctl -c video_bitrate=$[ 1000 * $BITRATE ],video_peak_bitrate=10000000 <= 変更
record-v4l2.plコマンドからvideo_record.shコマンドへ変更
/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
↓
/var/www/vrs/video_record.sh \
-c $CHANNEL \
-D $DEVICE \
-t japan-bcast \
-d /var/www/vrs \
-s $DURATION \
-o $OUTPUT.mpg
ここまで
else # キャプチャカード1の場合の録画コマンド
mencoder # TBD mencoder
fi
↓
#else # キャプチャカード1の場合の録画コマンド <= コメントアウト
# mencoder # TBD mencoder <= コメントアウト
#fi <= コメントアウト
|
「CS ivtvrec」の設定
設定ファイルの場所を指定する。
[kaz@Ubuntu ~]$ sudo vi /var/www/vrs/video_record.sh <= ファイルの編集
CONFIG_FILE=${HOME}/etc/cs_ivtvrec.conf
↓
CONFIG_FILE=${HOME}/vrs/cs_ivtvrec.conf <= 変更
|
「Apache」実行ユーザのグループの変更
ivtv-tuneコマンドを「Apache」の実行ユーザで実行できるようにし、ビデオデバイスに「Apache」の実行ユーザでアクセス出来るようにする。
[kaz@Ubuntu ~]$ sudo chmod 4755 /usr/bin/ivtv-tune <= ivtv-tuneコマンドの実行権限を変更 [kaz@Ubuntu ~]$ sudo usermod -G www-data,video www-data <= 「Apache」の実行ユーザをvideoグループに追加する |
atコマンドの許可
「Apache」の実行ユーザにatコマンドの実行許可を与える。
[kaz@Ubuntu ~]$ sudo vi /etc/at.deny <= 設定ファイルの編集 以下の「Apache」実行ユーザの行を削除する www-data |
「VRS」インストールディレクトリに「Apache」からアクセス出来るようにする。
[kaz@Ubuntu ~]$ sudo vi /etc/apache2/conf.d/vrs.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」を再起動して設定を反映させる。
[kaz@Ubuntu ~]$ sudo /etc/init.d/apache2 restart <= 「Apache」の再起動 |
http://サーバのIPアドレス/vrs/ でアクセス出来れば問題ない。