TV録画 †
UbuntuでのTV録画の設定メモです
使用機器:PLEXTOR PX-TV402U
- 参考ホームページ
ドライバの設定(9.04) †
kernel 2.6.27になり前バージョンのドライバはビルドで失敗してしまうようになりました。幸いなことに海外モデルを使われている開発者さまがいらっしゃるようで、対応のドライバがありました。go7007.imploder.org
- インストール
$wget http://go7007.imploder.org/wp-content/uploads/2009/02/wis-go7007-linux-098-4tar.bz2 $ mv wis-go7007-linux-098-4tar.bz2 wis-go7007-linux-098-4.tar.bz2 $ tar jxvf wis-go7007-linux-098-4.tar.bz2 $ cd wis-go7007-linux-098-4 $ make $ sudo make install
Mythtvのインストール †
- パッケージのインストール
$ sudo apt-get update $ sudo apt-get install mythtv mythtv-themes
- パスワードの変更
パッケージのインストール途中でパスワードを変更するなら云々というメッセージがでるので,インストール後の以下のコマンドでパスワードを変更する.$ sudo dpkg-reconfigure mythtv-common
- mysqlの設定変更
/etc/mysql/my.cnfを編集して,以下のbind-addressの行をコメントアウトする.#bind-address = 127.0.0.1
mysqlを再起動する.
# /etc/init.d/mysql restart
- パスワードの変更
- xmltvの設定
- xmltvのインストール
$ sudo apt-get install libtext-kakasi-perl xmltv
- ビデオソースの設定
$ tv_grab_jp --configure
TV局は地域を選択してから,各局の追加の有無を選択する.
CSは地域でCATV(47)を選択し,4桁に1000と入力しそこから地道にYes/Noを選択していく.
- xmltvのインストール
- mythtvバックエンドの設定
オモイノホカ日々徒然を参考に設定していく
ビデオソース設定でうまくDBに接続ができないようなので,DBの権限を再設定する.$ mysql -u root -p password:<パスワードを入力> mysql> grant all on mythconverg.* to mythtv@"localhost" identified by "mythtv"; mysql> flush privileges; mysql> quit
再度mythtv-setupを実行すると,途中でコンソール画面になりチャンネルの選択画面になる.
- 番組表を取得する.
# mythfilldatabase
すこし時間がかかる.
# mythfilldatabase --manual --refresh-all --max-days 1
個別に質問をされるので,チャンネル番号を入力する.
- 入力とソースの接続
先ほど設定したビデオソースをTelevisionと関連づける.
- 番組表を取得する.
- TV放送とANIMAXの併用
アナログ入力からはTV放送を,combositeからはCSチューナー出力を入れANIMAXを録画するようします.
ビデオソースでTV放送用とANIMAX用を別々に作成する.
入力とソースの接続で,「Television」にTV放送のビデオソースを関連づけ,「combosite」にANIMAXのビデオソースを関連づける.
しかし,このままだとTV放送は録画できたが,ANIMAXの放送がうまくいかない.- ANIMAXを録画したときのlog
2007-08-04 00:46:05.342 Channel::GetCurrentChannelNum(0): Failed to find Channel '0' 2007-08-04 00:46:05.342 Channel(/dev/video0)::TuneTo(0): Error, failed to find channel. 2007-08-04 00:46:05.342 TVRec(4) Error: Failed to set channel to 0. Reverting to kState_None 2007-08-04 00:46:05.342 TVRec(4): Changing from RecordingOnly to None 2007-08-04 00:46:05.345 Canceled recording (Recorder Failed): 0 (724ch) "? 8? 4 00:46:00 2007": channel 2000 on cardid 4, sourceid 2 2007-08-04 00:46:06.305 MainServer::HandleAnnounce Monitor 2007-08-04 00:46:06.305 adding: cululu as a client (events: 0) 2007-08-04 00:46:07.728 MainServer::HandleAnnounce Monitor 2007-08-04 00:46:07.728 adding: cululu as a client (events: 0) 2007-08-04 00:46:07.755 Reschedule requested for id 31. 2007-08-04 00:46:07.779 Scheduled 1 items in 0.0 = 0.02 match + 0.01 place 2007-08-04 00:46:08.407 Error deleting '/home/mythtv/2000_20070804004600.nuv': No such file or directory
似たようなエラーの回避がmythtv-usersに投稿されていた.参考にして「入力とソースの接続」-「/dev/video0(combosite)」のページの「外部チャンネル変更コマンド」に「/bin/true」と入力する.すると録画がうまくできるようになりました.
- ANIMAXを録画したときのlog
- mythfrontend
mythfrontendを起動して,録画のプロファイルで画像サイズの設定などを行い,実際に録画予約する.うまくいけばメディアライブラリに録画がたまる.
mythwebのインストール †
- パッケージのインストール
# apt-get install mythweb
- 設定
apacheのdefault rootのパスを変更しているので,シンボリックリンクの作りなおす.# cd /htmldir # ln -s /usr/share/mythtv/mythweb .
apacheのユーザも変更してあるので,ファイルの所有者も変更する.
# chown -R apache:apache /usr/share/mythtv/mythweb # chown -R apache:apache /var/cache/mythweb/image_cache
apacheの設定ファイル(/etc/apache2/sites-available/default)に下記を追加する.
<Directory "/htmldir/mythweb"> Otions FollowSymLinks AllowOverride All </Directory>
apacheを再起動して,http://127.0.0.1/mythwebにアクセスしてみる.
- パスワード認証を追加する
- パスワードファイルを作成する.
# htpasswd -c /etc/apache2/httpd-passwords USER1
- パスワードファイルのアクセスを制限する.
# chmod 640 /etc/apache2/httpd-passwords # chown apache:apache /etc/apache2/httpd-passwords
- apacheの設定ファイル(/etc/apache2/sites-available/default)を変更する.
<Directory "/htmldir/mythweb"> Options Indexes FollowSymLinks AuthType Basic AuthName "MythTV" AuthUserFile /etc/apache2/httpd-passwords require user USER1 Order allow,deny AllowOverride All </Directory>
apacheを再起動してmythwebのページにアクセスするとユーザ名とパスワードを問われる.
- パスワードファイルを作成する.
mythwebがモバイル用から戻らない †
一度Advanced W-ZERO3からMythwebにアクセスをしたところ,以降PCでもmythwebの画面がモバイル用になって戻らなくなってしまった.mysqlのdbにユーザー毎のセッション情報が保存されてしまうためリセットが必要らしい.
$ mysql -u root -p > use mythconverg; > delete from mythweb_sessions;
これでリセットされて通常のレイアウトに戻る.
モバイルからもアクセスをする場合には異なるユーザー名を使うことが推奨されているみたい.
wizdのインストール †
いろいろと派生があるようですが,サムネイル表示を使ってみたかったのでwizd 0.12gt3をいれてみることにしました.
Kosuke's Secret room
- 必要ライブラリのインストール
# apt-get install libjpeg62-dev
- インストール
- wizdサーバを再コンパイル
$ tar jxvf wizd-012gt3.tar.gz $ cd wizd_012gt3 $ make clean $ make
- wizdのバイナリをコピー(私は/usr/local/share/wizd/にしました.)
$ sudo cp wizd /usr/local/share/wizd/
- wizdサーバを再コンパイル
- 設定
document_rootとthumbnail_rootを決めて,wizd.confを設定しました.そのほかskinと番組名表示用のスクリプトも同じくdocument_rootとthumbnail_rootを合わせて設定しました.- skinの設定
スキンはbw_wizd_006を使うことにしました. - 番組名の表示
オモイノホカ日々徒然のnuvlinksスクリプトを使い,番組名のリンクを作成する.
wizdからこのスクリプトの呼出が可能なようですが,名前がpage_gen.cgiとなっているので,名前を変更して/usr/local/binに保存し,シンボリックリンクをwizdのdocument_root/cgi-bin/に作成しました.
- skinの設定
nuvからaviへの変換 †
最終的に録画した番組を,少し古いですが長瀬産業 DVX-500で見れるようにしたいです.しかし,試してみるとMPEG4でハードエンコードしたnuvファイル(のシンボリックリンク)の動画は再生されませんでした.
いろいろと調べてみるとnuvはMPEG1/2のストリームと互換があるようだが,MPEG4だとaviファイルにする必要があるらしいです.
試しにwis-go7007のドライバに付属のgorecordで録画した映像をwizd経由でDVX-500に読ませてみたら,ちゃんと再生・早送りなどができたので,音声・映像のコーデックは対応しているがファイルのヘッダーやインデックス情報がたりないのだと思います.
- avidemux
映像の編集ソフトです.これで読み込み・保存をしてもnuvからaviへの変換ができるとの情報がありましたので,試してみました.保存まえに"rebuild-index"を実行して保存したaviをDVX-500で読み込むと,映像・音声の再生と早送りなどもすることができました. - rebuild-indexのスクリプト化
avidemuxは2.4.0からコマンドライン版も用意されています.コマンドライン版を使い自動的に実行されるようにスクリプトを作成しました.- nuv2avi_rebuilindex.sh
#!/bin/bash CMD_AVIDEMUX="/usr/bin/avidemux2_cli" if [ -e "$*" ]; then INPUT_FILE="$*" TMP_FILE=`/bin/echo ${INPUT_FILE%.*}`"_tmp.nuv" OUTPUT_FILE=`/bin/echo ${INPUT_FILE%.*}`"_new.nuv" $CMD_AVIDEMUX --autoindex --load $INPUT_FILE --rebuild-index --save $OUTPUT_FILE --quit if [ $? = 0 ]; then /bin/mv -f $OUTPUT_FILE $INPUT_FILE IDX_FILE=$INPUT_FILE".idx" if [ -e $IDX_FILE ]; then /bin/rm -f $IDX_FILE fi fi fi
- nuv2avi_rebuilindex.sh
こちらのスクリプトを/usr/local/binに保存して,mythtv-setupでユーザージョブに「/usr/local/bin/nuv2avi_rebuildindex.sh "%DIR%/%FILE%"」と加えて,mythfrontendの設定でユーザージョブを有効にしました.録画実行後に自動的にnuvからaviに変換がされ,さらに番組名のシンボリックリンクも作成されるので,録画後すぐにDVX-500でみることができるようになりました.