hakeの日記

Windows環境でプログラミングの勉強をしています。

flv再生不可 on ZPlayer その2 & mplayer切り替え

先日のこの件、ダウンロードしたままだったmplayer1.2.0(iwmmxt版)を入れたら何故か普通に再生できました。ただし重すぎのせいか映像と音のズレが激しく全く実用的ではありませんが(^^ゞ
で、いろいろ試したところ一旦1.2.0で再生させた後に1.1.5にすると問題なさそうな感じです。これってbvdd関連のどこかに変な状態が記憶されていて1.2.0を使用するとその状態がクリアされるってことなんでしょうか???

つーわけで、1.2.0と1.1.5をスクリプトで切り替えるようにしてみました。単にファイル名とディレクトリ名を書き換えてるだけです(^^ゞ
chidaさんにご質問いただいた件の一つの回答ということで。


最終行はカレントのmplayerのバージョンをタスクバーに表示させるためのものです。1.2.0のバージョンは何故か1.1.6と表示されますね。
しかしQCopメッセージの参考サイトがアクセス不能になっていなマイッタ。どこかに生きてるサイトないでしょうか。。。

追記

mplayerを切り替えできるようにする手順を以下に書きます。作業はTree!ExplorerとZEditorをルート権限で使用しますので各々のアイコン長押しメニューで「ルート権限」にチェックをいれておきます。

  1. ZEditorを出力文字コードEUCにして、下のスクリプトを/home/QtPalmtop/binフォルダにchg_mplayer.shとして保存
  2. 上記ファイルをTree!Explorerで選択、「ファイル」→「プロパティ」→「権限」で所有者をroot、所有グループをqpeに変更、実行の三ヶ所にチェックを入れる
  3. mplayerをインストール済みであれば一旦アンインストール
  4. mplayer 1.2.0をインストール
  5. Tree!Explorerで以下のファイルをフォルダを同じ場所に別名コピー
    • /home/QtPalmtop/bin/mplayerをmplayer120でコピー
    • /home/QtPalmtop/etc/mplayerフォルダをmplayer120でコピー
    • /home/QtPalmtop/share/mplayerフォルダをmplayer120でコピー
  6. mplayer1.2.0をアンインストール
  7. mplayer1.1.5をインストール


以上でターミナルからchg_mplayer.shを実行する毎にmplayerが入れ替わります。当然ですがmplayer実行中に入れ替えを行わないようにしてください(^^ゞ

$ chg_mplayer.sh

KeyHelperに登録して使用する場合は以下を参考に、keyhelper.confに追加

メニューに登録の場合
01_chg_mplayer = @exec(TAB)/home/QtPalmtop/bin/chg_mplayer.sh

タスクバーにカレントのmplayerバージョンを表示させたい場合は下のスクリプトの最後の部分を説明に従って#を削除してください。



元に戻す場合の手順は以下です

  1. mplayer1.1.5をアンインストール
  2. 上記5でコピーしたファイルやフォルダを削除(名前はmplayer115になっている可能性あり)
  3. chg_mplayer.shを削除

スクリプト

sudoを使用しないように修正しました。

#!/bin/sh

MPLAYER="/home/QtPalmtop/bin/mplayer"
MPLAYER115="/home/QtPalmtop/bin/mplayer115"
MPLAYER120="/home/QtPalmtop/bin/mplayer120"
ETC="/home/QtPalmtop/etc/mplayer"
ETC115="/home/QtPalmtop/etc/mplayer115"
ETC120="/home/QtPalmtop/etc/mplayer120"
SHARE="/home/QtPalmtop/share/mplayer"
SHARE115="/home/QtPalmtop/share/mplayer115"
SHARE120="/home/QtPalmtop/share/mplayer120"


if [ -f $MPLAYER120 ]; then
  su -c "mv $MPLAYER $MPLAYER115"
  su -c "mv $ETC $ETC115"
  su -c "mv $SHARE $SHARE115"
  su -c "mv $MPLAYER120 $MPLAYER"
  su -c "mv $ETC120 $ETC"
  su -c "mv $SHARE120 $SHARE"

else
  su -c "mv $MPLAYER $MPLAYER120"
  su -c "mv $ETC $ETC120"
  su -c "mv $SHARE $SHARE120"
  su -c "mv $MPLAYER115 $MPLAYER"
  su -c "mv $ETC115 $ETC"
  su -c "mv $SHARE115 $SHARE"
fi

# タスクバーへのmplayerバージョン表示

# ターミナルで実行する場合は下の行頭の#を削除
#qcop QPE/TaskBar 'message(QString)' `mplayer -- 2>&1 | grep for | cut -d" " -f 4` 2>/dev/null

# KeyHelperに登録して使用する場合は下の行頭の#を削除
#exit `mplayer -- 2>&1 | grep for | cut -d" " -f 4 | sed "s/\.//g"`