第三方视频推流
接口描述
对于自定义视频流采集的场景,采集到数据流之后,调用该接口进行第三方推流。
注意事项
- 会议或者呼叫中调用,会前或者会后调用无效。
方法定义
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); } });