[ home ]

1.TV録画システム ... More Better TV

02/27/05:update
08/16/03:from

mbrTVはLinux上で動作する、シンプルなテレビ録 画システムです。
Linuxをはじめ、xawtv, apache, ffmpegなど既存の優れたフリーソフトを組み合わせて、Webブラウザによるテレビの予約録画を実現しています。

  1. 機能一覧
  2. ダ ウンロード
  3. ス クリーン・ショット
  4. インストールと設定
  5. 使用方法
  6. FAQ
  7. ドラ イバ(for GV-MVP/RX)



機能一覧


できること 必要なもの
1 キーワードで自動録画 mbrTV-3.0以降 new !!
1 ソフトウエア・エンコードまたはハードウエア・エンコードのTVキャプチャボードを使用した予約録画 TVキャプチャボード
2 録画スケジュールの調整
3 複数のユーザーで使用
4 インターネット経由で外出先から操作
5 テレビ番組サイト(テレビ王国、goo テレビ番組など)からのiEPG予約
6 自分の部屋にあるサーバーの録画データをリビングのテレビでみる Link Player, Link Theaterなど
7 同時に4つの番組を録画 GV-MVP/RXまたはCX23416GYC-STVLPが4枚
8 DivXやXviD形式に再エンコード
9 携帯から録画予約や予約取消などの操作


インストールと設定

1.サーバー(TV録画用の PC)の設定

(1-1) Fedora Core (Redhat Linux)
(1-2) Vine Linux
(1-3) webサーバーの公開

2.クライアント(リモート操作用のPC)の設 定



(1-1)RedHat Linux 9 (Fedora Core 1)
  1. 「/etc/sysconfig/i18n」を編集します(文字エンコーディングの変更)。
    LANG="ja_JP.eucJP"
  2. 必要なパッケージをインストールします。便利な"APT" を使います。
  3. # apt-get install httpd php mplayer ffmpeg ruby transcode
    ffmpeg-0.4.8-200.fc1.i386.rpm -- tangosオリジナル new!

  4. テレビを 見れるようにします。

  5. streamer やFFMPEG で録画できるか確認します。

  6. apacheの設定をします。

  7. /etc/httpd/conf/httpd.confファイルを以下のように変更します。

    1) 772行目 apacheが扱う文字コードを指定
    AddDefaultCharset EUC-JP
    2) 335行目 アクセスコントロールを許可(mbrtv-1.2以降)
    AllowOverride Limit AuthConfig

  8. /etc/php.iniを編集して、PHPの設定をします。 (mbrtv-2.1以降)

    1) 110行目
    output_handler = mb_output_handler
    2) 992, 997, 1000, 1004, 1015行目の先頭にある「;」を削除します。
    mbstring.language = Japanese
    ;
    mbstring.internal_encoding = EUC-JP
    ;
    mbstring.http_input = auto
    ;
    mbstring.http_output = SJIS
    ;
    mbstring.detect_order = auto
    3) 1011行目
    mbstring.encoding_translation = On

  9. PAMの設定をします。(デバイスのパーミッション・コントロールを指定)

    /etc/security/console.permsファイルの51行目と66行目を以下のように変更します。
    <console>  0660 <sound>      0660 root.apache
    <console>  0660 <v4l>        0660 root.apache
  10. /etc/passwdを編集して、アパッチにシェルを与えます。
    apache:x:48:48:Apache:/var/www:/bin/bash
  11. ダウンロードしたパッケージをrpmコマンドでインストールします。
  12. # rpm -Uvh mbrtv-1.1-1.i386.rpm
  13. httpdと wizd(mbrtv-1.5以降)を起動します。
    # /sbin/service httpd start
    コンピュータを起動するたびにhttpdも立ち上がるように設定するにはchkconfigコマンドを使います。
    # /sbin/chkconfig httpd on
    # /sbin/chkconfig wizd on # mbrtv-1.5以降
  14. mozillaを起動し、"http://localhost/mbrtv/"にアクセスし、 ユーザー名とパスワードを入力します。

    [ 初期設定 ]
    ユーザー名: superuser
    パスワード: morebettertv

  15. 「メニュー」の中から「設定」を選択してクリックし、設定画面を開きます。

  16. 「チャンネル」を設定します。
    テレビ局の名称を全角で入力し、そのテレビ局のチャンネル番号を半角数字で入力します。
    地域選択の中から都道府県を選択すると、「テレビ王国」に登録さ れている地域毎のテレビ局の一覧が表示されます。

  17. 「録画オプション」を選択します。
    テスト画面では、選んだオプションについて30秒間(又は1分間)づつ録画されるので、それらをチェックし最適な数値を見つけて下さい。また、テストデー タに基づいてエンコードに要する時間が推定されます。( 録画方法は「 mix - JPEG & MPEG-2 」を選択することをおすすめします。)

  18. 入力が終ったら「設定する」ボタンを押します。


