0

ビデオ ストリームから YUV フレームを取得するさまざまな方法を検討してきましたが、私が見たもののほとんどは、previewSize から幅と高さを取得することに依存しています。ただし、携帯電話は 720p でビデオを撮影できますが、多くの電話はそれより低い解像度 (つまり 800x480) でしか表示できません。したがって、1920x1080 に近いスクリーンショットを取得することは可能ですか (ビデオが 720p で撮影されている場合)? または、プレビュー解像度 (一部の電話では 800x400) を使用する必要がありますか?

ありがとう

4

1 に答える 1

-1

はい、できます。*

* 適用条件 -

  • より正確には、中間層、メディアフレーム作業へのアクセスが必要です
  • いいえ、アプリだけではできません

メディアフレームの作業レベルでそれを行いたい場合は、次の手順を実行します -

  • Froyo以降を使用していると仮定すると、使用されるデフォルトのメディアフレーム作業はStageFrightです
  • StageFright ではonVideoEvent、バッファが読み込まれた後にメソッドに移動し、をmVideoSource使用mVideoBufferして元の解像度でビデオ フレームにアクセスします。

これをアプリケーションにリンクする -

  • スクリーン キャプチャを示すために、アプリケーションにボタンが必要になります。
  • ユーザーがこのボタンを押すと、上記の場所からビデオ フレームが読み取られ、このバッファが Java レイヤーに返されます。
  • ここから、JPEG エンコーダーを使用して生のビデオ フレームを画像に変換できます。

編集: 質問を読み直してください。録画中のスクリーン キャプチャまたはカメラ パスを求めていました。これについても、アプリケーションだけでこれを達成する方法はありません。同様のことを行う必要がありますがCameraSource、StageFright フレームワークでアクセスする必要があります。

于 2012-02-24T06:45:44.343 に答える