Pregunta acerca de la Imagen en tiempo Real de los datos de envío de drone

0

Pregunta

Tengo una pregunta para el desarrollo de una función...

Estoy desarrollando una función que recibe la imagen de datas de 2 drones(4 Phantom Avanzada, Inspirar 2) en tiempo real y los combina.

Para la prueba, traté de recibir una imagen, pero se tomó un largo tiempo para recibir..

aquí está mi código...

camera.setShootPhotoMode(photoMode, new CommonCallbacks.CompletionCallback() {
            @Override
            public void onResult(DJIError djiError) {
                if (null == djiError) {
                    mHandler.postDelayed(new Runnable() {
                        @Override
                        public void run() {
                            camera.startShootPhoto(new CommonCallbacks.CompletionCallback() {
                                @Override
                                public void onResult(DJIError djiError) {
                                    if (djiError == null) {
                                        showToast("take photo: success");
                                        //start 시간 찍고
                                        Log.d("Start Time: ", Long.toString(System.currentTimeMillis()));
                                    } else {
                                        showToast(djiError.getDescription());
                                    }
                                }
                            });
                        }
                    }, 2000);
                }
            }
        });
        //카메라 데이터 핸드폰에 저장
        camera.setMediaFileCallback(new MediaFile.Callback() {
            @Override
            public void onNewFile(@NonNull MediaFile mediaFile) {
                mediaFile.fetchFileData(file, "imageData", new DownloadListener<String>() {
                    @Override
                    public void onStart() {
                        showToast("Start downloading.");
                    }

                    @Override
                    public void onRateUpdate(long l, long l1, long l2) {

                    }

                    @Override
                    public void onRealtimeDataUpdate(byte[] bytes, long l, boolean b) {

                    }

                    @Override
                    public void onProgress(long l, long l1) {

                    }

                    @Override
                    public void onSuccess(String s) {
                        showToast("Download Succeed.");
                        //end time
                        Log.d("End Time: ", Long.toString(System.currentTimeMillis()));
                    }

                    @Override
                    public void onFailure(DJIError djiError) {
                        if(djiError != null){
                            showToast("Failed..");
                            //end time
                            Log.d("End Time: ", Long.toString(System.currentTimeMillis()));
                        }
                    }
                });
                showToast("Image is successfully Saved");
                Log.d("Camera Image Transfer: ", "Succeed!");
            }
        });

Yo uso shootphotomode y setmediafilecallback enviar a mi Teléfono..

Hay otras maneras para recibir datos en tiempo real?

Siempre estoy consciente de que usted tome un par de tiempo para leer mi problema..muchas Gracias!

1

Mejor respuesta

0

Fullres fotos tomar un largo tiempo, usted no puede hacer nada acerca de eso. Esto nunca va a ser en tiempo real.

Si usted necesita tiempo real de la imagen, debe agarrar los marcos de la fpv livestream, que es lowres y 720p/1080p h264 codificado. Esto es en tiempo real, con cerca de 200 ms de retardo, como la que vemos en fpvview.

Normalmente yo sólo exportar un mapa de bits de la fpvview, que es la forma más rápida, ya que no es necesario para decodificar 264. Pueden leer fácilmente los 60 fps con ese método.

2021-11-25 21:45:01

En otros idiomas

Esta página está en otros idiomas

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Slovenský
..................................................................................................................