(3-1-2) Vine Linux 2.6

  1. 必要なパッケージをインストールします。

    phpやjcode.plなどはvine plusにあるようです。(参考: Vine Plusのパッケージを導入)

    # apt-get install apache php xawtv

    FFMPEGをインストールします。(インストール方法等はシノバーさんのwebページ等を参照して下さ い。)
    # rpm -Uvh ffmpeg-0.4.8-0.1.i386.rpm
    # rpm -Uvh libffmpeg-0.4.8-0.1.i386.rpm
  2. transcodeのrpm パッケージ

  3. テレビを 見られるようにします。

  4. streamer やFFMPEG で録画できるか確認します。

  5. apacheの設定をします。(mbrtv-1.2以降)

    450行目 アクセスコントロールを許可
    AllowOverride Limit AuthConfig
  6. /etc/php.iniを編集して、PHPの設定をします。 (Vine 3.0の場合)

    1) 1017行目の";"を削除し、1018行目の行頭に";"を追加。
    mbstring.http_output = SJIS
    ;mbstring.http_output = EUC-JP

  7. PAMの設定をします。(デバイスのパーミッション・コントロールを指定)

    /etc/security/console.permsファイルの51行目と66行目を以下のように変更します。
    <console>  0660 <sound>      0660 root.apache
    <console>  0660 <v4l>        0660 root.apache
  8. /etc/passwdを編集して、アパッチにシェルを与えます。
    apache:x:48:48:Apache:/var/www:/bin/bash
  9. ダウンロードしたパッケージをリビルドしてからインストールします。
    $ rpm --rebuild mbrtv-1.1-1.src.rpm
    $ cd ~/rpm/RPMS/i386
    # rpm -Uvh mbrtv-1.1-1.i386.rpm

  10. httpdを起動します。
    # /sbin/service httpd start
  11. コンピュータを起動するたびにhttpdも立ち上がるように設定するにはchkconfigコマンドを使い ます。
    # /sbin/chkconfig --level 35 httpd on

  12. mozillaを起動し、"http://localhost/mbrtv/"にアクセスし、 ユーザー名とパスワードを入力します。

    [ 初期設定 ]
    ユーザー名: superuser
    パスワード: morebettertv

  13. 「メニュー」の中から「設定」を選択してクリックし、設定画面を開きます。

  14. 「チャンネル」を設定します。
    テレビ局の名称を全 角で入力し、そのテレビ局のチャンネル番号を半角数字で入力します。
  15. 地域選択の中から都道府県を選択すると、「テレビ王国」に登録さ れている地域毎のテレビ局の一覧が表示されます。

  16. 「録画オプション」を選択します。
    テスト画面では、選んだオプションについて30秒間(又は1分間)づつ録画されるので、それらをチェックし最適な数値を見つけて下さい。また、テストデー タに基づいてエンコードに要する時間が推定されます。( 録画方法は「 mix - JPEG & MPEG-2 」を選択することをおすすめします。)

  17. 入力が終ったら「設定する」ボタンを押します。



(3-1-3) webサーバーの公開 (RedhatLinux9の場合)
録画サーバーへ他のPCからアクセスするにはサーバー側でアク セスを許 可する必要があります。

[ メニュー ] --> [ システム設定 ] --> [ セキュリティレベル ] と進み、

[ セキュリティレベルの設定 ]ウィンドウで「 着信を許可: www(HTTP) 」をチェック



