• スポンサードリンク

USBカメラから音&動画の同時キャプチャした〜い(その1)

Android Camera MediaCodec USB 非同期

先日、GitHubで公開しているライブラリ&サンプルプロジェクトUVCCameraに3つ目のサンプルプロジェクトを追加したので、その解説を書きたいと思います。

はじめに

まぁ予想はつくと思うと言うかタイトルに書いちゃってますけど、USB接続のカメラから映像を取り込んで、内蔵マイクの音声と一緒に動画(MPEG4)として保存するサンプルです。
簡単にいえば、これも先日公開した、内蔵カメラと内蔵マイクからMediaCodec&MediaMuxerで音声付きの動画を保存するサンプルプロジェクトAudioVideoRecordingSampleのUSBカメラ版です。と言っても同じ部分と違う部分が有るのでそこら辺を解説したいと思います。

ちなみに、USB接続のWebカメラから動画をキャプチャした〜い(^o^)/〜その3は公開する前に既に忘れ去られモード(^_^;)ちまちまと他の記事に分散して書いてしまったからなかったコトにしましょう。

全体像

screenshot_ 2014-09-02 6.12.38Javaのソースはこんな感じになっておりまする。
この内、encoderとglutils配下は前回記事

で紹介したAudioVideoRecordingSampleのと基本的に同じものです。EGLBaseとRenderHandlerは少しだけ修正してありますが、今回のサンプルとは直接関係ない変更です。

usb配下はDeviceFilter.javaのバグ修正とかがあるけど、USBCameraTesdt/USBCameraTest2と機能的には同じものです(USBCameraTesdt2、USBCameraTest3とUVCCamera/library/src以下に含まれているDeviceFilter.javaも修正してあります)。
では、どこが違うと言うと、MainActivity / UVCCameraTextureView / CameraViewInterfaceです。と言うより、CameraViewInterfaceは前2つのサンプルプロジェクトにはありませんでしたね。

では一番簡単な、CameraViewInterfaceから行きま〜す(^o^)/

CameraViewInterface

と言ってもinterfaceの名の通り大したことはありません。元々有ったAspectRatioViewInterfaceを継承してキャプチャ用のメソッドを追加しています。まぁ実際のところはinterfaceにする必要はないのですが、作っている最中に違うタイプのviewもテストしていたのでその名残ですね。4つ目の#captureStillImage以外は、USBCameraTesdt2のUVCCameraTextureViewクラス内で既に定義していました。

では次、少しでも簡単なMainActivityにしましょう。

MainActivity

USBカメラ関係の部分は基本的に同じなので省略です。一番違うのはキャプチャ関係です。

AudioVideoRecordingSampleからコピーしたらメソッド名まで変わっちゃった(笑)説明は必要ないですね(^_^;) はいはい、サクサク行きましょう、後がつかえているので。次は静止画のキャプチャです。

« »

  • スポンサードリンク

コメント

  • to that come to an end, The solution is helping put stress and anxiety entirely on business venture around the globe to steer the way.
    oakley glasses 2014 review http://www.mineralen-edelstenen.be/ok3news.html

%d人のブロガーが「いいね」をつけました。