1、我的需求是把无人机的视频推送到国标平台。 2、改造了官方DEMO,用VIDEOFEEDVIEW.JAVA里面的V...
已完成1、我的需求是把无人机的视频推送到国标平台。 2、改造了官方DEMO,用VIDEOFEEDVIEW.JAVA里面的VIDEOFEEDER.VIDEODATALISTENER()的ONRECEIVE方法回调的hvideoBuffer,然后直接推流出去,流程对不对? 3、我推流出去后,再播放 画面蓝屏了,请问有哪些方面的原因?ONRECEIVE获取的H264 是否需要再处理?
-
getPrimaryVideoFeed获取的是DJI格式的H.264所以只能用于显示,不使用LiveStreamManager无法推流。要想推流则必须要使用provideTranscodedVideoFeed或者把getPrimaryVideoFeed送到DJICodecManager做进一步解码称Yuv数据,看机型出数据,NV21和YUV420P都会有。要provideTranscodedVideoFeed出数据,你需要创造个DJICodecManager,在getPrimaryVideoFeed的回调里把数据送到解码器解码,后面会重新编码从provideTranscodedVideoFeed出数据。御2系列的飞机最特殊,什么都不用做,直接监听provideTranscodedVideoFeed就可以了。 -
我这边是在 getPrimaryVideoFeed的回调里调用sendDataToDecoder了,后面重新拿到了VideoFeed 实例,代码如下VideoFeeder.VideoFeed transFeed = VideoFeeder.getInstance().provideTranscodedVideoFeed();transFeed .addVideoDataListener(new VideoFeeder.VideoDataListener() {@Overridepublic void onReceive(byte[] bytes, int i) {//打印内容}});但是onReceive里面并没有回调 不知道是什么原因 原始的getPrimaryVideoFeed里面的onReceive回调是走的
请先登录再写评论。
评论
16 条评论