(3-2) クライアントの設定

この設定はLinux上のMozillaからiEPG予約とmplayerの起動をするためのものです。
それ以外の機能はクライアント・パッケージのインストール及び設定をしなくても使うことができます。

  1. 必要なパッケージをインストールします。
    # apt-get install ruby
    # apt-get install mplayer


    「mplayer」について・・・vineにインストールするにはパッケージをリビルドする必要があります。また、予約・設定をするだけであれば特にイン ストールする必要はありません。

    [ 参考 ] お家で使うLinux 「mplayerの導入」

  2. クライアント・パッケージをインストールします。
    # rpm -Uvh mbrtv-client-1.0-1.i386.rpm
  3. セットアップ・スクリプトを実行します。
    $ /usr/local/mbrtv/setup
  4. 「 /etc/mbrtv/mbrtv_client.conf 」をエディターで開き、サーバーのURIをドメイン名、又はIPアドレスで指定します。

    [ 例1 ] サーバー用のPCで直接操作する場合
    $MBRTV_URI = "localhost";
    [ 例2 ] ローカル・ネットワーク上のサーバー(IPアドレスが例えば192.168.1.8)を操作する場合
    $MBRTV_URI = "192.168.1.8";
  5. 「iEPG予約」ができれば完了です。

全角入力 ... 「Shift」+「Space」で日本語入力を開始します。文字を入力した後「Ctrl」+「n」キーで全角に変換します。

IPアドレス ... ブロードバンドルータでは通常自動的にIPアドレスが割り当てられます。そのアドレスは「ifconfig」コマンドで確認することができます。


使用方法

予約をする方法には2種類あります。一つは「テレビ王国」で予約する番組を指定する方法で、もう一つは直接録画日時を指定する方法です。
  1. iEPG予約をする。

    • Mozilla on Linux (mbrtv-clientパッ ケージが必要です。)

      1. テレビ 王国」 にアクセスします。

      2. 番組表の中から予約したい番組を選び、「予約」をクリックします。

      3. 「mbrtv.plで開く」と訊かれるので「ok」をクリックします。

      4. 新たにmozillaが起動して「予 約入力画面」が開かれるので、内容の確認・変更等をして「予約ボタン」を押します。

      5. 予 約登録画面」で内容を確認して「登録ボタン」を押します。

      6. 予約完了メッセージが表示されれば完了です。

    • Win or Mac or Other (IEは×)

      1. テレビ 王国」 にアクセスします。

      2. 番組表の中から予約したい番組を選び、「予約」をクリックします。

      3. 「TVPTI_output.tvpi」ファイルを適当な場所にダウンロードします。

      4. WebブラウザでmbrTVの予約画面を開き、画面下にある「iEPGファイルの指定」欄 にダウン ロードしたiEPGファイル(TVPTI_output.tvpi)をフルパスで指定してから「iEPG転送」ボタンを押します。「参照..」ボタンを 使って指定することもできます。

      5. 内容の確認・変更等をして「予約」ボタンを押します。

      6. 予 約登録画面」で内容を確認して「登録ボタン」を押します。

      7. 予約完了メッセージが表示されれば完了です。

  2. webブラウザで録画日時を指定する。

    1. ブラウザを開き、" http://localhost/mbrtv/ "にアクセスします。

    2. 予 約入力画面」が開かれます。まず、「テレビ局」を選択します。一覧に無い場合は「設定画面」で追加します。

    3. 「日付」を指定します。日付の指定方法は2つあります。

      • 「日付指定」

        録画する日を指定します。

      • 「連続指定」

        録画する期間と曜日を指定します。曜日は複数選択できます。
        期間中は毎週指定した曜日に録画されます。

    4. 「録画開始」を指定します。

    5. 「録画終了」を指定します。録画終了の指定方法は2つあります。

      • 「時間指定」

        録画する時間の長さを指定します。

      • 「時刻指定」

        録画終了時刻を指定します。

    6. 「番組名」を入力します。
      「サブタイトル」、「コメント」については必須ではありませんが、のちのち録画内容がわかるように記入しておくと便利です。

    7. 入力が終ったら「予約ボタン」を押します。

    8. 予 約確認画面」が開かれます。予約内容を確認して「登録ボタン」を押します。

    9. 登録完了メッセージが表示されれば完了です。


