MythTVで録画したファイルをネットワークメディアプレイヤーやWindowsクライアントから再生する方法を紹介する。

MythTVのUPnPサーバーを有効にする

MythTVにはUPnP(DLNA)サーバー機能が備わっているというが、検出されないし、その設定項目もなかった。適切に設定されてない場所を修正するとあっさり有効になった。標準機能を使うのでwizdやmediatombと組み合わせるよりも手軽。

まず、mythtv-setupを起動する。

$ mythtv-setup

"1.一般"を選び、"ホストアドレスバックエンドの設定"で"Local Backend"と"Master Backend"の"IP Address"にマシンに振られているIPアドレスを指定する。両方に同じ物を指定しないと2つが別のマシンと認識してしまうので注意が必要。次に"UPnP Server Settings"の"UPnP Media Update Time"が0になっていないことを確認する。何も設定しなくてもデフォルトは30になっている。

設定を行ったら反映させる。一般ユーザーで設定しているのでバックエンドを再起動する。

$ sudo /etc/init.d/mythbackend restart

これでDLNAクライアントなどからMythTVが検出されるようになる。

タイトル、ジャンル、日付、チャンネル、グループのいずれかで分けて表示することもできる。サーバー側で並び順が変えられないのが惜しい所。下の画像はRDLNAを使った例。

image

(さらに…)

1月 20th, 2012

Posted In: ソフトウェア

タグ: , , , , , , , , ,

Leave a Comment

家ではテレビにデジタルチューナーを導入しないと決まっていたので、PCで一応見れるようにとリモートでのリアルタイム視聴を視野に入れていた。http版recpt1を候補にしたが、MythTVでもfuse_b25で対応でき、MythTV Playerでリアルタイム視聴できるとわかったので、元々使っていたMythTVを引き続き使うことにした。視聴と予約録画が同じシステムにあるので、MythTVにはチューナーを効率的に活用できる利点がある。

MythTV+FUSE_b25とepgfillでパッチを当てずに常用できるが、BSが見られないなど色々と不具合があるのでパッチ当てたものを使う。ただし、依存関係やらが面倒なのでMythTVはDeb-Multimediaのものをベースにする。セットアップはPT1/PT2のDVBとMythTV @Wikiを参考にして行った。

パッチの準備

MythTVを修正するためのパッチを用意する。

2011.9.29 追記
ISDB対応パッチとカテゴリ日本語化パッチを分離。パッチの形式を変更して再作成。
2011.9.30 追記
サブタイトルの切り直しパッチを更新。("最終回"や"<新>"などの文字列に対応)
2011.11.17
サブタイトルの切り直しパッチを更新
2011.12.11
サブタイトルの切り直しパッチを更新
2011.4.21
サブタイトルの切り直しパッチを更新
2012.5.19
0.25が最新版になったことの対策と自動アップデート防止を追記

ISDB対応パッチ

番組表取得や全チャンネルのフルスキャンに対応したMythTVのISDB対応版がある。Debian-Multimediaのパッケージをベースにするため、これをそのまま使わずパッチとして利用する。

本家のソースとISDB版のソースを持ってきてパッチを作る。

$ sudo aptitude install git #gitが入っていない場合
$ w3m http://www.mythtv.org/download/mythtv/0.24.1 #本家
$ tar xjf mythtv-0.24.1.tar.bz2
$ git clone git://github.com/fukumen/mythtv.git mythtv #ISDB版
$ mv mythtv/mythtv/ isdb-mythtv
$ diff -urN mythtv-0.24.1 isdb-mythtv > mythtv-isdb.patch

ISDB対応パッチ

カテゴリ日本語化パッチ

ISDB版で取得される番組表はepgdumpとは違い、カテゴリが英語になっているので、日本語に修正する。英語でも問題ないように思えるが、カテゴリが日本語になっていないと番組表の色分けが正常に行われない。

カテゴリ日本語化パッチ

サブタイトルの切り直しパッチ

EITで取得した番組表のタイトルが番組名での録画予約に適さないのでサブタイトルを切り直すようにするパッチ。先頭の識別子と後半部分を切り出してサブタイトルの先頭につける。このパッチの正規表現では後半部分の切り出しが少し過剰になるかもしれない。

サブタイトル切り直しパッチ

サブタイトル切り直しパッチ(2011.11.17版)

サブタイトル切り直しパッチ(2011.12.11版)

サブタイトル切り直しパッチ(2012.4.21版)

BS対応パッチ

ISDB版でもBSには対応していないので無理やり対応させる。このレスを参考にデータベースにアクセスする際にTransportIDも一緒に取ってくる処理とDisEqCの無効化してBSをチューニングする処理を追加した。TSIDをつけてチューニングする処理を追加するだけでチャンネルスキャンで設定することはできない。そのため、データベースを直接操作する必要がある。チャンネル登録用スクリプトを用意したので記事の下の方を参照。

