flvをZPlayerに関連付け

flv を video/x-flv としてMIME Typeに登録

qrtubeのおかげで簡単にYouTubeの動画(拡張子はflv)をダウンロードできるようになったら、ZPlayerに関連付けて再生できるようにしたくなるのが人情というもの。
デフォルトでflvはMIME Typeに登録されてないので、本家(Playing back external FLV files dynamically)に従って「video/x-flv flv」って行を /opt/QtPalmtop/etc/mime.types に追加する。

ZPlayer に video/x-flv を関連付け

あとはZPlayerのdesktopファイル(デフォルトだと/opt/QtPalmtop/apps/Application/zplayer.desktop)の「MimeType = 」で始まる行末に「;video/x-flv」ってなカンジで追加するだけ。んで、再起動すると。

パッケージにしてみる

こんだけの手順でも面倒なモンは面倒なのでパッケージにしてみる。いつものごとく、インストールするものは何もないので空の./optディレクトリをdata.tar.gzで圧縮して、同様に「2.0」とだけ書かれたdebian-binaryファイルを用意する。

bash-2.05$ mkdir ./opt
bash-2.05$ tar cvf - ./opt | gzip - > data.tar.gz
bash-2.05$ echo "2.0" > debian-binary

あとはインストール後に動作するスクリプト postinst を下記のような内容で用意する。

#!/bin/sh
cp /opt/QtPalmtop/etc/mime.types /tmp/mime.types
echo 'video/x-flv        flv' >> /tmp/mime.types
sort /tmp/mime.types > /opt/QtPalmtop/etc/mime.types
for file in `find /opt/QtPalmtop/apps/ -name zplayer.desktop -print`
do
        cp $file /tmp/zplayer.desktop
        sed -e '/^MimeType =/s/$/;video\/x-flv/' /tmp/zplayer.desktop > $file
done

mime.typesはSL-A300のNetFrontのパッケージによるとソートしとかないといけないっぽいので一応そうしてる。
zplayer.desktopは別のタブに移動しててもいいように、/opt/QtPalmtop/apps 以下から検索して、MimeType = で始まる行(sed では ^ で行頭を表す)の末尾(sed では $ で表す)を ;video/x-flv に置き換えることで追加を行っている。
同様にしてアンインストール前に実行されるスクリプト prermも以下のように作成。

#!/bin/sh
cp /opt/QtPalmtop/etc/mime.types /tmp/mime.types
sed -e '/^video\/x-flv        flv$/d' /tmp/mime.types > /opt/QtPalmtop/etc/mime.types
for file in `find /opt/QtPalmtop/apps/ -name zplayer.desktop -print`
do
        cp $file /tmp/zplayer.desktop
        sed -e '/^MimeType =/s/;video\/x-flv//' /tmp/zplayer.desktop > $file
done

最後にパッケージの名前とかを書いた control ファイルを以下のような内容で作成。Depends は前提となるパッケージの名前。

Package: zplayer-flv
Version: 0.0.1-1
Architecture: arm
Maintaier: Nyanonon
Depends: zplayer
Description: ZPlayer flv file link added.

最後に control と postinst と prerm を圧縮して control.tar.gz にし、control.tar.gz と data.tar.gz と debian-binary を圧縮して、パッケージの出来上がり。

bash-2.05$ tar cvf - ./control ./postinst ./prerm | gzip - > control.tar.gz
bash-2.05$ tar cvf - ./control.tar.gz ./data.tar.gz ./debian-binary | gzip - > ~/Documents/Install_Files/zplayer-flv_0.0.1-1_arm.ipk

本体メモリーのInstall_Filesに出来たパッケージをインストールすると、mime.typesとzplayer.desktopが書き換えられる。ソフトウェアの追加/削除でインストールすると、自動的に関連付けが更新されるので再起動しなくても flv が ZPlayer に関連付けられているハズ。

ZPlayerにflvを関連付けする zplayer-flv 0.0.1-1
http://www.areanine.gr.jp/~nyano/archives/slzaurus/zplayer-flv_0.0.1-1_arm.ipk