Java DJI SDK:更改传入视频流的分辨率。还有,破框

Java DJI SDK:更改传入视频流的分辨率。还有,破框,java,dji-sdk,Java,Dji Sdk,我通过VideoFeeder从PrimaryVideoFeed接收原始H264视频,并将其发送给DJICodecManager。 使用DJI Phantom 4,YuvDataCallback接收高清(1280x720)分辨率的正确视频帧。使用DJI Phantom 4 Advanced和HDMI(第54部分)模块,它可以接收中断的全高清(1920x1080)视频帧。下面是它的外观: 从图像处理的经验来看,当二进制数据不是声明的格式时,就会发生这样的事情,但这并没有多大帮助 因此,出现了两个问

我通过VideoFeeder从PrimaryVideoFeed接收原始H264视频,并将其发送给DJICodecManager。 使用DJI Phantom 4,YuvDataCallback接收高清(1280x720)分辨率的正确视频帧。使用DJI Phantom 4 Advanced和HDMI(第54部分)模块,它可以接收中断的全高清(1920x1080)视频帧。下面是它的外观:

从图像处理的经验来看,当二进制数据不是声明的格式时,就会发生这样的事情,但这并没有多大帮助

因此,出现了两个问题:

  • 是否可以选择传入视频流的分辨率?如果是,怎么做

  • P4 Advanced的视频帧会发生什么变化?它的实际格式是什么?如何修复它

  • 以下是视频流初始化源代码:

    DJICodecManager  mCodecManager_ = new DJICodecManager(workContext, null, 0, 0, UsbAccessoryService.VideoStreamSource.Camera);
    VideoFeeder.getInstance().getPrimaryVideoFeed().addVideoDataListener((bytes, size) ->  mCodecManager_.sendDataToDecoder(bytes, size));
    mCodecManager_.enabledYuvData(true);
    mCodecManager_.setYuvDataCallback(yuv_handler_); 
    
    好吧,根据,改变P4 Advanced的分辨率是不可能的-你根本无法做到这一点。从DJI的官方支持那里得到消息

    你会找到#2的答案