uni-app video在app端不能播放rtsp流视频

uni-app video在app端不能播放rtsp流视频

开发环境 版本号 项目创建方式
PC Windows 10 HBuilderX
手机 Android
Android 15
手机厂商 小米
手机机型 Xiaomi 14

操作步骤:

<video src="rtspUrl"></video>  
```

const rtspUrl = “rtsp://admin:密码@ip:554/Streaming/Channels/101”


预期结果:

可以正常播放


实际结果:

不嗯呢该播放直接返回错误信息

{
"defaultPrevented": false,
"timeStamp": 0,
"_stop": false,
"_end": false,
"type": "onError",
"bubbles": false,
"cancelable": false,
"target": {
"dataset": {},
"id": "",
"offsetLeft": 0,
"offsetTop": 330
},
"detail": {},
"currentTarget": {
"dataset": {},
"id": "",
"offsetLeft": 0,
"offsetTop": 330
}
}

bug描述:

看video文档说可以早app端播放rtsp格式的流视频, 但是不能播放,在vcl播放器上可以正常播放

更多关于uni-app video在app端不能播放rtsp流视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

有偿解决 需要联系

更多关于uni-app video在app端不能播放rtsp流视频的实战教程也可以访问 https://www.itying.com/category-93-b0.html


uni-app的video组件在App端确实支持RTSP流播放,但需要明确以下几点:

  1. 平台差异:RTSP流播放依赖原生渲染引擎,不同Android版本和厂商设备对RTSP协议的支持程度存在差异。Android 15系统可能增强了安全策略,导致部分RTSP流被拦截。

  2. 格式兼容性:RTSP流需要设备硬件解码器支持。建议确认视频编码格式(如H.264/H.265)是否被设备兼容。可通过系统原生播放器测试同一RTSP链接验证。

  3. 网络权限:确保在manifest.json中配置了网络权限:

    "permissions": {
      "request": ["android.permission.INTERNET"]
    }
    
  4. 协议处理:部分RTSP流需要身份验证或特定传输参数。可尝试在URL中显式指定参数:

    rtsp://user:pass[@ip](/user/ip):554/stream?tcp
    
  5. 备选方案:若仍无法播放,建议:

    • 使用<live-player>组件(需确认平台支持)
    • 通过后端服务转换RTSP为HLS(m3u8)格式
    • 使用原生插件(如anyRTC-RTMP)增强流媒体支持

当前错误信息表明视频组件触发了错误事件,但未返回具体错误码。建议通过@error事件监听详细错误信息:

<video :src="rtspUrl" @error="onVideoError"></video>
onVideoError(e) {
  console.log('Video error details:', e.detail)
}
回到顶部