Android用のMediapipeリアルタイムハンドトラッキングアプリケーションに取り組んでいます。提供されたデモは、SurfaceTexture のカメラ入力を使用しています。webrtcExternalOES
からのネットワーク ストリームを使用したいです。ネットワーク ストリームは YUV_I420 形式なので、RGB に変換し、このようにAndroidPacketCreatorを使用して RGB パケットを作成しています。
Packet imagePacket = packetCreator.createRgbaImageFrame(yuv_converted_bimap);
そしてそれをFrameProcessor
クラスのメディアパイプグラフに渡します
mediapipeGraph.addConsumablePacketToInputStream(
videoInputStream, imagePacket, custom_timestamp);
この方法ではすべてが正常に機能しますが、パフォーマンスのみが低下します。つまり、カメラ ストリームで 4 ~ 5 FPS を処理できる場合、この YUV から RGB へのアプローチでは 2 ~ 3 FPS しか処理されません。YUV ストリームを直接使用して mediapipe グラフを送信できる別のアプローチを見つけたいと思います。いくつかの調査を行いましたが、何も見つかりませんでした。誰でもそれを行う方法を知っていますか?