转推流时总是走onError
private String[] getPushRTMPAliCommand(String rtspAddress) { //RTSP转RTMP,推流到云端 RxFFmpegCommandList cmdlist = new RxFFmpegCommandList();
cmdlist.append("-i");//输入
cmdlist.append(rtspAddress); //获取视频流的地址:网络摄像头的RTSP地址
cmdlist.append("-vcodec"); //视频编解码器
cmdlist.append("copy"); //流复制
cmdlist.append("-acodec"); //音频编解码器
cmdlist.append("copy"); //流复制
cmdlist.append("-f"); //输出
cmdlist.append("flv"); //格式
cmdlist.append("rtmp://source.unifun.store/insbot/" + robotId); //推送到云服务端,播放地址:rtmp://play.unifun.store/insbot/mssm_live
return cmdlist.build();
}
public void startPush() { ULog.d(TAG, "startPush == 网络摄像头开始转推流"); if (onWebCameraPushListener != null) { myRxFFmpegSubscriber = new MyRxFFmpegSubscriber(onWebCameraPushListener); } //开始推流 new Thread(new Runnable() { @Override public void run() { try { RxFFmpegInvoke.getInstance() .runCommandRxJava(getPushRTMPAliCommand(ADDRESS_RTSP_ZSHT))//运行指令 .subscribe(myRxFFmpegSubscriber);//设置观察者 } catch (Throwable e) { ULog.e(TAG, "startPush == 转推流发生错误!!! === " + e.getMessage()); } } }).start(); } 我这里是把一个网络摄像头rtsp流转推到阿里云,转推流时能推一会,几分钟后就走onError回调了,网络摄像头那边没问题,一直是可以ping通的,请问下为什么转推失败?
可能连接断了吧,可以重连接~