Pergunta sobre a Imagem em tempo Real do envio de dados a partir de drones

0

Pergunta

Eu tenho uma pergunta para o desenvolvimento de uma função...

Estou a desenvolver uma função que recebe dados de imagem a partir de 2 de drones(4 Phantom Avançada, Inspirar 2) em tempo real e mescla-los.

Para o teste, eu tentei receber uma imagem, mas levou um longo tempo para receber..

aqui é o meu 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!");
            }
        });

Eu uso shootphotomode e setmediafilecallback para enviá-lo para o meu Telefone..

Há outros meios para receber dados em tempo real?

Eu estou sempre de perceber que você levar um par de tempo para ler o meu problema ... muito Obrigado!

1

Melhor resposta

0

Fullres fotos levar um longo tempo, você não pode fazer nada sobre isso. Isso nunca vai ser em tempo real.

Se você precisa de imagem em tempo real, você deve pegar os quadros da fpv livestream, que é lowres e 720p/1080p h.264 codificado. Este é em tempo real, com cerca de 200 ms de atraso, como o que você vê na fpvview.

Eu normalmente apenas exportar um bitmap de fpvview, que é a forma mais rápida, desde que você não precisa descodificar 264. Pode facilmente ler a 60fps com esse método.

2021-11-25 21:45:01

Em outros idiomas

Esta página está em outros idiomas

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