不会js的小王 2022-08-26 13:46 采纳率: 50%
浏览 76
已结题

关于人脸识别H5移动端拉取获得录像视频的问题

关于人脸识别H5移动端拉取获得录像视频的问题

我通过navigator.mediaDevices.getUserMedia拉起摄像头
我通过下面代码储存了录取视频的blob数组

//stream是navigator.mediaDevices.getUserMedia成功时返回的res
this.mediaRecorderData = new MediaRecorder(stream, {
                    mimeType: 'video/webm'
                });
this.mediaRecorderData.ondataavailable = (e) => {
                    if (e.data.size > 0) {
                        this.videoCecorded.push(e.data); //视频录制视频流数据
                    };
                };

然后通过下面代码将blob数组videoCecorded转换为file再转为base64(这里因为后端要mp4格式转的base64,以此只能先转file的mp4)

let blob = new Blob(_this.videoCecorded, {
                        type: "video/mp4"
                    });
let filename = new Date().getTime() + '.mp4';
                    let file = new File([blob], filename, {
                        type: 'video/mp4'
                    })    
let reader = new FileReader();
reader.readAsDataURL(file);
let base64
reader.onload = e => { 
                          base64 = e.target.result;
                          base64 = base64.split(',')[1];
                          console.log(base64)//这里的base64就是我目前最终得到的base64
}

现在遇到的问题是:
我直接拉起摄像头进行录制,这个base64后端一直报错,原因是视频有问题导致转的base64也有问题
如果我用手机录制一段人脸视频,通过工具手动转成base64并把其写死为接口入参,则接口是正确返回的
这样可以看出是我上面录制视频并转base64的地方出现了问题,请问怎么解决?

  • 写回答

1条回答 默认 最新

  • 来灵 2022-08-26 16:17
    关注

    拉摄像头录的视频,是把什么格式的转换成mp4保存起来了,flv还是m3u8格式的?
    与手机录制的视频格式比较一下

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月31日
  • 创建了问题 8月26日

悬赏问题

  • ¥15 利用R语言的ActCR包分析昼夜节律数据
  • ¥15 国外SIM卡有信号无法连接,如何解决?
  • ¥15 谷歌怎么像图里这样多开贴吧号
  • ¥80 在UE5中使用AirSim, 无人机无法移动
  • ¥15 bang忙写个 发指定微信名字 excel文件phython
  • ¥15 uniapp 安卓开发
  • ¥15 Qemu相关,现在我想写一个自定义的I/O接口芯片,想使用qemu进行模拟验证
  • ¥15 企业 IOS App 上架
  • ¥15 wpf中combobox的选项恢复为原来的值
  • ¥100 minio依赖安装报错问题