视频点播 SDK-播放器问题

简介: 使用阿里云播放器 目前随便手机型号的增加,和大量短视频的接入,VOD 点播播放器会遇到各种奇葩问题,今天从几个非常多的案例入手讲下坑点。 案例分析:ios 3.4.7 播放器 crash 出现问题,先看下视频编码,发现客户源文件是 vcodec 是 h264 ,acodec 是 amr ,可以使用 ffprobe 命令分析视频的编码。

使用阿里云播放器

目前随便手机型号的增加,和大量短视频的接入,VOD 点播播放器会遇到各种奇葩问题,今天从几个非常多的案例入手讲下坑点。

案例分析:ios 3.4.7 播放器 crash

现象:
客户 app 播放教学视频时初始化播放器后播放时直接 crash 。

分析:

出现问题,先看下视频编码,发现客户源文件是 vcodec 是 h264 ,acodec 是 amr ,可以使用 ffprobe 命令分析视频的编码。而点播播放器目前仅支持 MP3、AAC 两种 acodec。

1

结论:

已知的一个问题 3.4.7 的播放器在播放的音频不支持的情况下会出现 crash ,正常的情况应该是不支持播放会卡住而不是 crash ,此问题会随着新版本发布解决调。

案例分析:ios 3.4.7 切后台会从头重新播放

客户播放架构:

客户集成 3.4.7 的 demo 后,本地调苹果手机的剪辑库后,将文件转码上传都点播平台,app 收到点播 URL 后,播放短视频的 URL 。

现象:
应用切到后台,再切回应用中时,视频从 starttime=0 的位置重新播放,而不是从当前视频开始播放,而 android 没有这种问题。

分析:

2

  • 问题分析还是老套路,先看下原视频分析下基础的内容。以下是视频的封装帧的内容。比较特殊,全场 27s 秒的小视频只有一个 I 帧。
  • 3.4.7 的 ios 点播播放是通过硬解的方式 decode ,播放时是寻找 I 播放,而软件码是可以从当前的视频开始播放。

结论:

  • 3.4.7 的 ios SDK 利用硬解如果找不到 I 帧就会重头开始播放,而 android 是软解,直接从当前视频帧开始播。经过 MTS 产品对视频补帧后,直接传输到点播后,再次播放就不会从头播放了,但是会在下一个 I 帧找到之前会有卡顿。

案例分析:web 播放器 android 播放异常

1

2

背景:

android 的手机全都不能播放,ios 的手机可以播放。

分析:

android 出现这种异常是对 跨域协议的只有有问题,而 m3u8 是 HLS 协议苹果支持的,Safari 对跨域协议有良好的支持所以不会铲平报错。

案例分析:ios 3.4.7 播放器播放出现慢镜头

1

分析:

先分析原视频是否存在异常,可以是用 ffplay 播放看下,看是否出现异常,发现原视频在第 50s 左右没有视频包只有音频包,在 1分25秒 左右恢复了视频和声音。

结论:

  • 针对第 50s 没有视频的画面 ios SDK 的行为是直接 seek 过异常的 duration ,跳到 1分 25秒。
  • 在画面恢复后,由于音视频不同步,所以 ios 会在短暂的几帧内进行音视频同步所以会比较慢。

案例分析:

1

背景:

web 点播 SDK同层播放时,点播列表向上滑动时,view 层不是固定的,会随着屏幕向上滑动将视频窗口覆盖。

结论:

出现这种问题不是播放器的 bug ,时 cs 代码没有调整好,客户端需要自己调整下 cs 的代码,提供一个参考建议。

extraInfo:{
              "x5-playsinline":""
            },
x5_type:""
目录
相关文章
|
9月前
|
机器学习/深度学习 人工智能 编解码
Lumina-Image 2.0:上海 AI Lab 开源的统一图像生成模型,支持生成多分辨率、多风格的图像
Lumina-Image 2.0 是上海 AI Lab 开源的高效统一图像生成模型,参数量为26亿,基于扩散模型和Transformer架构,支持多种推理求解器,能生成高质量、多风格的图像。
559 17
Lumina-Image 2.0:上海 AI Lab 开源的统一图像生成模型,支持生成多分辨率、多风格的图像
|
Linux 编译器 测试技术
【C++】CentOS环境搭建-快速升级G++版本
通过上述任一方法,您都可以在CentOS环境中高效地升级G++至所需的最新版本,进而利用C++的新特性,提升开发效率和代码质量。
602 64
|
7月前
|
数据采集 人工智能 自动驾驶
AI大模型都有的“幻觉病”,企业AI应用创新路上须警惕
法思诺创新提醒:AI大模型虽强大,但其“幻觉病”不容忽视。文章剖析了AI生成错误信息的现象及其成因,包括数据质量问题、缺乏常识理解及追求流畅度的倾向,并警示企业在医疗、法律、金融等关键领域应用AI时需警惕潜在风险。为应对挑战,应通过技术改进、人机协同和伦理规范三重手段约束AI行为,同时强调企业应以人为主导,将AI作为辅助工具,在享受技术便利的同时有效控制风险。
307 0
|
9月前
|
人工智能 边缘计算 运维
连续四年蝉联第一!阿里云边缘云开启多元化演进
连续四年蝉联第一!阿里云边缘云开启多元化演进
269 0
|
安全 API 开发工具
Gin 实现自动生成接口文档
Gin 实现自动生成接口文档
238 0
|
Docker 容器
执行docker info出现警告解决
执行docker info出现警告解决
|
并行计算 PyTorch 算法框架/工具
NumPy 高级教程——GPU 加速
NumPy 高级教程——GPU 加速【1月更文挑战第4篇】
1230 1
|
存储 安全 Java
极速Go语言入门(超全超详细)-基础篇
极速Go语言入门(超全超详细)-基础篇
48780 9
极速Go语言入门(超全超详细)-基础篇
05-流式操作:使用 Flux 和 Mono 构建响应式数据流(上)
05-流式操作:使用 Flux 和 Mono 构建响应式数据流
532 0
|
Docker 容器
docker 私有仓库
docker 私有仓库
328 0