MythTVを使ってみたら結構良かったので日本語化してみました。
ぱ研さんのおかげでxmltvにtv_grab_jpが正式に取り込まれました。 xmltv を使用して番組ガイドを見ながら予約が出来ます。 またプラグインのMythWebを使うとwebから予約が出来ます。 OSDで日本語が化ける場合標準では日本語がOSDで表示されません。下記の設定をすれば表示されます。 日本語TrueTypeフォント(not ttc)をMythTVのフォントパス(例えば/usr/local/share/mythtv/)にインストールする。もちろんリンクもでもOK
MythTVメニューより、設定(Setup) - 再生(Playback) - オンスクリーンディスプレイ(Onscreen Display)で OSD フォント(OSD font) と クローズドキャプションフォント(Closed Caption font) で日本語フォントを選択する。 Updates
Summary
Requirement
Guide日本語特有の設定を中心に説明します。詳しくはInstalling and Using MythTVか 他のページを参照してください。_(._.)_ mythtv-setup
mythbackendmythbackendを開始する。 artsdなどサウンドを使っているとmythbackendがtv再生のときに落ちます。またmythfrontendも音声が再生できないのでartsdを停止しておく。 mythfrontendSetup - Playback - "OSD font"と"Closed Caption font"を日本語が含まれているフォントを選択する。 Setup - Appearance - の"Language"を"日本語"を選択し、"完了"すると日本語になる。 "TV" - "Watch TV"でTVが見れればキャプチャーカードはOK。 PatchesMythTVMythTV 0.15がリリースされました。日本語対応を取り込んでもらえたのでこのサイトのパッチは必要ありません。 0.15を使いましょう。 tarwww.mythtv.comdebdeb http://dijkstra.csh.rit.edu/~mdz/debian/ unstable mythtv deb-src http://dijkstra.csh.rit.edu/~mdz/debian/ unstable mythtv deb http://cedar-solutions.com/ftp/debian/ stable main パッチを当ててi18nディレクトリ内でlrelease translate.proとするとqmファイルが出来ます。 それを実行してからインストールしてください。
ToDoできるか出来ないかは別にしてToDo
Log2004.1.23iEPGOnTVからメール録画予約機能(ネットリモコン) に対応する裏づけが取れた。シンプルなフォーマットでメールを送ってくるので後は メールをパースして録画予定に入れるだけ。だけどperlでスクリプト組んでるけど perlに慣れてないのでスピードが遅い。 2004.1.22ぱ研さんから日本語パッチをマージしてもらう。またぱ研さんのアイデアでひらがな検索追加。 2004.1.21kernel 2.6.1を試す。alsaはカーネル、v4l2はbytesex。ビデオキャプチャーで2秒置きくらいに止まるので見送り。 ログを見た限りでQUERYBUFで止まるみたい。コンフィグの間違い? alsaのミキサー設定がなぜか戻ってしまう。なんとKDEの起動時にミキサー設定を復元していた。 2004.1.17qtの翻訳でlinguistというツールがあるのをはじめて知った。今までmule-ucsでやっていた。 lupdateするとソース中のtrを探してくれてtsファイルを作り、linguistで翻訳してlreleaseでqmファイルを作るみたい。 2004.1.8sprintfのフォーマットはlatin1でないとだめなので trで指定されていても%02dなどのようにフォーマットも指定してある物は latin1以外は???で表示される。QString::sprintfだけでなく::sprintfも同じみたい。どうしようもない。 2004.1.7再生画面のキャプチャー方法がわからない。overlayはキャプチャーできない? 2004.1.6tv_grab_jaの出力がutf-8でないからうまくいかないと思ったがeucでも大丈夫そう。 2004.1.4OSD表示がうまくいかない。何処でOSDに表示してるか分からなくて結構手間取った。 OSD表示はttfont.cppで直接レンダリングしてるみたい。さっと見たところグリフ(よく分からない)を事前に用意してるみたいだけど 0-255間でのキャラクターコードしかやってないみたい。そこで表示する文字をキャッシュに無ければ 読み込むように変更。FT_Get_Char_Indexのコードにはユニコード(今回はucs2)を渡すみたい。 これでOSDでも日本語が表示できた。しかしまだ所々で???が表示される。 2004.1.2xmltvの日本語版を発見 tv_grab_jaで番組情報を取り込むときtvtimeでは正常に表示するがmythtvでは番組ガイドでは表示されるがチャンネル名が????になる。 データベースを直接見たら???になっているので取り込み部分で既に???になってるみたい。 とりあえずtv_grab_jaの出力をutf-8に変えてみたが、それでも表示が???になる。 qtの関数でQString::asciiを使うとascii文字以外は?に変換されるみたい。 あとQString::sprintfもutf-8以外は?になるようだ。 そこでfilldata.cppの関係ありそうな部分をasciiをlocal8Bitとutf8に変更する。 しかし特定の文字で?になってしまう。そこでQString::sprintfでなくQString::argを 使ったらデータベースまではutf-8で取り込めた。 2003.12.20キャプチャーカードが無いと話にならないので玄人志向のSAA7130-TVPCI/Bを買って来た。 V4L2のパッチを当ててsaa7134もモジュールにcard=10のオプションで認識した。 ところがmythtvが動かない。tvtimeを使ってみるとコッチも最初segfaultしたが 入力をチューナーに設定したら問題なくテレビが見れた。ということはmythtvのやり方がまずいということか? で仕方なくコードを追ってみたが悪そうなところが見つからない。 VIDIOCSYNCのところでエラーが出ている。DQBUFしてバッファーから取ってくるみたいだがその時にステータスがSTATUS_ERRORになっている。 STATE_ERRORになるのはSTREAMOFFしたときかdma終了時なのは何とか分かった。 saa7134のオプションでcore_debug=1,video_debug=2のオプションを付けて組み込んで ドライバの出力を見てみるとbuffer_finishしたアドレスがQBUFしたアドレスと違う。 dmabitsのtask=0x23でビデオキャプチャーとvbiが起動されている。 vbiで失敗したのがSTATE_ERRORと設定しているようだ。 そこでmythtv-setupでvbiデバイスを無しにしたら正常に動作した。 一歩前進 2003.12.18とりあえず動かそうと思って動かすと番組ガイドのところで必ずmythbackendがsegfault! デバッグでコンパイルしてgdbで動かすとScheduler::getAllPendingの最初で落ちてる。 thisを見たら0だった。その上のMainServer::m_schedが0なのでコンストラクタを読んでるmainでschedを設定しているよう。 でためしにmythbackend --printschedとやってみると
$ mythbackend --printsched
ERROR: no capture cards are defined in the database. どうやらキャプチャーカードを設定しないとだめたい。 しかし、持っているAll-in-WonderはGATOSのドライバを使えばTVはみれるがV4Lのドライバが無いのでキャプチャーできない。 キャプチャーカード買うか 2003.12.17画面は結構良さそうなのでとりあえずメッセージを翻訳。 |