EasyCVR视频广场扫码直播iOS端只能播放hls协议的流排查

2023-10-31 23:20

本文主要是介绍EasyCVR视频广场扫码直播iOS端只能播放hls协议的流排查,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家知道今年我们首先在EasyGBS内添加了webrtc的播放协议,随后也逐渐将该协议普及到了EasyCVR、EasyNVR等其他的平台当中,比如EasyCVR平台,目前已经能够输出四种协议的视频流,且不同协议都支持安卓系统及iOS系统的扫码直播,分享便捷。

近期我们发现EasyCVR的iOS端扫码直播问题,即视频广场扫码直播iOS端只能播放hls协议的流,其他协议都播放不了。

image.png

这个问题其实跟iOS系统的直播协议有关,苹果系统默认使用video实现hls流的播放,其他协议的视频流苹果系统无法识别,所以无法播放。

因此解决该问题我们需要在分享页面判断iOS端还是Android端的播放请求,将路由传过来的protocol强制改成hls即可,参考代码如下:

const u = navigator.userAgent, app = navigator.appVersion;
// const isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; //g
const isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isiOS) {this.query.protocol = 'hls'
}

修改后用iOS系统扫码则能实现自动播放hls流,解决效果如下:

image.png

TSINGSEE青犀视频团队在流媒体行业丰富的开发经验,使得EasyCVR的整个开发过程非常流畅,并且平台功能仍在持续拓展中。与其他视频平台不同的是,EasyCVR能够支持视频分析数据与多源数据融合,可通过智能分析算法挖掘价值数据,这也是EasyCVR的一个重要特点。如果大家对EasyCVR平台感兴趣,欢迎下载部署,实际测试,测试期间可自由调用二次开发接口,欢迎了解。

这篇关于EasyCVR视频广场扫码直播iOS端只能播放hls协议的流排查的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/318820

相关文章

HTTP 与 SpringBoot 参数提交与接收协议方式

《HTTP与SpringBoot参数提交与接收协议方式》HTTP参数提交方式包括URL查询、表单、JSON/XML、路径变量、头部、Cookie、GraphQL、WebSocket和SSE,依据... 目录HTTP 协议支持多种参数提交方式,主要取决于请求方法(Method)和内容类型(Content-Ty

Java对接MQTT协议的完整实现示例代码

《Java对接MQTT协议的完整实现示例代码》MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,:本文主要介绍Ja... 目录前言前置依赖1. MQTT配置类代码解析1.1 MQTT客户端工厂1.2 MQTT消息订阅适配器1.

Java慢查询排查与性能调优完整实战指南

《Java慢查询排查与性能调优完整实战指南》Java调优是一个广泛的话题,它涵盖了代码优化、内存管理、并发处理等多个方面,:本文主要介绍Java慢查询排查与性能调优的相关资料,文中通过代码介绍的非... 目录1. 事故全景:从告警到定位1.1 事故时间线1.2 关键指标异常1.3 排查工具链2. 深度剖析:

Linux中的自定义协议+序列反序列化用法

《Linux中的自定义协议+序列反序列化用法》文章探讨网络程序在应用层的实现,涉及TCP协议的数据传输机制、结构化数据的序列化与反序列化方法,以及通过JSON和自定义协议构建网络计算器的思路,强调分层... 目录一,再次理解协议二,序列化和反序列化三,实现网络计算器3.1 日志文件3.2Socket.hpp

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

Python使用OpenCV实现获取视频时长的小工具

《Python使用OpenCV实现获取视频时长的小工具》在处理视频数据时,获取视频的时长是一项常见且基础的需求,本文将详细介绍如何使用Python和OpenCV获取视频时长,并对每一行代码进行深入解析... 目录一、代码实现二、代码解析1. 导入 OpenCV 库2. 定义获取视频时长的函数3. 打开视频文

Java进程异常故障定位及排查过程

《Java进程异常故障定位及排查过程》:本文主要介绍Java进程异常故障定位及排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、故障发现与初步判断1. 监控系统告警2. 日志初步分析二、核心排查工具与步骤1. 进程状态检查2. CPU 飙升问题3. 内存

如何在Spring Boot项目中集成MQTT协议

《如何在SpringBoot项目中集成MQTT协议》本文介绍在SpringBoot中集成MQTT的步骤,包括安装Broker、添加EclipsePaho依赖、配置连接参数、实现消息发布订阅、测试接口... 目录1. 准备工作2. 引入依赖3. 配置MQTT连接4. 创建MQTT配置类5. 实现消息发布与订阅

使用Python进行GRPC和Dubbo协议的高级测试

《使用Python进行GRPC和Dubbo协议的高级测试》GRPC(GoogleRemoteProcedureCall)是一种高性能、开源的远程过程调用(RPC)框架,Dubbo是一种高性能的分布式服... 目录01 GRPC测试安装gRPC编写.proto文件实现服务02 Dubbo测试1. 安装Dubb