第三方视频推流
接口描述
对于自定义视频流采集的场景,采集到数据流之后,调用该接口进行第三方推流。
注意事项
- 会议或者呼叫中调用,会前或者会后调用无效。
方法定义
1 2 3 4 5 6 |
/** * 第三方采集推流 * @param videoFrameParam 视频流参数 * @param callback 结果回调 */ void pushExternalVideoFrame(VideoFrameParam videoFrameParam, HwmCallback<Void> callback); |
参数描述
返回值
无。
参数扩展
|
参数 |
是否必须 |
类型 |
描述 |
|---|---|---|---|
|
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);
}
});