Mythwebの設定


MythWebのインストール


sudo apt-get install mythweb
これでOK

ブラウザでhttp://localhost/mythwebにアクセスすれば、MythWebのトップページが表示されるはず。


MythWebの設定

表示の修正

デフォルトのままだと時刻表示がちょっと変。
個々のクライアントがMythWebから設定することも出来るが、いちいちセットするのも、設定作業自体も結構面倒。MythWebのファイルに手を加えたほうが早いと判断した。

/var/www/mythweb/modules/_shared/lang/Japanese.langを開き
 "generic_date"
 %Y %b %e日
とする
(なお、MythWebのファイル群は/usr/share/mythtv/mythweb/からリンクされている)

ダウンロードファイル名の文字化け

FirefoxでファイルのダウンロードやASXストリーミングをする際、ファイル名の日本語がすべてアンダースコアに変換されてしまう文字化けが起こる。
IEでも文字化けするが、これにはFirefoxでの文字化けの原因と、それとはまた別の原因があるので一緒に対策する。
さらに、明らかにバグっぽいファイル名の命名パターンを、タイトル(サブタイトル)日付.mpg、といった形になるようにしてみる。
ちなみに、現時点(2010/2/9)で最新状態のこのubuntu9.10には、Perlは5.10.0、MySQLは5.1.37がインストールされている。

まずは文字化け対策

最初にJcode.PMが入っていることを確認
dpkg -l | grep jcode
ii  libjcode-pm-perl     2.06-1
Perl extension interface to convert Japanese text
なければインストール
sudo apt-get install libjcode-pm-perl

※/etc/mysql/my.cnf の default-character-set = utf8 は指定しないくてもよい
PHPでプログラミングした場合に、逆に弊害が起る場合がある。
参考:PHPの文字化けを本気で解決する

さらに、/var/www/mythweb/mythweb.plを開き、次の行を探す
our $dbh = DBI->connect("dbi:mysql:database=$ENV{'db_name'}:host=$ENV{'db_server'}",
	                            $ENV{'db_login'},
	                            $ENV{'db_password'});

これを以下のように修正する(行頭ourの行は実際には一行)
our $dbh = DBI->connect("dbi:mysql:database=$ENV{'db_name'}:host=$ENV{'db_server'}:mywql_read_de
fault_file=/etc/mysql/my.cnf",
	                            $ENV{'db_login'},
	                            $ENV{'db_password'}),
my.cnfにはMythTVのインストールと設定の設定が施されている

そして、/var/www/mythweb/modules/stream/tv.pl
    $sh->finish;

 # No match?
この部分を以下のようにする
    $sh->finish;

    use Jcode;
    $title = jcode($title)->sjis;
    $subtitle = jcode($subtitle)->sjis;

 # No match?

これでIEからもFirefoxからも文字化け自体は解消するはず。
ただ、このままでは文字化けないものの、不細工なファイル名が出来上がってしまう。
これ以下は命名ルールのカスタマイズ(とちょっとバグ修正)
不細工なファイル名が気にならず、タイトルだけ化けなければいい場合はやらずとも可

/var/www/mythweb/modules/stream/stream_raw.plを開く
# File type という記述のちょっと下
$suffix = '.mpg';
  ↓ピリオドを消去
$suffix = 'mpg';

# Download Filename 以下を次のように書き換え
# Download filename
my $name_date = $basename;
   $name_date =~ s/^[\d][\d][\d][\d]//g;
   $name_date =~ s/[\d][\d][\d][\d][\d][\d]\.\w+$//; 
my $name = $basename;
    if ($basename =~ /^\d+_\d+\.\w+$/) {
        if ($title =~ /\w/) {
           $name = $title;
             if ($subtitle =~ /\w/) {
                 $name .= " - $subtitle";
             }
           $name .= $name_date;
         }
     }
これで、ザ!鉄腕!!DASH_20100130.mpg、のようなファイル名ができるようになった。
IEからでも文字化けしない。


全く動作保障のない編集後ファイル
自分用のバックアップなので、使う人(まぁそんな人は居ないだろうけどw)は自己責任で。
mythweb.pl
stream_raw.pl
tv.pl

ASXストリーミング
WindowsからのASXストリーミング(プログレッシブ-ダウンロード-再生)は、今の所、mplayerに-playlistオプションを付けるか、VLCで再生するしかないと言われていた。
しかし、以下のようにすると、MPC(Media Player Classic)でも再生できた。ただシークが効かない。
/var/www/mythweb/modules/stream/stream_asx.plで
    my $file = <<EOF;
<ASX version = "3.0">
<ENTRY>
<TITLE>$title - $subtitle</TITLE>
<AUTHOR>MythTV - MythWeb</AUTHOR>
<COPYRIGHT>GPL</COPYRIGHT>
<REF HREF = "$uri" />
</ENTRY>
</ASX>
EOF
上記のヒアドキュメントを読んでる部分の後に
$file =~ s/\<\/ASX\>\n/\<\/ASX\>/;
を加え、末尾の改行をとる。







コメントをどうぞ
名前:
コメント:





javascript plugin Error : このプラグインで利用できない命令または文字列が入っています。
最終更新:2011年05月10日 17:23