BS対応パッチ

新BS対応パッチ

チューニングバグ修正パッチ

録画に失敗しても再試行しないバグがある。それに対応するパッチがwikiのトラブルシューティングにあるので持ってくる。これを当ててからfuse_b25に異常がない限り録画に失敗することはなくなった。

チューニングパッチ

FFmpegのAAC音声切り替え対応パッチ

MythTVに内蔵しているffmpegをAACの音声切り替えに対応させるパッチ。これもwikiからもらってくる。視聴にMythTV Playerを使っていて音声切り替えでエラーが出るので効果は不明。

2011.11.16追記

Debian-Multimediaのmythtv(0.24.1+fixes20111029以降)にはこのパッチを当てられない。

ffmpegパッチ

(さらに…)

9月 10th, 2011

Posted In: ソフトウェア

タグ: , , , , , , , , , ,

12 Comments

先月、アナログ停波に備え、余ったPT2を譲ってもらって録画環境をデジタル化した。地上波だけでは高い買い物に感じたのでBSにも対応させた。ようやく使えるようになってきたのでまとめる。今回はMythTV以外の部分。

用意した機材

  • アースソフト PT2 Rev.A
  • NTT-ME SCR3310-NTTCom
  • B-CASカード
  • YAGI UwPA-UP
  • 富士通のBSアンテナ(十数年前のもの)
  • HORIC アンテナ2分配器 HAT-2SP911NB
  • YAGI 2分配器 CSPDL2(以前買って余ってた)
  • ダイソーのアンテナケーブル1m 315円*5

B-CASカードは電話して再発行してもらった。BSが見られるか聞かれただけでメーカー、機種名は問われなかった。

家にアンテナが立っていないのでブースター付きの室内アンテナを新調。ケーブルが付属していないので2本必要になる。BSアンテナは十年以上使われてなかったものをガラクタで補修して簡単に設置した。アンテナケーブルは一番安く手に入るダイソーのものを購入。

信号レベルはWindowsマシンにカードを挿してSignalTalkerで測った。BSアンテナはBluetoothでSignalTalkerの音を飛ばして調整した。recpt1でも信号レベルは測れるらしいので、もしアンテナがずれたら試してみる。DVB版で測れるツールはないんだろうか。

DVB版ドライバの導入

まずドライバを導入する。chardev版ではなくDVB版を使う。DVB版はfuse_b25を使えば、アナログ環境で使っていたMythTVで使える。DVB版ドライバは新しいカーネルには標準で入っているが、squeezeのカーネルには入っていないのでインストールする。

PT2が認識しているか確認

$ lspci | grep Multimedia
 04:01.0 Multimedia controller: Xilinx Corporation Device 222a (rev 01)

上のように出たらPT2が認識しているのでドライバをインストールする。ドライバのソースはhttp://www.linuxtv.org/hg/v4l-dvbからダウンロードできる。

そのままではビルドできないので必要なパッケージをインストールしておく。

$ sudo aptitude install build-essential linux-header-2.6-amd64

パッケージをインストールしたらドライバをビルドしてインストールする。

$ cd /usr/local/src/ 
$ wget http://www.linuxtv.org/hg/v4l-dvb/archive/tip.tar.bz2 
$ tar xjf tip.tar.bz2 
$ cd v4l-dvb-3724e93f7af5/ 
$ make 
$ sudo make install 
$ sudo reboot

インストール後、ドライバモジュールを読み込ませるために再起動する。

ドライバの確認。

$ lsmod | grep pt1
earth_pt1              15748  105
dvb_core               75106  1 earth_pt1
i2c_core               15819  6 i915,drm_kms_helper,earth_pt1,drm,i2c_algo_bit,i2c_i801
$ dmesg | grep DVB
[    7.555975] DVB: registering new adapter (earth-pt1)
[    7.556224] DVB: registering new adapter (earth-pt1)
[    7.556414] DVB: registering new adapter (earth-pt1)
[    7.556632] DVB: registering new adapter (earth-pt1)
[    7.892565] DVB: registering adapter 0 frontend 0 (VA1J5JF8007/VA1J5JF8011 ISDB-S)...
[    7.892655] DVB: registering adapter 1 frontend 0 (VA1J5JF8007/VA1J5JF8011 ISDB-T)...
[    7.892688] DVB: registering adapter 2 frontend 0 (VA1J5JF8007/VA1J5JF8011 ISDB-S)...
[    7.892714] DVB: registering adapter 3 frontend 0 (VA1J5JF8007/VA1J5JF8011 ISDB-T)...
$ ls /dev/dvb/ 
adapter0 adapter1 adapter2 adapter3

ISDB-SとなっているのがBS/CS用、ISDB-Tとなっているのが地上波用になる。

(さらに…)

8月 19th, 2011

Posted In: ソフトウェア, ハードウェア

タグ: , , , , , , , ,

Leave a Comment

« 前ページへ