更新时间:2024-07-30 GMT+08:00

第三方视频推流

接口描述

对于自定义视频流采集的场景,采集到数据流之后,调用该接口进行第三方推流。

注意事项

  1. 会议或者呼叫中调用,会前或者会后调用无效。

方法定义

1
2
3
4
5
6
    /**
     * 第三方采集推流
     * @param videoFrameParam  视频流参数
     * @param callback         结果回调
     */
    void pushExternalVideoFrame(VideoFrameParam videoFrameParam, HwmCallback<Void> callback);

参数描述

表1 参数说明

参数

是否必须

类型

描述

videoFrameParam

VideoFrameParam

视频流参数

callback

HwmCallback

结果回调

返回值

无。

参数扩展

表2 VideoFrameParam参数说明

参数

是否必须

类型

描述

frameDate

byte[]

视频数据

frameWidth

int

图像宽度,作为输入时,范围为[90,1920],必须是4的整数倍

frameHeight

int

图像高度,作为输入时,范围为[90,1200],必须是2的整数倍

videoFrameFormat

VideoFrameFormat

图像格式,当前demo使用格式为:VIDEO_FRAME_FORMAT_NV21,转换后需设置为105

VIDEO_FRAME_FORMAT_I420(100, "I420")

VIDEO_FRAME_FORMAT_YV12(101, "YV12")

VIDEO_FRAME_FORMAT_NV21(105, "NV21")

VIDEO_FRAME_FORMAT_UNKNOWN(999, "UNKNOWN")

displayRotation

DisplayRotation

视频显示的角度

ROTATION_0(0, "顺时针旋转0°")

ROTATION_90(1, "顺时针旋转90°")

ROTATION_180(2, "顺时针旋转180°")

ROTATION_270(3, "顺时针旋转270°")

示例代码
ExternalVideoFrameParam videoFrameParam = new ExternalVideoFrameParam();
videoFrameParam.setFrameDate(mData);
videoFrameParam.setFrameWidth(1920);
videoFrameParam.setFrameHeight(1080);
videoFrameParam.setDisplayRotation(DisplayRotation.ROTATION_0);
videoFrameParam.setVideoFrameFormat(VideoFrameFormat.VIDEO_FRAME_FORMAT_NV21);
HWMBizSdk.getBizOpenApi().pushExternalVideoFrame(videoFrameParam, new HwmCallback<Void>() {
    @Override
    public void onSuccess(Void aVoid) {

    }

    @Override
    public void onFailed(int retCode, String desc) {
        Log.i(TAG, "code: " + retCode);
    }
});