• スポンサードリンク

Android5.xやとUVCカメラから音を取り込めるみたい

今2.0.2の最終テストをしてて気がついたんやけど、Android5.0にアップデートしたNexus5でUsbWebCamera/UsbWebCameraProアプリでUVCカメラからの音声が録音出来てた\(^o^)/

でもちょっと試した感じではNexus9ではだめやった(´・ω・`)なんか設定があるのかも。
それともタブレットはだめでスマホはいけるんかな?
Android5.xではUSBオーディオをサポートしたと言う事でもしかしたら音声の入力ソースの設定とかでUACの音声を取り込めるようになるのかな。自前でUACのドライバ作らんでええんかなぁ(^_^)

« »

  • スポンサードリンク

コメント

  • ElephantMaster.KOBE より:

    「ケーブル換えたから・・・・・」と言われると、やはり「私の端末が不安定・・・・。」というところになってくるかと思います。
    現在の状況としましては、単純なホストケーブルでも、給電ケーブル付きケーブルでも、640×480の動画はほぼ思う通りに録画できています。
    但し、相変わらず音声なしで、音声の設定をすると録画を止めた時点で落ち、端末がフリーズしてしまいます。(2台共に。)
    ところで、"内蔵マイク"とは"端末のマイク"それとも"カメラに内蔵されているマイク"のどちらを意味しますか?←この質問以前にしましたでしょうか??
    これまでいろいろサポートいただいたおかげで、私の端末上では恐らくほぼ仕様通りに動いている事だと思いますが、ここまで来たら私の端末では音声を録りたいです。
    カメラも解像度が異なる3種類持っていますが、やはり動作確認済みのモノでやった方が良いのでしょうか?!・・・・と言っても、そこまでの財力はないんですが。

    • saki より:

      明けましておめでとうございます。本年もよろしくお願いします。

      「内蔵マイク」とはスマホ・タブレットのマイクです。
      でも、自分のNexus5はAndoird5.xにアップデートしたところカメラ内蔵のマイクからも音声をとれるようになってました。おそらくAndroid5.xからサポートされたUSBオーディオ機能のおかげのようです。Android5.xであれば他の機種でカメラから音声をとれるのかどうかとはよくわかりません。今のところ自ライブラリ内ではUAC(USB Audio Class)の処理をしてないので少なくともAndroid4.xの端末ではカメラ内蔵のマイクからは音声を取得できません。
      音声付きでの録画の件ですが、こっちはおそらく端末の動画関係・・・音声の取得かエンコードの際のパラメータがうまく設定できてないんだろうなぁとは思っているのですが・・・Androidは動画周りは特にベストプラクティスがはっきりしていないのが多いんですよね~。次のバージョンで音声周りを少し変えるのでもしかすると改善するかもしれません。
      自分も財力は無いですがカメラも端末もそれなりに転がってます・・・でも残念ながらF-05Eは持ってないです。
      よろしくお願いします。

  • ElephantMaster.KOBE より:

    こんばんわ
    今日は出かけたついでに、カメラに電源供給出来る様に"二股OTGケーブル"を購入して走ってみました。
    電源"供給する/しない"は、電源側のケーブルを"接続/未接続"というやり方。
    いろいろな条件で動画を撮ってみましたが、これまでレポートしてきた事がウソの様に問題なしでした。
    但し、15分の動画も撮れました。
    相変わらず、音声はダメですが・・・・・・。
    単に私の端末のシステム不安定だけだったのか?
    明日も片道20分くらいの場所に用事があって車で往復しますので、別のカメラで試験してみます。
    それと直接お伝えした方が良いかもしれない事が出てくるかもしれませんので、その際はよろしくお願いいたします。
    そうそう、sakiさんは"電気・電子は専門では無いですが"との事ですが、私と反対ですね。
    私の本職は電気電子系に近く、ソフトは????です。

    • saki より:

      こんばんは
      問題なく動くようになって良かったです。
      うーん、電源供給と言うよりもしかするとケーブルを変えたからか、データ回線を繋いでないからかですかね。WiFiよりも電話のデータ回線の方が電気食いますよね。

      自分の一番の専門は化学・・・表面処理系です(細かい話は大人の事情で書きませんが)。
      と言っても液管理用のコントローラーのハードウエアもその組み込み用のソフトウエア(アセンブラ・C/C++ on uItron/自家製モニター)も、それにアクセスするPC側のソフト(C/C++/Delphi on Windows)も作ったり制御のPLCのラダー(on 三菱のFXシリーズ)書いたりもしてましたし、表面処理用の設備の仕様を決めたり機械屋さん電気屋さん向けに図面描いたりもしてたので・・・まぁ何でも屋さんですね。
      自分の関係してたような分野だと機械屋さんも電気屋さん(町の電気屋では無くて制御系の機器を作ったする方の電気屋さん)もソフト屋さんもはっきり言って勉強不足な人ばっかりでこっちから歩み寄ってあげないととんでもないものを作ってくるんですよ〜(●`ε´●)何度現場で泣きを見たことか(泣)
      外国語の勉強の際に単語や文法を覚えただけでは殆ど何の役にも立たなくて相手の文化的背景等を知る必要があるじゃないですか。装置の技術仕様にしてもそうなっている設備側・制御側・薬液側等の技術的背景を把握してないと、言われたから作っただけ、みたいなことになってしまうんですよね。

  • ElephantMaster.KOBE より:

    こんばんわ。
    設定項目の意味説明、参考にさせていただきます。
    ありがとうございました。
    ところで、マニュアルに追記と言われていますが、どこにあるのでしょうか?

    セルフパワーのUSBハブですが、今後は別として現在はカメラだけを接続するという事で、OTGケーブルにその機能があれば良いのでしょうか?
    ネットで調べてみると、そういうケーブルが数百円で売っているみたい!
    例えば、 http://www.ksdenki.com/ec/commodity/00000000/4937925918119 とか。
    普通のOTGケーブルは百均で売っていますので、手持ちのセルフパワーHUBを車載出来る様に改造してみようと思います。

    • saki より:

      マニュアルは<a href="http://serenegiant.com/blog/?page_id=1815" title="UsbWebカメラアプリの使い方" target="_blank" rel="nofollow">ここ</a>です。<a href="http://serenegiant.com/blog/?p=1687" title="UsbWebカメラアプリの動作確認" target="_blank" rel="nofollow">こっち</a>にも動作確認等を載せてます。ぼちぼち更新なので・・・m(_ _)m

      自分もテスト用にY字ケーブル(補助電源ケーブル?)を持ってますが繋ぐ順が面倒なのと、繋ぐコネクタや線が増えて信号が歪むのか動かなくなる機種もあるので基本使ってないです。と言うか普段テストするのは家の中なので普通にセルフパワーのハブで十分なので・・・(^_^;)
      ちなみにOTGケーブル自体も、ケーブルとカメラ・端末の組み合わせによってはマイクロB側を抜き差ししないと動かない機種とUSBAコネクタ側で抜き差ししても大丈夫な機種があるので・・・電気・電子は専門では無いですが原則はマイクロB側で抜き差しですね、たぶん。

  • ElephantMaster.KOBE より:

    検証中断・・・・ではないのですが……。
    設定項目でわからない事があります。
    ●繰り返しキャプチャ休止回数
    ●動画キャプチャサイズを16の倍数
    ●小さいパケットを使う
    他すべての各設定項目について及びその意味の解説などのマニュアルはないですか?
    このサイトかGoogle Storeにあるのでしたら、まだ見つけ出せていません。
    よろしくお願いいたします。

    • saki より:

      すみません。近日中にマニュアルの方に追記します。英語のマニュアルも作ろうと思いつつm(_ _)m

      簡単には、
      ・繰り返しキャプチャ休止時間
       キャプチャ開始ボタンを長押しするとブルっとなって繰返しキャプチャモードになります。
       この状態では一定時間ごとに自動的に静止画または動画キャプチャを行います。
       キャプチャが実行終了してから次のキャプチャまでの時間をここで設定します。
       繰返しキャプチャモードでの動画録画時間は設定最大動画キャプチャ時間で、繰返しキャプチャ回数で
       指定した回数を繰返します。タイムラプスもどきですね。
      ・動画キャプチャサイズを16の倍数
       例えばNexus7(2012)のように動画キャプチャのサイズが縦横共に16の倍数でないとだめな端
       末があります。ですが、録画開始してみないとそうなのかどうかがわからないのです。なので
       例えばNexus7(2012)で1920×1080の動画キャプチャをすると、縦1080は16の倍数ではない
       ので1フレーム目の下端に緑の帯が入ったり色ずれが起こります。
       2フレーム目からはプログラム上で補正するので大丈夫なのですが、1フレーム目だけは端末の
       機種やCPUから推測することしか出来ないので、上記の様な不具合の出る機種の場合に設定をONに
       してください。
      ・小さいパケットを使う
       UVCカメラによっては、1回あたりに送るパケットのサイズを何種類か持っている場合があります。
       本来はUSBの帯域幅の調整のためですが、スマホの場合はPCより相対的に平均性能が低いので
       小さいパケットでやりとりした方がCPUの負荷が減ってパフォーマンスが良くなる・メモリ使用量が
       減る・・・かもしれないと言う事で設けています。
       殆どの機種はOFFで大丈夫だと思いますし、ONにすると映像が出なくなるカメラ-端末の組み合わせも
       あります。

      よろしくお願いします。

  • ElephantMaster.KOBE より:

    こんにちわ
    "もしかしたら"のその4、その5についての検証報告をしますね。
    【もしかしたら・その4】
    振動よるコネクタやケーブルの接触不良について
    コネクタを固定してケーブルを振り回したり、揺すったりしましたが、問題なしでした。
    また、コネクタにブーンって感じの振動を与えても大丈夫の様です。
    次の"その5"にもかかわってきますが、コンビニでの買い出しの間に駐車場にエンジンを切って車を止めて、無人状態の車中で録画していても十数秒で切れていました。
    【もしかしたら・その5】
    電磁的ノイズの影響は?
    これはEMCでいうと、EMSの方ですね。
    私もその可能性はあると思っていました。
    エンジンがかかっている状態では、それを疑うべきでしょう。
    しかし、前項の通り、エンジンを切った状態でも録画が切れたという事になりますので、その環境なら家の中の生活家電などによるノイズの影響の方が大きいのでは?!・・・と考える事が出来るかと思います。
    こんな事も考えてみました。
    【もしかしたら・その5】
    "LTEとWi-Fi"の切り替わりや"LTEと3G"の切り替わりとかの瞬間に切れ易いのでは?
    これについては、Wi-Fiを切って試してみましたが、現象は現象は再発しましたから、後者の可能性か?
    以前にもお伝えしておりますが、同じ機種で且つSIMカードを入れていないWi-Fiだけで使っている端末があります。
    それにはほとんどアプリを入れていませんので、本体の環境は綺麗だと思います。
    こちらの方でも車載実験してみます。

    • saki より:

      検証ありがとうございます。

      そう言えば自分がテストに使っている端末はどれもSIM無し・・・(-_-;)Nexus5には近いうちに音声通話無しのSIMを入れる予定ですが。
      車内固有というよりも家の中と外という感じなんですかね?
      あ〜携帯電話って確か通話してなくても定期的に基地局とやりとりをしてますよね?モデム側に電力を食われるとUSBポートへの電流出力が不安定になったりするのかも?機種依存が大きそうですが、セルフパワーのUSBハブを挟めばましになったりしないですか?(byセルフパワーのUSBハブ大好き人間(笑))
      昔は充電式電池内蔵のUSBハブもあったんですけど廃番になってしまってますね。
      アナライザとパソコン一式を積んでログ取りながら走り回ってみれば何かわかるかも・・・SIMが無いから今直ぐには無理ですけど。

      ちなみに、電話がかかってくれば録画もプレビューも止まります。

      追記:今しがた、Nexus5(Android5.0.1, SIM無し)とエレコムのUCAM-C0220FBRDを車に積んで、特に何の用と言うわけでもなく1時間ほど走り回ってきました。録画もプレビューも特に問題は無かったです。
      SIMの有無なのか端末依存なのか判りませんが。

      よろしくお願いします。

  • ElephantMaster.KOBE より:

    こんばんわ
    今後のバージョンアップの期待も含めて、開発費支援になるかわかりませんが、"Pro"にしたんですよ!
    それには関係はないとは思いますが、またレポートします。
    先ほど自家用車に持ち込んで、ドライビング動画を撮ってみました。
    そこでのレポートになります。
    "Pro"なので、録画時間を無制限にして出発進行~!
    しかし、何度やっても動画は数秒~1分程度で終わってしまいました。
    念のため本体を再起動しても・・・・・同じ。
    実は"Pro"にして試さずに車に持ち込んだので、帰宅して録画したら止まることなく録画していたので、自分で9分くらいで止めました。
    【もしかしたら・その1】
    暗い映像だと無信号と見なして自動的に切ってしまうのか?
    自宅で部屋の明るさをいろいろ変えて試しましたが問題なし!
    【もしかしたら・その2】
    録画中に端末の引力方向への向きを変えると、録画は停止しますね!
    これは仕様?どうしようもない?
    端末内蔵の動揺センサー?姿勢センサーが反応すると、録画は止まるのかな??
    【もしかしたら・その3】
    これはこちらの過失かもしれませんが、端末の温度??
    タブレットはカーナビ替わりで使うから、車に乗る時は運転していて見やすい&触りやすい場所に固定されるのですが、エアコンの風がモロに当る場所なんです。
    でも、車は日中動かしていないので、車内の温度は運転開始時点では外気を同じはずですし、上でエアコンの吹き出し口が背面にあると言っても、そこからはほとんど風は出ない。

    私の推測では、"その2"なのかな?と思っていますが、いかがでしょうか?

    • saki より:

      こんにちは。
      Pro版にしていただきありがとうございます。

      家では止まらずに車内では止まってしまう・・・自分ではまだ試したことはないので想像ですが、
      >>【もしかしたら・その1】
      明るさ・暗さはアプリ側では何もチェックしてないので、おそらくは関係ないと思います。カメラ側で出力を止めてしまう可能性は無きにしもあらずですが、手持ちのカメラではそんな仕様になっているのはありませんでした。
      >>【もしかしたら・その2】
      今のアプリ仕様ではバックブランド録画は対応していないので画面が回転すると録画停止します。
      設定で、画面の向きを縦か横固定にしていただければ端末の回転は関係なくなります(初期値はセンサーによって画面を回転させる設定です)
      バックグラウンドでの動作は将来のバージョンでサポート予定・・・技術的には可能で、GitHubにテストプロジェクトを上げているのでもしビルドできる環境があれば試していただければと思います(640×480固定ですが)。
      ちなみに、バックグラウンド録画の懸念点は、
      1)忘れて動かしたままにした時に、あっという間に電池がなくなりかねない(-_-;)
        セルフパワーのUSBハブを挟んでいれば多少はましですが、カメラを接続しているだけでアプリを止めていても一晩かからずに端末の電池がからっけつになるぐらいの電流が常時流れているので。カメラを外すのを忘れてて翌朝端末の電池がなくなっていた事が何度もありました(笑)過放電はリチウムイオン電池の寿命を一気に縮めてしまうので気を付けましょう(^o^)/
      2)忘れて録画したままにした時に、あっという間に外部記録媒体の空き容量がなくなりかねない(-_-;)
        ビットレートはかなり抑えているとは言え、例えば1920×1080だと1秒1MBぐらいにはなるので20分ほどでギガバイト超えのファイルが出来上がってしまいます。
      3)動かしていることを忘れてケーブルを抜いてしまった時に、一部機種で端末の再起動が必要になってしまう。
        これは今のアプリでも同じですが、画面が出ていない分余計にやっちゃうんじゃないかと想像します。
      4)アプリの内部構造ががっつり変わってしまう。
        本当はそろそろバックブランド録画対応版を出していたはずなんですけど、Android5.xで動かなくなっちゃったのの対応を優先したので、そっちが安定してからの予定にしてます。
      >>【もしかしたら・その3】
      端末が高温になると保護機能が働いてクロックを下げる等して処理速度が低下するはずなので温度は影響有るかもしれませんが、その場合は録画だけではなく映像自体が取れなくなってしまうと思います。
      【もしかしたら・その4】
      その2は画面回転の話でしたが、ケーブル&コネクタは振動すると接続が不安定になることが有ります。車内の物は常時ブルブル震えているわけなので。端末と端末付近のケーブルを車体からの振動からアイソレーションできるといいと思うのですが・・・簡易的には板状のものに端末とケーブルを固定して座席に乗せる感じですかね?
      【もしかしたら・その5】
      接続方法やケーブルの種類、取り付け位置等によるとは思うのですが、車内は結構電磁的ノイズの影響が大きい気がします。物理的には接続されていてもノイズの影響で電気的に瞬間的に切断されてしまうことがあるのかも。(セルフパワーの)USBハブを繋いでUSBハブ-端末間のケーブルを短くすると改善するかもしれないです。

      よろしくお願いします。

  • ElephantMaster.KOBE より:

    おはようございます。
    2.0.2にUPしての動作レポートです。
    これまではアプリの設定項目の「録音設定」を"無効"にしていましたが、今回初めて"内蔵マイク"にしてみました。
    すると、面白い現象というか、無料版ですので3分で録画は終わるはずが、3分を越えカウントしていきますので、5分までカウントしてから止めたらエラーでコケました。
    結局録画ファイルが作成されずです。
    「録音設定」"無効"にしたら正常に動作している様で、これまで通り3分で録画は終了し録画ファイルは生成されていました。
    こんなレポートが出来るのも、"録画時間表示"の要望に早速応えていただいていたおかげですね!
    開発の参考になりますでしょうか?!

    "画面レイアウト"についてですが、"録画時間カウント"の表示は、現在赤い録画ボタンの真上ににありますが、画面左下の"ON/OFF"の表示の右側などに移動できないでしょうか??
    早い話が、出来るだけ映像に被らない位置という事です。
    ご検討いただけたら幸いです。

    • saki より:

      おはようございます。フィードバックありがとうございます。

      あ〜やっぱりそうなるんですね。そうなるんじゃないかと思いつつ、そのカウンタは
      自前では停止しない仕様にしたんですよね。エンコーダーが開始すれば表示&カウント
      開始して、エンコーダーが停止すればそのイベントを受けて停止するような仕様です。
      別な言い方をするとカウンタ自体は自分が表示している時間のチェックはしていない
      仕様です。おそらく数フレームエンコードした地点でエンコーダー自体はほぼハング
      アップ状態になっていたんではないかと推測します。

      というのも、いくつかの機種では音声・映像の同時エンコードをすると開始処理や
      終了処理、あるいはエンコード処理自体がかなり遅延したりエンコーダー
      (MediaCodec)がハングアップに近い状態(終了要求は受け付ける事が多い)に
      なったりするようなのです。

      例えば、自分のGALAXY S3(SC-06D、Android4.1.2)だと録画ボタンを押してから
      実際にカウントが始まるまで数秒かかりますし、別件で教えて頂いた限りではGALAXY
      S3α(S3とはSoC自体が違うので名前は似てますがプログラマ側からすればまったくの
      別物)やXperia Z2f等でも似たような状況になるようです。これらの機種ではMediaCodec
      周りがなんか変な仕様になっているみたいです。
      とは言うものの標準のカメラアプリ等では録画出来てるので何らかの解決策が有るん
      ではないかと思ってます。もっとも普通はわざわざMediaCodecを使ったりしないから
      出来ているのかもしれませんが。

      カウントの位置についてですが、本当は左上にしたかたんですよねぇ。でも広告付き
      だとかなり画面の下の方に来てしまうと録画操作との関連がわかりやすかなと思って
      録画ボタンの上に付けてみたんですけど・・・
      ボタンの横だと表示高さが少しでも違うと違和感があって、上に乗っけてますが、
      もう少し場所は検討してみます。

      あっそういえば、自分のNexus5ではAndroid5.0にするとUSB接続したカメラからの
      音声を録音出来るようになってました。内蔵マイクを指定しているのに・・・
      自分のアプリ側の録音周りは何も変えてないのでもしかしたら、Android5.xから
      導入されたんUSBオーディオルーティング機能の影響かもしれません。

      よろしくお願いします。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*