HarmonyOS 关于出现的视频流数据异常问题

目前测试的mate 40机型,出现了视频流获取数据异常的问题,异常图像已经提供到附件,一下是我们调用视频流的代码,请老师看下:

目前是从onReceiver官方结果获取的Component.byteBuffer获取的数据,发现数据无法使用。

mate 60 pro,以及x5折叠屏没问题,拍照数据也是正常的,附件图片为我们核心底层保存的视频流数据图像。

/** 
 设置视频流回调 
 **/ 
// 设置视频流回调监听 
if (this.imageReceiver != undefined) { 
  this.setPreviewListener(this.imageReceiver, onReceiver); 
} 
/** 
 * 相机数据回调 
 */ 
private onReceverCamera = (imgComponent: image.Component): void => { 
  if (imgComponent.byteBuffer as ArrayBuffer) { 
    if (this.isPreviewMode) { 
      // 视频流识别 
      this.recogPerview(imgComponent); 
    } else { 
      // 拍照识别 
      this.recogCamera(imgComponent); 
    } 
  } else { 
    return; 
  } 
} 
/** 
 * 视频流识别 
 */ 
private recogPerview(imgComponent: image.Component) { 
  // 识别过程中不进行二次识别  ||  显示提示框时不进行扫描识别 
  if (this.isScanRecog || this.isShowTip) { 
    // ConsoleUtils.LOG_SDK_DEBUG(ConsoleUtils.IDCARDPAGE,`isScanRecog:${this.isScanRecog} , isShowTip: ${this.isShowTip}`) 
    return; 
  } 
  let buf: ArrayBuffer; 
  buf = imgComponent.byteBuffer; 
  // TODO 扫描操作 
  let lineX: number[] = [0, 0, 0, 0]; 
  let lineY: number[] = [0, 0, 0, 0]; 
  let preWidth: number = this.previewHeight; 
  let preHeight: number = this.previewWidth; 
  // ConsoleUtils.LOG_SDK_DEBUG(ConsoleUtils.IDCARDPAGE,`prewidth:${preWidth} , preHeight: ${preHeight}`) 
  this.isScanRecog = true; 
  // 识别时间重置 
  this.time = systemDateTime.getTime(false); 
  // TODO 检测识别 
  IdcardOcrApi.streamSIDCardRecog(buf, lineX, lineY, preWidth, preHeight, this.recogType).then(result => { 
    ConsoleUtils.LOG_SDK_DEBUG(ConsoleUtils.IDCARDPAGE, `streamSIDCardRecog result  code:${result.code}`) 
    // TODO 处理识别结果 
    this.processResult(result); 
  }); 
} 
// TODO 解决退出界面释放资源后导致的数据被销毁问题 
let dataBuffer: ArrayBuffer = nvbuffer.slice(0, nvbuffer.byteLength); 
if (dataBuffer.byteLength == 0) { 
  return result; 
} 
// 统计识别时间 
let time: number = systemDateTime.getTime(false); 
//TODO  识别检测线程 
taskGroup = new taskpool.TaskGroup(); 
task = new taskpool.Task(recogNV21, dataBuffer, lineX, lineY, preWidth, preHeight); // 100: test number 
taskGroup.addTask(task);

HarmonyOS 关于出现的视频流数据异常问题-鸿蒙开发者社区

HarmonyOS
2024-11-13 10:27:23
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

​目前选的profile是2688x1216 YUV420P010LE,与格式转换代码不一致。

选profile的时候,除了分辨率也过滤下format,选format是CAMERA_FORMAT_YUV_420_SP的profile。​

分享
微博
QQ
微信
回复
2024-11-13 15:55:45
相关问题
HarmonyOS视频缓存框架问题
386浏览 • 1回复 待解决
关于视频格式和如何保存咨询
1880浏览 • 1回复 待解决
HarmonyOS 视频数据传输
433浏览 • 1回复 待解决
关于如何使用鸿蒙接收视频
3721浏览 • 0回复 待解决
关于烧录时出现问题
10240浏览 • 2回复 待解决
关于3861烧录异常报错问题,求解答
8412浏览 • 2回复 待解决
编解码播放大数据问题
3175浏览 • 0回复 待解决
HarmonyOS 关于关系型数据问题
183浏览 • 1回复 待解决
关于数据缓存问题咨询
283浏览 • 1回复 待解决
请问视频支持哪些格式
527浏览 • 1回复 待解决
HarmonyOS 视频编解码出现花屏
226浏览 • 1回复 待解决
HarmonyOS 关于Provide数据传递问题咨询
392浏览 • 1回复 待解决
HarmonyOS 如何解压数据
411浏览 • 1回复 待解决
关于数据持久化使用问题
253浏览 • 1回复 待解决