uni-app uniappx项目中video标签无法正常播放视频

uni-app uniappx项目中video标签无法正常播放视频

开发环境 版本号 项目创建方式
Windows win11 HBuilderX

产品分类:uniapp/App

PC开发环境操作系统:Windows

HBuilderX类型:正式

HBuilderX版本号:4.75

手机系统:Android

手机系统版本号:Android 12

手机厂商:华为

手机机型:华为mate10,小米,荣耀

页面类型:vue

vue版本:vue2

打包方式:云端

操作步骤:

  • uniappx 上传视频,并通过video播放

预期结果:

  • video标签能够正常播放视频

实际结果:

  • video标签不能正常播放视频

bug描述:

uniappx项目中使用video标签播放视频,在2025.10.31号之前都可以正常播放,之后如果通过手机拍摄上传/相册选取视频上传在app播放不了,将url地址放到手机浏览器、pc浏览器中可以播放;通过pc上传的普通视频在app中可以播放,通过pc上传的手机拍摄的视频app也播放不了。手机型号为华为、小米、荣耀; 通过ffmpeg检测视频都是mp4/H.264格式; 通过video标签error事件监听到错误日志为:

{
"type": "error",
"target": {},
"currentTarget": {},
"timeStamp": 1762170465575,
"bubbles": false,
"cancelable": false,
"isStopPropagation": false,
"detail": {
"cause": {
"code": 0,
"subject": null,
"cause": null,
"message": "-10000-0",
"name": "Error"
},
"data": null,
"errCode": 300001,
"errMsg": "sdk error",
"errSubject": "uni-video",
"message": "",
"name": "Error"
}
}

更多关于uni-app uniappx项目中video标签无法正常播放视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app uniappx项目中video标签无法正常播放视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的视频编码兼容性问题。从错误日志分析,errCode: 300001message: "-10000-0" 表明是底层视频解码器无法处理特定的视频流。

问题根源: 虽然视频文件都是MP4容器格式,但手机拍摄的视频可能使用了H.264 High Profile或特定级别的编码参数,这些参数在某些Android设备的硬件解码器中不被支持。PC上传的普通视频通常使用Baseline或Main Profile,兼容性更好。

解决方案:

  1. 视频转码处理 在视频上传后,使用uni-app的转码功能将视频转换为兼容格式:

    uni.compressVideo({
      src: originalVideoPath,
      quality: 'medium',
      success: (res) => {
        this.videoUrl = res.tempFilePath
      }
    })
    
  2. 检查视频编码参数 通过服务端检测视频的编码Profile,确保使用H.264 Baseline或Main Profile,避免使用High Profile。

  3. 使用原生插件 考虑集成原生视频播放插件(如uni-app官方视频插件),提供更好的格式兼容性。

  4. 临时解决方案 对于已上传的问题视频,可通过FFmpeg重新编码:

    ffmpeg -i input.mp4 -profile:v baseline -level 3.0 output.mp4
回到顶部