混流

混流

混流主要用于多路流混成一路流,然后转推出去,可以通过VLC等播放器播放的场景。

步骤

1、开始混流

开始混流调用如下方法:

startMixStream(CCStreamMixConfig mixConfig)

2、更新混流布局

调用如下方法:

updateMixStreamConfig(CCStreamMixConfig mixConfig)

3、实现混流结果回调

当调用了开始混流方法后,就会触发IRoomCallback接口中的混流结果回调方法。可在回调方法中处理混流返回的结果。

//code 0:成功, 其他:失败
void onMixStreamResult(int code)

4、停止混流

调用如下方法:

stopMixStream() 

5、实现方法(示例代码)

        //混流配置
    CCStreamMixConfig mixConfig = new CCStreamMixConfig();
    mixConfig.setRtmpAddress("");//填写自己的混流地址,目前只支持RTMP协议混流地址
    String mMixBitrate = mSharedPreferences.getString("mix_bitrate", "1200000");
    mixConfig.setOutputVideoBitrate(Integer.parseInt(mMixBitrate) / 1000);

    mixConfig.setOutputWidth(800);//目标画布目前只支持1280*720, 800*600, 768*432,  720*1280, 600*800, 432*768
    mixConfig.setOutputHeight(600);
    mixConfig.setOutputStremId(roomId);
    mixConfig.setNoticeStream(true);

    //展示在画布上自己的流
    CCStreamMixConfigItem publishStreamMixInfo = new CCStreamMixConfigItem();
    publishStreamMixInfo.setStreamId(streamId);
    publishStreamMixInfo.setLevel(1);
    publishStreamMixInfo.setDstRect(new Rect(0,0,800,600));//设置在目标画布上的坐标。这个示例值是全屏
    mixConfig.setMixStreams(publishStreamMixInfo);  
    //开启混流
    iveEngine.startMixStream(mixConfig);