2017-01-25 7 views
0

저는 무인 항공기 뷰를 시각적으로 시각화 한 안드로이드 모바일 앱에서 작업하고 있습니다. (특히 저는 DJI Phantom 3 Professional을 사용하고 있습니다. 상대 SDK). 저는 AR 부분에 Wikitude 프레임 워크를 사용하고 있습니다. 모든 Wikitude 샘플은 스마트 폰의 카메라보기를 보완하여 작동하므로 입력 비디오 스트림을 리디렉션해야합니다. 이 단계에서는 DJI SDK 기능을 사용하여 무인기에서 오는 올바르게 디코딩 된 스트림을 포함하는 TextureView 객체를 갖게되었습니다. 에 도시 된 바와 같이,Wikitude ArchitectView의 카메라 스트림을 외부 비디오 스트림으로 바꿉니다.

<TextureView 
    android:id="@+id/video_previewer_surface" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:layout_centerHorizontal="true" 
    android:layout_above="@+id/linearLayout" /> 

사실, 위키 튜드 (Wikitude) 설계자보기가 카메라 스트림과 확대의 렌더링의 렌더링에 의해 구성되어있다 : 다음 는 현재 뷰의 xml 파일의 상단에 상대적 지침입니다 다음 그림 : Architect View Composition

sample_cam.xml 파일 :

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="horizontal"> 

    <com.wikitude.architect.ArchitectView 
     android:id="@+id/architectView" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 
</LinearLayout> 

승 위키 튜드 (Wikitude) 설계자보기의 현재 카메라 스트림을 대체 할 수있는 방법이 있나요 내 내용은 내 TextureView?

또는 ArchitectView의 카메라 스트림을 투명 배경으로 사용하여이 레이어를 TextureView 하나와 겹치게 만들 수 있습니까?

<TextureView 
    android:id="@+id/video_previewer_surface" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:layout_centerHorizontal="true" 
    android:layout_above="@+id/linearLayout" /> 
<com.wikitude.architect.ArchitectView // with transparent background for camera 
    android:id="@+id/architectView" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"/> 
+0

당신이 언급 한 문제는 Input Plugin의 문제인 것 같습니다. NV21 대신 YV12 형식의 프레임 데이터를 전달하십시오. – Alex

답변

0

당신은 dji's Video Stream Decoding과 함께 자신의 Wikitude Input Plugin을 구현할 수 :

다음

은 .XML 최종 파일의 코드의 일부분이 될 수 있습니다. 따라서 dji sdk에서 원시 비디오 데이터를 가져 와서 wikitude sdk로 전달하십시오. Input Plugin에 대한 샘플 코드는 샘플 이름이 "Custom Camera"인 wikitude 샘플 앱에서 찾을 수 있습니다.