- PR -

java.awt.image.BufferedImage -> .mov

投稿者投稿内容
kosuke
常連さん
会議室デビュー日: 2005/03/24
投稿数: 48
投稿日時: 2005-09-09 17:04
質問があります。http://lists.apple.com/archives/QuickTime-java/2002/Jan/msg00055.html
を参考にして
java.awt.image.BufferedImageを.mov形式で保存しようとしています。

参考ページには
once you have the handle you can make a mov easy enough
と書いているのですが、handleを作った後の
.movファイルの作成の方法が分かりません。

どなたか教えて頂けないでしょうか
TMT
会議室デビュー日: 2005/01/07
投稿数: 18
投稿日時: 2005-09-12 01:00
http://www.informit.com/guides/content.asp?g=java&seqNum=73&rl=1

Movie mov = Movie.fromHandle(handle)

のようですよ。

[ メッセージ編集済み 編集者: TMT 編集日時 2005-09-12 01:44 ]
kosuke
常連さん
会議室デビュー日: 2005/03/24
投稿数: 48
投稿日時: 2005-09-12 18:55
返信ありがとうございます。
早速やってみましたが、以下のようなエラーが発生しました。
badPublicMovieAtom

そこで以下のように変更してみました。
DataRef qtDataRef = new DataRef(handle);
Movie movie = Movie.fromDataRef(qtDataRef, StdQTConstants4.newMovieAsyncOK);
すると以下のようなエラーが発生しました。
invalidDataRef

自分でも現在調査中ですが、
どなたか解決のヒントをお願いいたします。
TMT
会議室デビュー日: 2005/01/07
投稿数: 18
投稿日時: 2005-09-12 23:47
同様な問題を解決しているのを見つけました。

DataRef qtDataRef = new DataRef(qtHandle, StdQTConstants.kDataRefMimeTypeTag, fileMimeType);
Movie movie = Movie.fromDataRef(qtDataRef, StdQTConstants4.newMovieAsyncOK);

ただし、
fileMimeType (String) is a corresponding mimetype (eg "audio/mp4"):
これがキーなようですよ。
kosuke
常連さん
会議室デビュー日: 2005/03/24
投稿数: 48
投稿日時: 2005-09-13 17:21
返信ありがとうございます。
fileMimeTypeのところですが、
"image/jpeg"
"image/tiff"
"image/gif"
等あるようです。
以下のようなコードにしました。

-------------
QTHandle handle = new QTHandle(dataBytes);
DataRef qtDataRef = new DataRef(handle, StdQTConstants.kDataRefMimeTypeTag,                    "image/jpeg");
Movie movie = Movie.fromDataRef(qtDataRef, StdQTConstants4.newMovieAsyncOK);
-------------

すると前回と同様にinvalidDataRefのエラーが発生してしまいます。
MimeTypeを上記のものと変えても結果は同じでした。
dataByteの作り方がおかしいのかなとも思い始めています。
しかし、qtDataRefを作成するところではエラーは発生せずに、
movieを作るところでinvalidDataRefが発生しています。

なかなか思い通りにいかない状況です。
ご教示いただけると幸いです。
TMT
会議室デビュー日: 2005/01/07
投稿数: 18
投稿日時: 2005-09-13 17:38
jpegをQuickTimeで表示させるのでしょうか?

メモリ内からでしょうか?ファイルからでしょうか?

[ メッセージ編集済み 編集者: TMT 編集日時 2005-09-13 17:45 ]
kosuke
常連さん
会議室デビュー日: 2005/03/24
投稿数: 48
投稿日時: 2005-09-13 18:16
説明不足で申し訳ありません。

quicktimeで表示させた画像を
java.awt.image.BufferedImageに変換して(ここまでは出来ています。)、
それをjpegにして、動画(.movとか)の形式にしたいと思っています。

BufferedImageをdiskに保存する方法が分からなかったため、
1フレームずつjpegにはきだして、ムービートラックに追加できないかと
思っています。
TMT
会議室デビュー日: 2005/01/07
投稿数: 18
投稿日時: 2005-09-13 18:52
残念ながらメモリ内からの操作は皆苦労しているようです。
Graphicを書き込むといけるという話もあるようですが、
どうやら単純にはAPIが機能しないようです。

ただ、http://... ftp://... のようなロケーションからだといいようですので、
画像をファイルにしてやったらいかがでしょうか。

スキルアップ/キャリアアップ(JOB@IT)