开发者社区> 问答> 正文

DJI SDK:如何更改输入视频流的分辨率。

我通过VideoFeeder从PrimaryVideoFeed接收了原始的H264视频,并将其发送到DJICodecManager。使用DJI Phantom 4,YuvDataCallback可以接收分辨率为HD(1280x720)的正确视频帧。配合DJI Phantom 4 Advanced和HDMI(第54部分)模块,它可以接收破碎的Full HD(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_);

展开
收起
垚tutu 2019-11-28 18:41:48 1646 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
从 SDK 到编解码:视频直播架构解析 立即下载
跨平台的云服务SDK需要什么 立即下载
一个跨平台的云服务SDK需要什么 立即下载