| コンテンツ | 前 | 次 | 目次 | JMF 2.0 API ガイド |
The JavaTM Media Framework (JMF) は Javaアプリケーションやアプレットで時系列メディアを組み込む為のアプリケーションプログラムインターフェース(API)です。 このガイドは、アプリケーションに時系列メディアを組み入れたいJavaプログラマ と JMFを拡張し追加メディア・タイプのカスタム処理・演出を実行するJMFプラグ・インの提供に興味のある技術供給者のために意図されます。
JMFについて
The JMF 1.0 API (the Java Media Player API) は時系列メディアを表示するJavaプログラムの開発を可能にします。.The JMF 2.0 API は フレームワークにメディアデータのキャプチャと格納、 再生中に実行される処理の制御、メディアストリーム上でのカスタム処理の実行の機能を拡張します。 さらに,JMF 2.0は、上級開発者および技術供給者がより容易にJMF機能性をカスタマイズし拡張することができるプラグ・インのAPIを定義します。
JMF 2.0 で新たに導入されたクラスとインターフェース:
さらに、
javax.media.bean.playerbeanには JMF API と一緒にMediaPlayerJava Bean が含まれています。MediaPlayerは直接実証することと一つまたはそれ以上のメディアストリームを表示することができます。JMF APIの将来のバージョンは現在のAPIとの互換性を維持しながら補足機能性および増強を提供するでしょう。
JMF API の為の設計目標
JMF 2.0 は メディアキャプチャ と アプリケーション開発者が要求するメディアの処理と演出のためのコントロール追加をサポートします。 メディアデータへの直接読み込みを提供するプラグイン構造とJMF をもっと容易にカスタム・拡張できるようにするプラグイン構造も提供します。JMF 2.0 は次の目的で設計されています:
- プログラミングを容易にする
- メディアデータのキャプチャをサポートする
- Javaでメディアストリームとメディア会議のアプリケーション開発を可能にする
- 高度技術者と技術供給者に 既存APIに基づいたカスタムソリューションの実装と既存フレームワークを用いた新しい特色の容易な改善 を可能にする
- 生メディアへの接続を提供する
- カスタムで, ダウンロード可能なデマルチプレクサ、コーデック、エフェクト処理,マルチプレクサ, レンダラ (JMF プラグイン)の開発を可能にする
- JMF 1.0 との互換性を維持する
JMF RTP API について
javax.media.rtp, javax.media.rtp.event、javax.media.rtp.rtcpにあるクラスはRTP(Real-Time Transport Protocol)のサポートを提供します。 RTP はネットワークを横断するリアルタイムメディアストリームを送受信可能にします。RTP はインターネット電話のようなインタラクティブサービスと同等のメディアオンデマンドアプリケーションにも使用する事ができます。JMF準拠の実装はjavax.media.rtp、
javax.media.rtp.event、 javax.media.rtp.rtcp 内の RTP API サポートを要求されません。 JMF の実装リファレンスは Sun Microsystems, Incより提供されていて IBM Corporation がそれらのAPIを完全にサポートしています。JMF RTP API (referred to as the RTP Session Manager API) の第一バージョンは 開発者がJMFを使って RTP ストリームの送受信と再生を可能にしました。JMF 2.0 でも、 the RTP API は RTP ストリームの送信をサポートします。
in JMF 2.0 で 新たに導入されたクラスとインターフェース:
SendStreamSendStreamListenerInactiveSendStreamEventActiveSendStreamEventSendPayloadChangeEventNewSendStreamEventGlobalTransmissionStatsTransmissionStatsRTP パッケージは 再編成され いくつかのクラス、インターフェース、いくつかのメソッドは APIを使いやすくする為に名称変更されました。パッケージの再編成は次から成ります:
- RTPイベントクラスはいままで
javax.media.rtp.sessionにありましたが、いまはjavax.media.rtp.eventに移りました。- RTCP関連クラスはいままで
javax.media.rtp.sessionにありましたが、いまはjavax.media.rtp.rtcpに移りました。javax.media.rtp.sessionにあった残りのクラスは いまではjavax.media.rtpに移り、javax.media.rtp.sessionのパッケージは削除されました。その名称変更は主にクラス名称とインターフェース名称からRTP と RTCP接頭辞を取り除いたもの、非標準略語の除去から成ります。 例えば、
RTPRecvStreamListenerはReceiveStreamListenerへ名称変更されました。 RTPパッケージ作成の為の変更点の完全な一覧を見たいときは、JMF 2.0 Beta のリリースノートを参照してください。さらに、RTP API は JMF 2.0 の他の変更点と互換性をもつように変更されました:
javax.media.rtp.session.ioとjavax.media.rtp.session.depacketizerは削除されました。現在はカスタムの RTP パケタイザ ・デパケタイザがJMF 2.0プラグイン構成でそれらをサポートしています。 既存のデパケタイザは新しいプラグ・イン構成に移行する必要があるでしょう。BufferはDePacketizedUnitとDePacketizedObjectの代わりに、現在SessionManagerとその他のJMFオブジェクト間の通信ユニットとして使われています。RTPフォーマットされたBuffersは それらのデータとヘッダオブジェクトの為の特定のフォーマットを備えています。BaseEncodingInfoは JMFFormatオブジェクト統括により再配置されました。 RTP特定のFormatは そのエンコーディング文字列によりその他のフォーマットと区別されます。RTP特定Formatsのエンコーディング文字列は_RTP接尾辞がつきます。動的なペイロード情報は、Formatオブジェクトに動的なペイロード番号を関連させることにより提供することができます。JMF RTP API の為の設計目標
JMF 2.0 の RTP API は RTP ストリーム の送受信をサポートしメディアストリームまたは会議アプリケーションにRTPを実装しようとしているアプリケーション開発者の需要を満たします。 それらのAPIは API の設計目的は次のとおりです:
- Javaでメディアストリームと会議アプリケーションの開発を可能にする
- RTPとRTCPを使いメディアデータの送受信をサポートする
- JMF 2.0 プラグイン構成を通してカスタムのパケタイザ・デパケタイザ プラグインをサポートする
- プログラムを容易にする
JMF APIの開発パートナー
The JMF 2.0 API はSun Microsystems, Inc と IBM Corporation が共同開発しています。
The JMF 1.0 API はSun Microsystems Inc、Intel Corporation、Silicon Graphics, Incが共同開発しました。
コンタクト情報
JMFについての最新情報については、Sun Microsystems, Incのウェブサイトを参照してください:
http://java.sun.com/products/java-media/jmf/JMF についての追加情報はIBM Corporation のウェブサイトでも確認できます:
http://www.software.ibm.com/net.media/このドキュメントについて
このドキュメントは JMF 2.0 API の 構成と使用方法を記述しています。それは、JMF 1.0リリースと共に分配されたJavaメディア・プレーヤー・ガイドを差し替えます。
著名されているところを除いて、この本に記されている情報は特殊な実装ではありません。 例えば JMF リファレンス の特殊な実装は Sun Microsystems と IBM corporation によって開発され、 サンプルコード とソリューション が Sun の JMF ウェブサイトから閲覧できます。 (
http://java.sun.com/products/java-media/jmf/index.html)。コンテンツガイド
- 第一章は JMF 2.0 API で提供される特徴について記述し、Javaアプリケーションおよびアプレットに時系列メディアを組み入れるために、あなたがどのようにJMFを使用することができるか例証します。
- 第二章は JMF RTP APIによって提供されるリアルタイムのストリーミングのサポートについて記述し、ネットワークを介してストリーミング・メディアを送り受け取る方法を例証します。
- 時系列メディアについての学習--の部では、メディアコンテンツ、 表示、 処理、記録の主な概念を紹介する事によりJMFのためのお膳立てをします。
- JMFの理解--の部では JMF 2.0 API を紹介し、高度なフレームワーク構成を解説します。
- JMFを使った時系列メディアの表示--の部では時系列メディアを表示するために
PlayersとProcessorsの使用法を解説します。- JMFを使った時系列メディアの処理--の部では
Processorを使ったメディアデータの操作法を解説します。- JMFを使った時系列メディアのキャプチャ--の部では
DataSourcesとProcessorsを使ったメディアデータの記録法を解説します。- JMFの拡張--の部では新しい処理プラグインを作りカスタムJMFクラスを実装する事でJMF機能性を増強する方法を解説します。
- リアルタイムメディアストリームについての学習--の部ではストリームメディアと RTP(Real-time Transport protocol)の概要を解説します。
- JMF RTP APIの理解--の部では JMF RTP APIを解説します。
- RTP メディアストリームの受信と表示--の部では RTP クライアントオペレーションの操作方法を例証します。
- RTP メディアストリームの送信--の部では RTP サーバオペレーションの操作方法を例証します。
- メディアストリームのインポートとエキスポート--の部ではRTP データをファイルに読み書きする方法を示します。
- カスタムのパケタイザとデパケタイザの作成--追加可能なRTP パケットフォーマットとコーデックをサポートする JMF プラグインの使用方法を記述します。
このドキュメントの最後には、これらの章で使われたいくつかの例のためのコードの完全なサンプルコード と JMF特有の用語の用語集 を含む付録がついています。
更新履歴
更新履歴の翻訳はとりあえず割愛しますVersion JMF 2.0 FCS
- Fixed references to
TrackControlmethods to reflect modifiedTrackControlAPI.- Fixed minor sample code errors.
- Clarified behavior of cloneable data sources.
- Clarified order of events when writing to a file.
Version 0.9
Version 0.8
- Added an introduction to RTP, Working with Real-Time Media Streams, and updated the RTP chapters.
- Updated to reflect API changes since the Early Access release.
- Added an example of registering a plug-in with the
PlugInManager.- Added chapter, figure, table, and example numbers and changed the example code style.
Version 0.7
JMF 2.0 Early Access Release 1 draft:
- Updated and expanded RTP chapters in Part 2.
- Added Demultiplexer example to "Extending JMF".
- Updated to reflect API changes since the public review.
Version 0.6
Version 0.5
JMF 2.0 API public review draft.
- Added new concepts chapter, "Working with Time-Based Media".
- Reorganized architecture information in "Understanding JMF".
- Incorporated RTP Guide as Part 2.
Version 0.4
JMF 2.0 API licensee review draft.
コメント
このドキュメントを改善するの為に 何か コメント または 提案 があれば どうぞ
jmf-comments@eng.sun.comまでメールを下さい。