• スポンサードリンク

AndroidでTHETA Sから1920×1080@30fpsのh.264ストリームを取得して全天球表示できた\(^o^)/

紆余曲折あったけど、AndroidでTHETA Sから1920×1080@30fpsのh.264ストリームを取得して全天球表示できた\(^o^)/
全天球表示は、本家アプリに比べると少し解像度が低く見えるのと、正距円筒図法展開の方は継ぎ目が…あろ上下左右反転してもうてるのがまだ残念。

フレームディスクリプタには30fps(正確には29.97fps)とあるけど実際に取得&描画した結果は25-26fps@Nexus5x/Nexus6pぐらい。
タッチ操作で全天球表示を回してる最中は60fpsとかでるんで、GPUでの全天球展開とか正距円筒図法展開自体はボトルネックになってない。

プロトコルアナライザで見ると、1フレーム転送するのに3-3.5ミリ秒、周期はほぼ30ミリ秒間隔やから、カメラ側からはほぼ30fpsで届いとる。
受信してからMediaCodecのハードウエアデコーダーへ突っ込むまでの処理は、1920×1080でも60fps以上で処理できるように作ってあるから、ってことはh.264のハードウエアデコーダーの性能なんかなぁ。

しかしまぁいつも見るMJPEGで転送する時に比べると、同じ1920×1080の映像転送しててもh.264やとパケットがスッカスッカやわ。
しかも、MJPEGやとCPU(NEONは使っとるけど)をぶん回して展開するしかないのが、h.264だとSoC内蔵のハードウエアデコーダーで展開できるんで負荷が低くてええわぁ^^ 端末も熱くならんし。でも代わりにTHETA Sがだんだん熱くなってきた^^;

« »

  • スポンサードリンク

コメントを残す

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

*

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