FAQ (Frequently Asked Questions)

  1. (Q) 「録画ファイルの保存場所」を変更したら録画できなくなってしまいました。

    (A) 「録画ファイルの保存場所」に指定したディレクトリまたはその上位のディレクトリのパーミッションを確認してください。

    例えば、"/home/user/video"に変更した場合は次のようにパーミッションを変更します。
    # chmod 755 /home
    # chmod 755 /home/kgi
    # chmod 777 /home/kgi/video
  2. (Q)レ アル・マドリードの試合を録画したのですが、ロ ナウドがゴール前で瞬間移動しました! やはりロナウドは超能力者なのでしょうか?

    (A)いいえ。
    "コマ落ち"という現象で、シーンの途中がカットされてしまっています。マシンへの負荷を少くするために、(1)フレーム・サイズを小さくする、(2) MJPEG形式で録画する、等の対策が考えられます。

  3. (Q) 再生中にいつも途中から早送りができなくなります。
    (A) DivXやWMV-7で録画したものは早送り等ができなくなりますが、MPEG-2ではそのようなことは無いようです。

  4. (Q)フィー ゴの華麗なドリブルを堪能したいのですが、変な横スジが現われてとても見づらいです。

    (A)インターレース縞と言われるものです。これを無くすには、例えばxineでは以下のようにします。
    $ xine -D sample.avi

  5. (Q)パソコンの時計がくるっていて指定した時刻通りに録画されません。

    (A)パソコンの時計はよくくるうので、こまめに時刻合わせをする必要があります。

    1. GUIを使った時刻設定(redhat-config-date)

      「日 付と時刻の設定」

    2. CUIで設定(セキュリティ・ポリシーが"中(デフォルト)"や"高"の場合、udp/ntp用の ポート 123を開ける必要があります。)

      • linuxシステムの時刻合わせ
        # /usr/sbin/ntpdate clock.nc.fukuoka-u.ac.jp
      • ハードウエアの時刻合わせ
        # /sbin/hwclock --systohc
  6. (Q)フレームサイズを320x480で録画したビデオを再生すると縦長になってしまいます。

    (A)mjpegではアスペクト比が正しく設定されないことがあるようです。player側でアスペクト比を指定することによって矯正することができま す。
    - xine
    $ xine -r 4:3 sample.mpeg
    また、画面サイズを指定することも出来ます。
    $ xine -G 640x480 sample.mpeg
    - mplayer
    $ mplayer -aspect 4:3 -stereo 1 sample.mpeg 

  7. (Q)録画したファイルをダウンロードするのに時間がかかり過ぎます。

    (A)ダウンロードしながら再生する、ストリーミングという方法があります。ストリーミングならばダウンロードが終わるのを待つ必要もありませんし、ディ スクスペースの節約にもなります。デメリットは、2GB以上のファイルを扱えないことと、MPEG-2以外は早送りや巻戻し再生が出来ないことです。 (mbrtv-1.5以 降では2GB以上のファイルもストリーミング可能)
    $ gmplayer -user superuser -passwd morebettertv \
    > http://192.168.1.8/mbrtv/mpeg/test.avi
  8. (Q) 夜中に録画するとエンコード出来ないファイルができてしまいます。

    (A) Linuxの初期設定では、毎日午前4時にデータベースの更新等システムに大きな負荷がかかる作業をします。この時に録画をしていると録画データの一部が 壊れてしまうようです。
    この対策としては、これらの作業を行う時間を録画する可能性が最も低い時間帯に変更するというのがいいようです。

    /etc/crontabを編集します。下記の例では昼の12時に変更しています。
    02 12 * * * root run-parts /etc/cron.daily
    22 12 * * 0 root run-parts /etc/cron.weekly
    42 12 1 * * root run-parts /etc/cron.monthly

動作確認

Distro mbrTV
Redhat Linux 9 mbrtv-0.1
Vine Linux 2.6 mbrtv-0.6
Fedora Core 1 mbrtv-1.0
Vine Linux 3.0
mbrtv-2.1



13