| « 更新履歴 2006/01/25 | 更新履歴 2006/01/18 » |
firefoxからmplayerを起動してmms形式の動画を再生
普段、ウェブを閲覧するのに、firefoxを使ってる。www/mplayer-pluginをインストールしてあると、ブラウザの中で、最近、増えてきたWMV形式の動画を再生してくれる。しかし、http形式のプロトコルでは問題ないが、mms形式のプロトコルで配信されているものについては、現在のところハンドルできないみたい。mplayer自体は、mms形式のストリーミングの再生にも対応していているのだが。
firefoxでは対応していないプロトコルのハンドルの仕方が、
に書いてある。これを応用して、mms形式のリンクを踏んだ場合、mplayerを起動して再生するようにしてみた。
まず、
#!/usr/local/bin/perl -w
my @login_sites = (
{
site => '\.some-streaming\.com', # 正規表現
user => 'your_name',
passwd => 'your_password',
},
# 適宜追加
# {
# site => '\.more-streaming\.com',
# user => 'your_name2',
# passwd => 'your_password2',
# },
);
if (defined(@ARGV)) {
my $url = shift @ARGV;
while (defined(my $a = shift @login_sites)) {
if ($url =~ qr($a->{site})) {
$url =~ m#^(mms://)(.*)$#;
$url = $1 . $a->{user} . ":" . $a->{passwd} . "@" . $2;
last;
}
}
exec("/usr/local/bin/mplayer $url");
}
等とラッパーのスクリプトを書いて、${HOME}/bin/mplayer_mms.pl等とおき、実行権限を与えておく。
次に、${HOME}/.mozilla/firefox/*.default/user.jsに、
user_pref("network.protocol-handler.app.mms",
"/home/USER/bin/mplayer_mms.pl");
user_pref("network.protocol-handler.warn-external.mms", false);
等を追加(なければ新規に作成)して、firefoxを起動し直す。
以上で、少なくともfirefox 1.5では、mms://で始まるリンクをクリックすると、mplayerが立ち上がって、再生してくれるようになった。
特に上記のようなラッパースクリプトは必要ではなく、直接、user.js内に、mplayerがあるPATHを指定しても良いのだが、ちょうど見たかった動画がBASIC認証が必要だったため、あえてそうしてみただけです。認証にクッキー等を使っている場合は、駄目(mplayer自体も対応していない)。
Trackback address for this post
Trackback URL (right click and copy shortcut/link location)
1 comment, 1 trackback
FreeBSD Notes に Firefox から mms 形式のプロトコルをフックして mplayer を起動させる方法が紹介されていました。
なかなかすごいハックだと思いますが、Gnome だともっと簡単に mms 形式のプロ...
This post has 58 feedbacks awaiting moderation...