SL ザウルスは SL-C700、SL-B500 で MPEG-1 等の動画再生や、MP3 等の音声再生が標準で出来るようになり、SL-C750、SL-C760 では MPEG-4 の動画再生もサポートされました。
(SL-A300 については海上忍さんの記事が参考になるかと思います。)
しかし、SL-C700 での動画再生はかなりぎこちないもので、SL-C760 では MPEG-4 がサポートされたものの、MPEG-1 が再生できなくなりました。
そんな中、様々なフォーマットに対応し、再生パフォーマンスも良好なマルチメディアプレイヤーの MPlayer が何種類が公開されたことで、状況が一変したんじゃないかと思います。
(他にも動画再生ソフトウェアとして vlc 等もあるが、今回は GUI フロントエンドもある MPlayer についてのみ記述しています。)
これは 2003 年 9 月 17 日(水)現在の SL-C760 を主とした動画ファイルや、音声ファイルの再生状況をまとめたものです。
2004/05/18 追記MPlayer で Google 検索してみると判るんですが、使い方やインストール方法はあるものの、日本語のサイトでトータルな解説をしているところってあまり見かけません。
MPlayer は Linux 用に開発された動画や音声の再生ソフトで、動画は MPEG-1 や MPEG-2 だけでなく、ビデオ CD や DVD などを直接再生することも可能で、DivX や Windows Media Video にも対応しており、音声も MP3 だけでなく、Windows Media Audio 等、様々なフォーマットに対応しています。
SL ザウルスでは Zaurus Software Index に 2002/08/02 付で mplayer 0.90pre5 が登録されてたんですが、当時も SL-C700 発売後もあまり注目されてなかったように思います。(私は操作手順や動作の可否が判らず、手を出してませんでした。)
国内では阿川さんが SL-C700 のビデオチップである ATI IMAGEON 100(通称:w100)のアクセラレーション機能を利用して動画をスムーズに再生する MPlayer 0.90_c700_20030430 が 2003/04/30 付で公開されてから、あちこちで注目されはじめたんじゃないかと思います。
以後、パッケージ化され 0.91 ベースになった阿川さんの mplayer-w100 0.91.1 が 2003/08/16 付で、塚本さんが 2003/08/23 付で MPlayer の GUI フロントエンドとして MPlayerShell を紹介すると共に SL-C760 で動作するように再パッケージ化され、その際に使われていた mplayer 0.90rc4b、そしてロシアの Cacko Team さんが SL-C700、SL-C750、SL-C760 で動作する GUI フロントエンドを持ち、阿川さんと同様の(同じもの?)アクセラレーション機能を搭載した MPlayer 0.91-3.3.1 を含む、Kino2 0.21 が公開され、現在に至っていると思われます。
Kino2 は GUI フロントエンドが SL-C700、SL-C750、SL-C760 を想定して作られているようで、SL-B500 や SL-A300 では動作しないようですが、Kino2 をインストールすると一緒にインストールされる MPlayer をターミナルから単体で利用することは可能だと思われます。
また、この MPlayer は ZSI で公開されていたものや、阿川さんのものとソースのバージョンやビルド手順の差異の影響かと思いますが、ASF や WMV なども再生できますので、単体で利用するだけの価値があると思われます。また、他のフロントエンドと組み合わせて使うことも出来るかと思います。
尚、Kino2 付属の MPlayer は /usr/local/bin/mplayer に本体が、/usr/local/etc/mplayer/codecs.conf にコーデックの設定ファイルが、/usr/local/lib/mplayer/vidix/w100_vid.so に ATI IMAGEON 100 用のドライバがインストールされるだけで、阿川さんの mplayer となら共存させることも可能です。(阿川さんの mplayer-w100 は /home/QtPalmtop 以下にインストールされる。)
Kino2 付属の MPlayer にて確認したものを以下に示します。尚、日本語ファイル名も対応していますが、ほとんどの GUI フロントエンドから日本語ファイル名を渡すことが出来ない為、プレイリストなどを利用しなければ再生できないのが実情だと思います。
MPEG-1 形式の動画ファイルです。ストリーミング再生も可能です。
一般的に MP3 と呼ばれる MPEG-1 Layer-III 形式の音声ファイルです。ID3 タグも表示されます。ストリーミング再生も可能です。
主に Windows で使われている Microsoft が定めたフォーマットで、*.avi、*.asf、*.wmv が動画ファイル、*.wma、*.wav が音声ファイルです。
これらのフォーマットは映像部分の圧縮方法(ビデオ CODEC)と、音声部分の圧縮方法(オーディオ CODEC)が何種類もあるのですが、MPlayer で対応していることを確認できた CODEC について以下にまとめてみました。
Windows Media Audio が再生可能な ffwmav2 は動作が完全でないようで、音声が途切れ途切れになったり、動画の再生が止まったりするなどの問題があるようだ。
*.asf、*.wmv、*.wma の動画ファイルや音声ファイルをストリーミング再生する際に使用されるファイルで、再生対象の URL 等が記述されたテキストファイルです。
MP3 ベースのインターネットラジオ等で使われているプレイリストのファイルです。再生対象の URL やファイル名等が記述されたテキストファイルです。
SL-C760、SL-C750 の Movie Player では CE-VR1 や MT-AV1 で録画した動画ファイルを再生できますが、これはビデオ CODEC が ISO MPEG-4 Video V1、オーディオ CODEC が MP3、もしくは G.726 の ASF ファイルを再生できるということです。
MPlayer でも ASF ファイルが再生できますが、オーディオ CODEC として G.726 を使用したものは対応していないので再生ができません。この為、オーディオ CODEC として G.726 を使用している SHARP CE-VR1 は再生できません。
ただし、Panasonic DMR-E200H もオーディオ CODEC に G.726 を使用していますが、こちらは音声無しながらも再生できました。
また、au の携帯電話や、ドコモの携帯電話 FOMA で撮影した動画ファイルは MP4 フォーマットのようで、MPlayer では対応していないみたいで再生はできませんでした。
MPlayer はコンソールアプリケーションなので、ターミナルからコマンドを入力して利用する。ターミナルは標準のもの(SL-C750、SL-C760 の場合は添付 CD-ROM に含まれる)でも良いが、QVGA モードで起動して、少しでも動作を軽く、再生画面を大きくするためにも、きむらさんの qpe-embeddedkonsole-ja ワイド版 をインストールして使うことをお勧めします。
ターミナル(端末ウィンドウ)を起動したら、以下のように入力して最後に Enter キーを押すことで、動画ファイルや音声ファイルを再生できます。これは SD カードに sample.mpg という MPEG-1 の動画ファイルがある場合の例です。他のファイルを再生する場合は /mnt/card/sample.mpg を適宜変更してください。
尚、ファイル名に「*」を指定するとフォルダ内の全てのファイルが、「*」を含む複数のファイルの指定の場合は、その指定されたファイル群が順次再生されるという、プレイリストのような状態となります。
mplayer -quiet -framedrop -vo fbdev -ac mad -vop rotate=1 -geometry 50%:50% /mnt/card/sample.mpg
再生を中断するには Q キーを押します(「q」を入力します)。
阿川さんの mplayer もインストールしている場合はそちらが優先されますので、Kino2 付属の mplayer を使う場合は mplayer の部分に /usr/local/bin/mplayer と入力してください。
MPlayer はオプションを指定することで、スムーズに動画を再生したり、表示方法や表示位置を変更したりできます。詳しくは英語ですが、MPlayer のヘルプを見てもらうとして、SL ザウルスで利用された実績のあるオプションを以下に示します。
MPlayer では動画や音声を再生中にキー操作を行うことで、早送りや巻戻し、一時停止、次の曲へ、前の曲への選曲などを行うことが出来ます。詳しくは英語ですが、MPlayer のヘルプを見てもらうとして、動作を確認したキー操作を以下に示します。
プレイリストはただのテキストファイルです。MP3 ファイルや動画ファイルなどのファイル名を列挙することで、プレイリストを作成できます。以下にプレイリストの例を示します。
[playlist] File1=cmsong.mp3 File2=imagesong.mp3 File3=themesong.mp3
1 曲目として cmsong.mp3、2 曲目として imagesong.mp3、3 曲目として themesong.mp3 を指定しています。必要に応じて /mnt/card/cmsong.mp3 のようにフルパス指定をしても良いでしょう。日本語ファイル名も記述することができます。
インターネットラジオを聞きたい場合は、SHOUTcast から好きな局を選んで、"Tune In!" アイコンを選択すればプレイリストファイル(*.pls)がダウンロードできます。
MP3 再生などで ID3 タグ(曲名などの情報)が正常に表示されない場合はターミナルの文字コードを SJIS 等にする必要があります。qpe-embeddedkonsole-ja ワイド版 の場合は Fn+Q でメニューが出ますので Charset を変更してやれば正常に表示されると思います。
具体的にはターミナルで ls コマンド等を使ってファイル一覧を表示する際は UTF8 を、mplayer で表示されるタグの場合は UTF8 か、SJIS を選択してやれば良いようです。
日本語が入力できない場合は、.inputrc を下記の内容でホームディレクトリに作成しておきます。
set convert-meta off set meta-flag on set output-meta on
ターミナル(端末ウィンドウ)を起動して、以下の手順で作成すれば良いかと思います。
echo "set convert-meta off" > .inputrc echo "set meta-flag on" >> .inputrc echo "set output-meta on" >> .inputrc
SL-C760 でビデオ CD(MPEG-1 352×240、1150Kbps、29.97fps、1 分 30 秒程度)な MPEG-1 ファイルを再生したところ、最後までコマ落ちなく、映像と音声が同期して再生された。ただし、メモリの使用状態などによって、常にこの状態で再生されない場合もあり、この辺が限界なのではないかと思う。ソフトウェアは Kino2 を使用し、QVGA でフルスクリーン再生した。
同じビデオ CD な MPEG-1 ファイルでも、フィルム相当の秒間 23.976fps なデータは余裕があるようで、コマ落ちなく、映像と音声が同期して常に再生されるようだ。
解像度は 640×480 のものは再生できなかったが、640×400 の動画が再生できた。これ以内の解像度は問題なく再生できるようだ。
私的には DMR-E200H のスーパーファインで MPEG-4(320×240、15fps、985kbps)を作成するならば、ほぼ同じサイズの MPEG-1(ビデオ CD、352×240、23.976fps、1150kbps)を作成する方が融通が効いて良いような気がする。とはいえ、DMR-E200H は SL-C760、SL-C750 標準の Movie Player で再生できることが一番の魅力ではあるのだけれど。
MPlayer は非常に再生能力の高く、これほどまでに使えるものになってくると、やはり SL ザウルスの標準アプリケーションのようにアイコンから起動して使いたいと思うのは当然だと思います。
塚本さんが紹介してくださった opie-MPlayerShell は Java で動作する MPlayer の GUI フロントエンドで、再生ファイルの選択、再生、早送り、巻戻し、一時停止、停止、前ファイル、次ファイル、オンスクリーンディスプレイ(OSD)表示をボタン操作で行うことが出来、フルスクリーン表示や、画面一杯の拡大表示もサポートしています。
opie-MPlayerShell は Java の仕様が一部変更になった SL-C760、SL-C750 では正常に動作しないのですが、塚本さんが動かす為の手順を解説し、クイックスタート用のパッケージを作ってくださいました。
また、阿川さんの MPlayer-w100 を使えるようにと、TAKA さんが opie-MPlayerShell を改造し、MPlayer を呼び出す際のオプションを自由に編集、設定できる opie-MPlayerShellEx を作ってくださいました。ただし、デフォルトでは SL-B500 を前提としたパッケージとなっているので、SL-C760、SL-C750 で動かす際は後述する手順で対処する必要があります。
Zaurus Software Index で紹介された Kino2 は SL-5x00 シリーズに Cacko Rom やら Qtopia 1.6 ベースの ROM、SL-C7x0 用の英語版 ROM 等をリリースしている、あの Cacko Team による Qtopia ネイティブの MPlayer 用 GUI フロントエンドです。再生ファイルの選択だけでなく、ストリーミング再生用に URL の入力も可能で、再生、早送り、巻戻し、一時停止、停止をボタン操作で行うことが出来、フルスクリーン表示や、画面一杯の拡大表示、さらには MPlayer 用の詳細な設定を GUI 画面からチェックボックスの ON/OFF 等で行うことが出来ます。
Kino2 は SL-C760、SL-C750、SL-C700 を前提した作り(VGA 画面での動作、ファイル選択のライブラリ等?)になっている為、SL-B500(恐らく SL-A300 も)では動作しないようです。また、QVGA 画面へのシームレスな切り替えによるフル画面での動画再生がウリの1つですが、これは SL-C760(恐らく SL-C750 も)独特のコードなのか、SL-C700 では異常終了してしまいます。
これら 2 つの GUI フロントエンドのおかげで、各機種ごとに GUI での動画再生がかなり快適になりましたが、opie-MPlayerShell も Kino2 も残念ながら、日本語ファイル名を選択、再生することが出来ません。これを回避するには別途プレイリストを作成するしかないでしょう。
opie-MPlayerShellEx は SL-B500 で動作する MPlayer の GUI フロントエンド(つまり、動画や音楽の再生ソフト)です。Java アプリケーションで、opie-MPlayerShell を TAKA さんが阿川さんの mplayer-w100 や Kino2 付属の mplayer を使えるように改良されたものです。SL-C700、SL-C760 でも動作させられましたので、文中で逐次説明します。
opie-MPlayerShellEx には MPlayer が含まれていないので、対応している阿川さんの MPlayer を予めインストールします。Kino2 付属の MPlayer も使えますが、これについては後述します。
SL-C760(恐らく SL-C750 も)の場合は、空のタブに MPlayerShellEx のアイコンが出来てしまいますし、このままでは動作しませんので、ターミナル(端末ウィンドウ)から以下のように入力した後に再起動を行います。
su mv /home/QtPalmtop/apps/Jeode/mplayer.desktop /home/QtPalmtop/apps/Java rmdir /home/QtPalmtop/apps/Jeode echo "#!/bin/sh" > /home/QtPalmtop/bin/runmplayer echo "\$QPEDIR/bin/evm -XappName=$0 -cp \$QPEDIR/java/MPlayerShell.jar MPlayerShell" >> /home/QtPalmtop/bin/runmplayer exit exit
要は /home/QtPalmtop/apps の Jeode フォルダにあるファイル mplayer.desktop を Java フォルダに移動させて、Jeode フォルダを削除し、/home/QtPalmtop の bin フォルダにあるファイル runmplayer の内容から -Xnoprogress を削除して保存しているだけです。
opie-MPlayerShellEx では mplayer に引渡すパラメータが SL-B500 を意識した設定になっていますが、SL-C700 シリーズの VGA モード、QVGA モード用の設定や、阿川さんの mplayer を使用する場合の設定が選択できるようになっていますので、これらの設定を変更しておく必要があります。ただ、この設定は終了しても(バージョン 1.2.1 でも)SL-C760 では保存されないようで、起動毎に行わなければならないようです。
設定は MPlayerShell が起動した状態から、メニューバーの「File」→「Preference」の順に選択し、mplayer のオプションを必要に応じて変更します。
MPlayerShell をアイコンから起動すると、SL-C700、SL-C750、SL-C760 では QVGA モードで起動します。VGA モードで起動させたい場合はアイコンを長押しして、設定を変更しておいてください。
URL を指定してのストリーミング再生は出来ませんが、プレイリストを指定しての再生は出来るので、インターネットラジオや、プレイリストに URL を記述しての再生は可能と思われます。
メニューバーの「View」→「Fullscreen」を選択して、チェックを入れてから再生を行います。
ただし、SL-C700、SL-C760 ではバージョン 1.2.1 になってもうまく動作しないようです。(mplayer に引渡すオプションを見てみると、ウィンドウ再生時と同じものが引き渡されているようです。)
画面上のボタンで以下の操作が行えます。
前のファイルに戻る機能は正常に動作しないようです。(SL-C760 にて確認)
塚本さんが opie-MPlayerShell を紹介された時に opie-MPlayerShell の導入手順を説明したページを作成していたので、参考としてリンクしておきます。
メディアプレイヤーのフロントエンドを使うKino2 は SL-760、SL-C750、SL-C700 で動作する MPlayer の GUI フロントエンド(つまり、動画や音楽の再生ソフト)です。Qtopia ネイティブのアプリケーションなので、Java の実行環境は必要としません。以下のような特徴があります(公式サイトより)。
Kino2 の公式サイトから Download を選択して、kino2_0.21_arm.ipk をダウンロードした後、SL-C760、SL-C750、SL-C700 の本体メモリーにインストールします。
空のタブに Kino2 のアイコンが出来てしまいますが、これが嫌な方は「設定」のホーム画面にある「ホーム画面設定」で変更してやるか、ターミナル(端末ウィンドウ)から以下のように入力した後に再起動してください。
su mv /opt/QtPalmtop/apps/Multimedia/kino2.desktop /opt/QtPalmtop/apps/Applications rmdir /opt/QtPalmtop/apps/Multimedia exit exit
Kino2 ではデフォルトでフルスクリーン再生時に QVGA モードに切り替える設定が入っている為、SL-C700 ではフルスクリーン再生時に異常終了してしまいます。
また、ビデオチップ(w100)の機能を利用する vidix ドライバを使用する設定(enable overlay)が有効になっているので、再生時に一部画面が乱れます。これが嫌な場合は設定を変更しておくのが良いと思われます。
設定は Kino2 が起動した状態から、メニューバーの「File」→「Preferences...」の順に選択し、「Core」、「Video」、「Audio」の 3 つのタブごとに分かれている設定を必要に応じて変更します。
尚、キーボードだけでファイルの選択などを行いたい場合は、Menu キーを押して、カーソルキーで Open を選択し、Enter キーで決定、ファイル選択画面が表示されたら、Tab キーでファイル一覧部分を選択したら、カーソルキーでファイルの選択が、BS キーで 1 つ前のディレクトリが、Enter キーでファイルやディレクトリの決定が出来ます。
尚、Windows Media(*.asx、*.asf、*.wmv、*.wma)だけでなく、MPEG-1(*.mpg、*.mpeg)や MP3(*.mp3)もストリーミング再生が可能です。
メニューバーの「View」→「Fullscreen」を選択して、チェックを入れてから再生を行います。
メニューバーの「View」→「Scale」を選択して、チェックを入れてから再生を行います。
画面上のボタンで以下の操作が行えます。
フルスクリーン再生中に以下のキー操作が行えます。
尚、ウィンドウ再生時はカーソルキーでボタンの選択が、Space キーでボタンの実行、Menu キーでメニューの選択、Enter キーでメニューの選択が行えます。
Kino2 ではオーディオ CODEC を再生するためのライブラリを指定しても反映されない為、Windows Media Audio や u-Law、PCM 等が再生できません。そこで、ffmpeg が指定された時に ffmp2 のライブラリが使われるのを ffwmav2 に置きかえることで Windows Media Audio を再生できるようにしてみました。(同様に u-Law や PCM も再生できるかと思います。)
手順は簡単で Kino2 から呼び出している /usr/local/bin の mplayer を mplayer.bin にリネームして、代わりに mplayer の名前で以下のようなシェルスクリプトを用意し、パラメータに ffmp2 があれば ffwmav2 に置き換えて、mplayer.bin に引渡すようにしただけです。
#!/bin/sh for i in $* do if [ $i = "ffmp2" ] then j="$j ffwmav2" else j="$j $i" fi done /usr/local/bin/mplayer.bin $j
これを ipk 形式のパッケージにしてみました。File → Preferences から Audio の Decoder に ffmpeg を選択することで、以後 Windows Media Audio が再生できるようになります。
Kino2 WMA 対応パッチ ver.1.0SL ザウルス各機種での最適と思われる再生環境についてまとめてみました。SL-A300、SL-B500 については持っていないので憶測が混じっています。SL-C750 については SL-C760 と同様と考えて記述しています。
画面は QVGA(240×320)だが、mplayer の「-vop scale=」オプションで描画範囲を小さく指定することで、ビデオCD(352×240)等も再生可能と思われる。
GUI フロントエンドとして MPlayerShellEx が恐らく使用可能、mplayer のオプションを適宜設定することでフルスクリーン表示も可能と思われる。
ただし、他の SL ザウルスに比べて CPU パワーが劣る為、動画によってはスムーズに再生されないことが多々あると思われる。
画面は QVGA(240×320)だが、mplayer の「-vop scale=」オプションで描画範囲を小さく指定することで、ビデオCD(352×240)等も再生可能と思われる。
GUI フロントエンドとして MPlayerShellEx が使用可能。フルスクリーン表示も可能と思われる。
基本的に画面は VGA(640×480、480×640)だが、MPlayerShellEx や qpe-embeddedkonsole-ja ワイド版などで、アイコンを長押しすれば QVGA(240×320)にも設定可能。
GUI フロントエンドとして MPlayerShellEx も使用できるが、動作が軽い Kino2 がオススメ。ただし、QVGA でのフルスクリーン再生ならば ZEmuFrontEnd Ex を使うのが良いと思われる。
ちなみに、Kino2 では mplayer のオプション設定に一部問題がある為、Windows Media Audio 等が再生できない。この場合は MPlayerShellEx か ZEmuFrontEnd Ex を使用するか、ターミナルから mplayer を起動する必要がある。
基本的に画面は VGA(640×480、480×640)だが、MPlayerShellEx や qpe-embeddedkonsole-ja ワイド版などで、アイコンを長押しすれば QVGA(240×320)にも設定可能。
GUI フロントエンドとして MPlayerShellEx も使用できるが、動作が軽く、QVGA でのフルスクリーン表示も可能な Kino2 がオススメ。
ただし、Kino2 では mplayer のオプション設定に一部問題がある為、Windows Media Audio 等が再生できない。この場合は MPlayerShellEx を使用するか、ターミナルから mplayer を起動する必要がある。
参考として QVGA でターミナルを起動した場合に sample.mpg(MPEG-1 動画)をフルスクリーン再生する手順を下記に示しておく。Windows Media Audio を使用したファイルの場合は -ac mad を -ac ffwmav2 にすれば音声も再生されると思う。
mplayer -really-quiet -framedrop -dr -double -vo fbdev -ac mad -vop flip,mirror,scale=320:240 -fs sample.mpg
mplayer -really-quiet -framedrop -dr -double -vo fbdev -ac mad -vop rotate=1 -geometry 0:0 sample.mpg
AtiCoreDrive に手をつけられ、MPlayer で ATI IMAGEON 100 の機能を使い、オーバレイ表示を可能にされました。これによって、SL-C700 ではもっとパフォーマンスの良い動画再生が可能なのではないか?という気持ちが膨らみました。ありがとうございます。
MPlayer の具体的な使い方を解説すると共に、動画再生ソフト vlc を再パッケージ化されたりもしており、GUI フロントエンドが無い頃に ZEmuFrontEnd Ex を使った動画再生の手順を解説してくださいました。これによって、GUI フロントエンドの手軽さと重要性を再認識したと思います。ありがとうございます。
MPlayer の GUI フロントエンドを紹介してくださり、SL-C760 で動作しない Java のアプリケーションを動かすための修正手順の解説や、SL-C760 で動作するようにパッケージ化してくださいました。これにより、ずいぶんと操作が簡単な動画再生環境が整ったと思います。ありがとうございます。
MPlayerShell で MPlayer を呼び出す際の設定を自由に変更できるようにして、阿川さんの MPlayer を使えるようにしてくださいました。この mplayer のコマンドラインを自由に編集できることで、Kino2 の MPlayer を使ったり、事実上 MPlayer の汎用フロントエンドになったと思います。ありがとうございます。
Qtopia ネイティブな MPlayer の GUI フロントエンドアプリケーションで、阿川さんと同等の ATI IMAGEON 100 の機能を使ったオーバレイ表示が可能な MPlayer を搭載した Kino2 は事実上の決定版とも思えるくらいの衝撃がありました。まだ、ベータ版とのことなので今後に期待したいところです。ありがとうございました。
その他にも、阿川さんの MPlayer をいち早くインストールして見せてくれた TAKETYON 氏、阿川さんの MPlayer の導入方法を詳細に解説してくださったモバチキさん、動画再生に関する考察をされておられるへるつさん、色々な方の情報があったおかげで今の動画再生環境があるように思います。ありがとうございます。