5

デバイス自体から YouTube にビデオをアップロードできるように、ゲームのゲームプレイを記録しようとしています...iPhone 用の Talking tomcat アプリと同じことをしようとしています..ビデオを記録してから再生するなど...

フレームバッファデータを読み取り、AVFoundationフレームワークのAVAssetWriterの助けを借りてビデオに書き込むためにglReadPixels()を使用しています。ただし、各図面のデータを読み取ると、glReadPixels を使用している場合にのみ、FPS が約 30-35 から 2-3 に減少します。

Talking tomcat も Opengl ES の助けを借りて作成されていると思います。ビデオ録画機能もありますが、各フレームの読み取り中に速度が低下することはありません.... ?

4

2 に答える 2

8

誰かが同じことを実装したい場合に備えて..私は自分自身を理解しました。まず驚いたことに、Talking tomcat は 3D ゲーム アプリではなく、すべての動きにフレーム アニメーションを使用していることに気付きました。そのようなビューをキャプチャしたい場合は、次のコードを使用できます---

UIGraphicsBeginImageContext(self.view.bounds.size); //self.view.window.frame.size
[self.view.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *viewImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
UIImageWriteToSavedPhotosAlbum(viewImage, nil, nil, nil);

次に、そのフレームからビデオを作成するために AVAssetWriter を使用します。もちろん、他の投稿でそのコードを見つけることができます..私にとっては、3D部分をキャプチャする必要があるため、役に立ちません..乾杯

于 2011-08-18T11:20:10.710 に答える
0

質問は新しいものではありませんが、私は参加したいと思いました:

「Everyplay」と呼ばれるSDKを提供しており、あなたが探しているものを正確に行うことができます. 無料で使用でき、軽量です。

Unity3D、cocos2d (1.x、2.x)、cocos2d-x のすぐに使える統合を提供します。もちろん、カスタムの OpenGL ベースのゲーム エンジンに統合することもできます。

ドキュメントはhttps://developers.everyplay.com/docで入手できます。

ドキュメントには、開発時に使用するアプリ キーの例が含まれていますが、もちろんhttps://developers.everyplay.com/で独自のクライアント キーにサインアップできます。

于 2013-02-06T08:08:36.833 に答える