正在上传图片(0/1)

使用Mobile SDK LiveStreamManager进行推流经常中断问题

 0
手机看帖 3 2006
使用Mobile SDK中的LiveStreamManager调用setLiveUrl后调用startStream开始向Flash Media Server进行RTMP推流,发现推流经常中断,Android Studio日志显示如下图,当出现红框中的Log信息时推流正常,当出现红框下方的Log信息时推流已中断,两种Log的区别是中断后不显示E/Lightbridge相关的红色行。这种中断经常发生,不知为什么?恳请解答。程序代码如下所示。

代码:
//开始RTMP推流
public static void startRTMP(final int delay){
    new Thread(new Runnable() {
        @Override
        public void run() {
            if(delay > 0) {
                try {
                    Thread.sleep(4000);
                }
                catch (InterruptedException e) {
                }
            }
            LiveStreamManager liveStreamManager = ModuleVerificationUtil.getLiveStreamManager();
            if(liveStreamManager == null){
                MApplication.toast("找不到LiveStreamManager");
                return;
            } else if(liveStreamManager.isStreaming()){
                MApplication.toast("已启动推流");
                return;
            } else {
                String url = String.format("rtmp://%s/live/stream", SettingsUtil.getRemoteAddress());
                liveStreamManager.setLiveUrl(url);
                liveStreamManager.setStartTime();
                liveStreamManager.setVideoEncodingEnabled(true);
                liveStreamManager.setAudioStreamingEnabled(false);
                liveStreamManager.setVideoSource(LiveStreamManager.LiveStreamVideoSource.Primary);
                liveStreamManager.startStream();
                if (liveStreamManager.isStreaming()) {
                    //Log.d(TAG, "start RTMP at " + url);
                    MApplication.toast("启动RTMP推流成功,URL=" + url);
                } else {
                    MApplication.toast("启动RTMP推流失败,URL=" + url);
                }
            }
        }
    }).start();
}
public static void stopRTMP(){
    LiveStreamManager liveStreamManager = ModuleVerificationUtil.getLiveStreamManager();
    if(liveStreamManager == null){
        MApplication.toast("找不到LiveStreamManager");
        return;
    } else if(!liveStreamManager.isStreaming()){
        MApplication.toast("RTMP推流已经停止");
    } else {
        liveStreamManager.stopStream();
        if(liveStreamManager.isStreaming()) {
            MApplication.toast("RTMP推流停止失败");
        } else {
            MApplication.toast("RTMP推流成功停止");

        }
    }
}

评论
上传
你需要登录之后才能回帖    登录 | 注册
想养一条边牧  Mavic 2 Pro认证用户 2020-11-23 5#
whj8808cn11-20 19:49
官方demo也一样,在室内会频繁中断,在室外偶尔中断,中断后就无法恢复,但平板上的App图像正常
可以再试试对比下DJI GO4, 确认下是不是推流服务器或者你网络的问题
取消 点赞 评论
分享至:
回复:
上传
取消 评论
快速回复 返回顶部 返回列表