视频点播 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。

image.png

结论:

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

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

客户播放架构:

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

现象:

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

分析:

image.png

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

结论:

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

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

image.png

image.png

背景:

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

分析:

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

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

分析:

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

结论:

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

背景:

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

结论:

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

extraInfo:{
              "x5-playsinline":""
            },
x5_type:""
相关文章
|
开发工具 CDN 容器
基于Html+腾讯云播SDK开发的m3u8播放器
周末业余时间在家无事,学习了一下腾讯的云播放sdk,并制作了一个小demo(m3u8播放器),该在线工具是基于腾讯的云播sdk开发的,云播sdk非常牛,可以支持多种播放格式。
350 1
|
编解码 开发工具 Android开发
人狠话不多,细说大牛直播SDK之RTMP播放器和RTSP播放器
在没测试过大牛直播SDK的RTMP和RTSP播放器之前,你甚至不相信行业内,RTMP和RTSP播放器(特别是RTMP播放器)延迟可以稳定的做到1秒以内。
836 0
|
存储 编解码 JSON
阿里云点播 web 播放器
最近遇到很多人使用阿里云点播 web 播放器,通过 STS 令牌的方式去播放 MTS 转码完成后的资源出现问题,”路见不平一声吼,写个过程先献丑“,只是做了最基础的功能,看官有需要请到阿里云点播官网看下需要的功能自己补充。
阿里云点播 web 播放器
|
编译器 Linux API
QT软件开发: 基于QT设计的完整版视频播放器、多媒体播放器(mdk-sdk)
QT软件开发: 基于QT设计的完整版视频播放器、多媒体播放器(mdk-sdk)
1151 0
QT软件开发: 基于QT设计的完整版视频播放器、多媒体播放器(mdk-sdk)
|
开发工具 Swift iOS开发
视频点播IOS播放器SDK Swift集成和实现
通过Swift 集成和实现阿里视频点播IOS播放器SDK的介绍
2106 0
视频点播IOS播放器SDK Swift集成和实现
|
数据安全/隐私保护
【视频点播】播放器vid播放+MtsHlsUriToken
针对视频点播服务的播放器,HLS标准加密使用vid播放的情况,需要增加MtsHlsUriToken的场景
1459 0
【视频点播】播放器vid播放+MtsHlsUriToken
|
PHP 开发工具 对象存储
【视频点播最佳实践】使用OSS SDK上传视频到点播
场景 点播上传SDK缺乏需要的语言版本(如C/C++、Go等)或相应的功能(如网络流上传、追加上传),可以直接使用OSS的SDK进行上传。 准备工作 确认已开通点播服务并完成了相关配置。确认已准备了阿里云账号AK,并授予了上传权限。
10417 1
|
C# 开发工具 Android开发
人狠话不多,细说大牛直播SDK之RTMP播放器和RTSP播放器
大牛直播RTSP/RTMP播放器SDK特点: 在没测试过大牛直播SDK的RTMP和RTSP播放器之前,你甚至不相信行业内,RTMP和RTSP播放器(特别是RTMP播放器)延迟可以稳定的做到1秒以内。
2793 0
|
网络协议 开发工具 C++
大牛直播SDK-Windows RTMP/RTSP/本地FLV播放器使用说明
大牛直播播放器SDK相对推送SDK来说,接口没有那么多,不过客户95%以上的常规需求均已覆盖,目前支持RTMP和RTSP直播播放,还有本地flv文件回放: 大牛直播SDK播放端提供C++/C#两套接口,对外提供32/64位库。
3071 0
|
存储 安全 机器人
如何下载阿里云视频点播数据
如何下载阿里云视频点播(VOD)数据
889 0

热门文章

最新文章