2010年07月09日

PC用Javaでの各種メディアフォーマット再生

一応、NiconizerはWindowsでも動作することを目標としていますが、Sun(Oracle?)からリリースされているJMF標準実装はサポートしているフォーマットが貧弱で、とても使う気になりません。

しかし、需要あるところに供給あり。FMJ(Freedom in Media In Java)というJMF互換ライブラリが出ています。これはインタフェースはJMFでOS毎のメディア再生フレームワークを呼び出すようになっています。

Windowsの場合、そこから一式をダウンロードして、その中をfmj.jarとjdshow.dllを取り出し、classpathにfmj.jarを設定し、jdshow.dllにパスを通すことで、DirectShowでサポートされている一通りのファイルが再生できます。

ただし、残念なことに、次のような制限があります。

  • 画面サイズの動的な変更に追従しない
  • 再生用のUIをない(些細なことですが)
  • デフォルトではrm(Real Media)やm2tsなどの拡張子が登録されておらず、"unknown content type"となります(MimeManager.javaをいじればよさそう)
  

Posted by bdjatwiki at 00:00Comments(0)TrackBack(0)

2010年05月23日

JLayerME 0.1.3

MP3再生ライブラリ

JLayerME

JavaSEでは問題なく動作しました。

デコード自体はBD-Jでも動作するでしょうが、再生までには今思いつくだけで以下の課題が残っています。

サンプリング周波数変換
一般的なMP3は44.1kHzですが、BDでは48kHzであるため、正しく再生するためにはサンプリング周波数の変換(リサンプリングとローパスフィルタリング)をしなければなりません。
Clip AV Stream等の生成
Interactive Audioだと精々数十秒しか再生できないため、Clip AV Stream等および管理情報を生成する必要があります

ライセンス

GNU LESSER GENERAL PUBLIC LICENSE

Version 2.1, February 1999

  
Posted by bdjatwiki at 15:54Comments(0)TrackBack(0)

JpegEncoder

JPEGエンコードライブラリ

JpegEncoder

JavaSEでは問題なく実行できました。BD-Jでも変更なしで動作しそうです。

ライセンス

The JpegEncoder and its associated classes are Copyright (c) 1998,

James R. Weeks and BioElectroMech. This software is based in part on

the work of the Independent JPEG Group.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are

met:

1. Redistributions of source code must retain the above copyright

notice, this list of conditions, all files included with the source

code, and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND

ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS

BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR

CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR

BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,

WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE

OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN

IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  
Posted by bdjatwiki at 15:51Comments(0)TrackBack(0)