2012-02-24 15 views
0

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

ありがとうございました

答えて

-1

はい、できます。 *

*条件が適用されます - あなたはあなたの場合はいいえ、それは今だけのアプリケーション

を介して行うことができない

  • より正確に中間層、mediaframe仕事へのアクセスを必要とする

      • あなたがFroyoを使用していると仮定して、上記、使用されるデフォルトのmediaframe作業はバッファがmVideoSourceから読み取られた後、あなたのアプリケーションでこれをリンク元の解像度

      でビデオフレームにアクセスするためにmVideoBufferを使用する方法onVideoEventに行くStageFrightでStageFright

    • です -

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

      EDIT: 再録音やカメラパス中に画面キャプチャのために求めていた、あなたの質問をお読みください。このためにも、アプリケーション単独でこれを達成する方法はありませんが、同様のことをする必要がありますが、StageFrightフレームワークでCameraSourceにアクセスする必要があります。

  • +0

    私はビデオを録画するときにスクリーンキャプチャについて話していました。 mVideoSourceとmVideoBufferのリソースを見つけるのに問題があります。トピックに関する詳細情報を得る方法についてはアドバイスを受けています。ありがとう – Saad

    +0

    これはメディアフレームの作業レベルで、Javaレイヤーの下にあります。あなたがアンドロイドのソースコードを持っているなら、それはこのプロジェクトにあります/android/frameworks/base/media/libstagefright/AwesomePlayer.cpp – bluefalcon

    +0

    アンドロイドフレームワードを修正すると、私のアプリを実行する必要があるクライアントを意味しません – Saad

    関連する問題