播放器更新日志
更新时间: 2024/09/25 10:51:58
本文介绍播放器 Android 端的更新日志。
v3.3.8 (2023-09-04)
修复偶现的播放器崩溃问题。
v3.2.6 (2023-05-06)
- 硬件解码兼容优化
- 命令注入风险问题合规整改
- 修复部分已知问题
v3.2.4 (2023-02-03)
问题修复
- 修复低延时直播场景,偶现的播放器奔溃问题。
- 修复个别机型,硬件解码失败时无法回退软件解码的问题。
v3.2.2 (2022-09-09)
- 低延时直播支持 B 帧的解码播放
- 低延时直播支持 Codec 协商
- 低延时直播支持 SEI 端到端延迟解析
v3.2.1 (2022-07-19)
- 新增首帧、卡顿率数据统计
- 区分低延时直播和 CDN 直播播放失败错误码
- 修复部分已知问题
- 优化低延时直播延时
v3.2.0 (2022-06-22)
- 修复 Android 11 偶现的 Bug。
- 优化缓冲逻辑,减少直播发生缓冲的几率。
v3.1.3 (2022-04-12)
解决 Android 机型适配问题。
v3.1.2 (2022-04-02)
- 修复 Android 11 偶现的 Bug。
- 优化缓冲逻辑,减少直播发生缓冲的几率。
v3.1.1 (2022-03-18)
- NERTC(低延时直播)协议拉流首帧、延时、弱网等关键指标优化
v3.1.0 (2022-01-18)
- NERTC(低延时直播)协议拉流首帧能力提升
v3.0.0 (2021-12-29)
- NERTC(低延时直播)协议拉流弱网能力提升
- SDK 权限及个人信息合规整改
- 修改偶现 BUG
v2.9.1 (2021-08-27)
- 补充 NERTC(低延时直播)协议拉流异常回调
- 修改偶现 BUG
v2.9.0 (2021-05-18)
- 支持 NERTC(低延时直播)协议拉流播放
- v2.9.0 及以上版本需要从 maven 仓库中引入播放器 SDK
v2.8.0 (2021-03-18)
- 优化统计上报字段
- 兼容互动直播 2.0SEI 数据结构
v2.7.1 (2021-02-08)
- 修复 Android11 系统偶现 Bug
v2.7.0 (2021-01-20)
- 支持加密直播流播放
v2.6.0 (2020-12-6)
- 支持播放基于 HLS 的多码率自适应点播视频
- 优化 GSLB 直播调度模块
v2.5.0 (2020-11-4)
- 升级 player 内核
- 修复偶现 BUG
v2.4.5 (2019-12-5)
- 优化调度请求
- 优化统计逻辑
v2.4.4 (2019-9-20)
- 优化日志写入
- 优化调度逻辑
v2.4.2 (2019-7-1)
- 增加 DNS 拉流灾备
- 增加异常情况网络测速机制
- 优化日志打印
v2.4.1 (2019-4-25)
- 增加手动查询并切换播放地址功能
接口变动
- 添加接口
void queryPreloadUrlResult(String url, NEGslbResultListener listener)
查询 CDN 播放地址 - 添加接口
void switchWithGslbResult(GlsbSession session, NEGslbServerModel model)
切换播放地址 - 添加接口
NEGslbServerModel getCurrentServerModel()
查询当前播放地址信息
v2.4.0 (2019-4-8)
- 添加多视频(均带有 SEI 时间戳信息)同步播放的功能
- 调整第三方库的编译脚本,并更新了预编译库
- 用户在未调用 init 接口,就直接 create 时,抛出 UnsupportedOperationException
- 部分日志添加实例区分
- 优化、兼容前面只有音频、视频,而后来又有视频、音频的流
- 添加回报当前播放 position 的回调
- 设备没有存储空间时,写 log 避免 crash
- 添加自定义 http header 功能
接口变动
- 添加接口
void syncClockTo(NELivePlayer player)
来实现多实例同步播放功能 - 添加接口
void setOnCurrentPositionListener(long interval, OnCurrentPositionListener listener)
来监听当前播放位置 NEDataSourceConfig
中添加Map<String, String> headers
成员,用来配置自定义 header 信息
v2.3.1 (2019-2-28)
- 修复 hls 点播视频 seek 后,实际位置与设置时间不符的问题
- 修复 flv 点播视频 seek 后缓冲时间过长的问题
- 提高对部分第三方视频的兼容性
- 修复切换拉流 CDN 时,服务端下发参数和 cache 设置不生效的问题
v2.3.0 (2019-2-18)
功能变动
- 支持使用自定义 DataSource 播放 assets 和 raw 文件夹中的 MP4、flv 格式文件
- 日志上传策略优化:开启日志上报时,在 init 接口调用 10s 后上传
- 解密逻辑优化,解密步骤合并在播放流程中,减小首屏时间
- Android P 深灰名单适配
- so 动态加载功能支持第三方服务器
- 缓存配置的自定义路径逻辑修改,用户必须对每个视频单独设置路径,并放开对第三方地址的限制
- 增加 gslb 缓存强制刷新接口
- 修改 GSLB 单次的缓存逻辑,在首条视频拉流失败的情况下移除该条调度结果缓存
- 直播硬解及 hls 直播支持追赶
问题修复
- 修复直播播放偶现的花屏问题
- 修复 seek 到最后,loop 设置可能会失效的问题
- 修复开启 SEI 同步时间戳偶现的 crash 问题
- 修复视频流中有不支持的音频 codec 时会 crash 的问题
- 修复偶现的少量内存泄漏
- 修复部分视频 loop 播放时没有从头开始的问题
接口变动
- 添加 getSDKInfo 静态接口
- 删除旧的解密接口
- 废弃
setLooping
,isLooping
接口,新增setLoopCount
,getLoopCount
来代替 - 添加
setOnAudioFrameFilterListener(NEAudioPcmConfig config, OnAudioFrameFilterListener listener)
接口同时配置音频 pcm 回调参数和回调 listener - init 参数中新增 thirdUserId,可协助问题排查
- 删除
switchContentUrlWithDecryptionToken
,switchContentUrlWithDecryptionKey
接口,可使用switchContentUrl(String url, NEDataSourceConfig config)
接口代替 - 删除
prepareAsyncWithDecryptionToken
,prepareAsyncWithDecryptionKey
接口,可使用setDataSource(String path,NEDataSourceConfig config)
+prepareAsync()
代替
v2.2.3 (2019-1-22)
- 优化在无存储权限或者无外部存储时频繁打印错误日志的问题
- 修复解码类型回调未上报的问题
- 放开对第三方点播地址的本地缓冲限制
- 修复在 seek 完成时的回调多次的问题
v2.2.2 (2018-12-21)
- 解决 hls 多音轨视频没有声音的问题
- 修复部分加密视频无法播放的问题
v2.2.1 (2018-12-13)
- 修复播放第三方地址出现错误时崩溃问题
- 修复设置自动播放未生效问题
v2.2.0 (2018-12-10)
功能变动
- 支持纯视频时倍速播放
- 修复硬件播放结束时最后几帧未渲染问题
- 支持播放时调度结果缓存
- 解密线程优化
- 支持获取播放实时数据
- 修复在软解使用 surfaceview 时画面实际渲染晚于首帧回调的问题
- 优化多音轨选择逻辑,修复某些情况下会选择无声音轨的问题
接口变动
- 增加获取播放实时数据接口:getMediaRealTimeInfo
v2.1.1 (2018-11-06)
- 修复在调用切换播放地址接口时,如果不更换渲染的 surface,可能小概率出现 crash 的问题
v2.1.0 (2018-10-29)
功能变动
- 支持设置是否精确 seek
- 支持设置自动重试
- 支持设置本地缓存
- 增加私有化配置功能
- 调用 switch 类接口后,保留非 url 相关的配置参数
- 修复 switch 及 reset 接口在某些极端情况下可能会 block 很久的问题
- 设置音频 pcm 回调参数后,仅影响回调的 PCM 数据
- 修复下载到本地的 hls 加密视频可能无法播放的问题
- 修复循环播放时最后一帧画面会卡一下的问题
接口变动
- 增加设置播放地址和播放配置项接口:setDataSource(url, config)
- 增加切换播放地址和播放配置项接口:switchContentUrl(url, config)
- 增加设置是否精确 seek 接口:setAccurateSeek
- 增加配置自动重试信息接口:setAutoRetryConfig
- 废弃接口:prepareAsyncWithDecryptionToken
- 废弃接口:prepareAsyncWithDecryptionKey
- 废弃接口:switchContentUrlWithDecryptionToken
- 废弃接口:switchContentUrlWithDecryptionKey
- 移除直播视频解析错误接口:setOnVideoParseErrorListener
v2.0.0 (2018-09-06)
功能变动
- 支持多音轨选择播放
- 支持 hls 解密
- 支持设置音频回调数据的采样率和声道数
- 优化 SurfaceView 前后台切换时的体验
- 修复硬件解码在互动直播场景连麦和下麦花屏问题
接口变动
- 增加获取当前音轨信息接口:getAudioTracksInfo
- 增加获取当前音轨序号接口:getSelectedAudioTrack
- 增加切换音轨接口:setSelectedAudioTrack
- 增加设置音频回调数据参数接口:setAudioPcmDataConfig
v1.9.0 (2018-07-26)
功能变动
- 支持循环播放
- 支持镜像
- 基于 SDK 封装了 playerkit 组件方便开发者接入
- 优化 TextureView 硬件解码前后台切换,参考 playerkit 组件中的 AdvanceSingleTextureView
接口变动
- 增加循环播放接口:setLooping
- 增加镜像接口:setMirror
v1.8.0 (2018-06-12)
功能变动
- 支持 H265 硬件解码
- 兼容先有视频后有音频的文件播放
- 支持 gradle 集成 SDK 包
- 支持点播 webm 格式软件解码播放
接口变动
- 常量类 NEType 拆分为 NEPlayStatusType、NEKeyVerifyResultType、NEErrorType、NEBufferStrategy
- 增加是否支持 H265 解码回调接口:NESDKConfig#isSupportH265Decode
v1.7.0 (2018-05-08)
功能变动
- 支持点播时外挂字幕
- 视频解码性能和线程管理优化,增强了播放器的兼容性
- 修复 x86 架构的 so 库导致的崩溃问题
- 支持点播时 hls 格式的加密视频解密播放
- 支持预调度拉流地址,有效减少首屏时间
接口变动
- 增加设置点播时本地外挂字幕文件接口:setSubtitleFile
- 增加设置字幕回调的接口:setOnSubtitleListener
- 增加添加预调度拉流链接地址的接口:addPreloadUrls
- 增加移除预调度拉流链接地址的接口:removePreloadUrls
- 增加查询预调度拉流链接地址的结果信息的接口:queryPreloadUrls
- 增加预调度刷新间隔参数设置接口:SDKConfig#refreshPreLoadDuration
- 增加设置是否开启同步时间戳、同步内容信息回调的接口:setSyncOpen
v1.6.1 (2018-04-10)
功能变动
- 支持动态加载 so 库文件
接口变动
- 增加 so 库动态加载配置信息接口:SDKConfig#dynamicLoadingConfig
v1.6.0 (2018-03-30)
功能变动
- 透传时间戳方案兼容软件解码和硬件解码
- 支持透传自定义数据信息
- 同步时间戳接口支持软解和硬解
v1.5.6 (2018-03-09)
功能变动
- 支持日志回调上层
- 增加解码卡顿通知
接口变动
- 增加日志回调接口:SDKConfig#OnLogListener
- 增加解码卡顿通知类型:NEType#NELP_NET_DECODE_BAD
v1.5.5 (2018-02-27)
功能变动
- 支持数据通过应用层拉流传给 SDK 进行播放
- 支持自定义 MediaDataSource
- 支持数据回调上层进行网络请求
- 支持点播模式时设置缓冲区大小
- 支持缓冲进度回调
接口变动
- 增加初始化接口:NELivePlayer.init(context,config);
- 播放器实例创建接口变更:由 NELivePlayer.create(mContext) 变成 NELivePlayer.create()
- 增加设置自定义 MediaDataSource 接口:setDataSource(mediaDataSource)
- 增加设置缓冲区大小接口:setBufferSize(size)
v1.5.0 (2018-01-26)
功能变动
- 直播拉流优化
- 增加加密视频切换播放功能
- 增加视频落后音频类型文件兼容
- 去除保持屏幕常亮接口,改由 demo 示例
接口变动
- 解密信息接口变更:由 initDecryption 变成 prepareAsyncWithDecryptionToken
- 解密秘钥接口变更:由 setDecryptionKey 变成 prepareAsyncWithDecryptionKey
- 增加加密视频解密信息切换播放接口:switchContentUrlWithDecryptionToken
- 增加加密视频解密密钥切换播放接口:switchContentUrlWithDecryptionKey
- 删除保持屏幕常亮接口:setScreenOnWhilePlaying
v1.4.6 (2018-01-19)
功能变动
- 增加时间戳回调功能,方便应用层的逻辑与播放器播放进行同步
- 音视频播放超时时间效果优化
- 增加直播延时追赶模式,用于直播出现延时时进行快速播放进行追赶
接口变动
- 增加当前播放的时间戳回调接口:setOnCurrentRealTimeListener
- 增加当前播放的同步时间戳回调接口:setOnCurrentSyncTimestampListener
- 增加获取正在播放的时间戳接口:getCurrentRealTime
- 增加获取正在播放的同步时间戳接口:getCurrentSyncTimestamp
- 增加直播延时追赶模式:NELPDELAYPULLUP
v1.4.0 (2017-12-7)
功能变动
- 视频中频繁切分辨率时 SDK 内部会重置播放器重新拉流播放
- 修复先音频后视频的流无法解析问题,解析时间通过服务器动态下发
- 修复偶现空指针异常导致崩溃问题
- 修复在某些网络情况下视频解密偶现失败的问题
v1.3.1 (2017-10-17)
功能变动
- 支持播放时进行清晰度切换
- 软件解码时在 Android 4.0 以上版本支持旋转视频播放和硬件解码在 Android 5.0 以上版本支持旋转视频播放
- 重构播放器资源释放广播通知
- 播放时的错误回调中增加错误码(错误码是在 OnErrorListener 的 onError 的 what)
- 拉流播放时的 http 请求的状态码回调(状态码在 OnInfoListener 的 onInfo 的 what)
接口变动
- 增加播放器回调接口类:NECallback
- 增加用户视频清晰度切换的播放信息类:NEDefinitionData
- 增加设置是否自动切换清晰度接口:setAutoSwitchDefinition
- 增加视频清晰度解析监听注册接口:setOnDefinitionListener
- 增加播放过程中切换清晰度接口:switchDefinition
- 播放器的常量移到新增的常量类:NEType
v1.3.0 (2017-08-28)
功能变动
- 线程管理优化
- 修复播放器多实例时崩溃问题
接口变动
- 注册获取视频帧数据的回调接口变更:由 registerGetVideoRawDataCB 变成 setOnVideoFrameFilterListener
- 注册获取音频帧数据的回调接口变更:由 registerGetAudioRawDataCB 变成 setOnAudioFrameFilterListener
- 视频数据的回调变更:由 vCallback 变成 OnVideoFrameFilterListener
- 音频数据的回调变更:由 aCallback 变成 OnAudioFrameFilterListener
- 密钥获取结果的回调变更:由 Callback 变成 OnDecryptionListener
- 播放器创建方式变更:由 new NEMediaPlayer(mContext) 变成 NELivePlayer.create(mContext)
v1.2.9 (2017-08-14)
功能变动
- so 库精简进行体积优化
- 修复在某些机型设备音视频流上设置到指定时间点播放慢的问题
接口变动
- 删除设置日志路径 setLogPath 和级别 setLogLevel 接口
- sdk 包对外接口类移至 sdk 包下
v1.2.8 (2017-07-20)
bug 修复。
v1.2.7 (2017-07-07)
功能变动
- 增加设置 flv 解密密钥的接口
- 支持视频解码后的 yuv 数据回调
- 支持音频解码后的 pcm 数据回调
- 支持精确 seek
- 代码优化
接口变动
- 创建播放器实例时需要传入标识 videoview 上下文信息的 Context
- initDecryption 接口去掉上下文信息的参数
- prepareAsync 接口去掉上下文信息的参数
v1.2.6 (2017-6-13)
- 支持播放过程中切换播放地址
- 修复一些 bug
v1.2.4 (2017-3-30)
- 支持 https 协议拉流
- 增加直播极速模式
- 支持 flv 加密视频的解密播放功能
- 修复一些 bug
v1.2.3 (2016-12-21)
- 支持多实例创建
v1.2.2 (2016-11-25)
- 增加拉流超时设置接口
- 增加直播流畅模式设置
v1.2.1 (2016-10-31)
- 增加音量控制接口
v1.2.0 (2016-09-26)
- 整体结构优化
- 增加视频码流解析失败时的消息上报
v1.1.0 (2016-09-05)
- arm 架构支持 speex 解码
- 采用广播接收的形式来接收资源释放成功的通知(见开发指南)
- 内存优化
v1.0.9 (2016-08-15)
- 增加倍数播放的功能(仅适用于点播)
v1.0.8 (2016-07-26)
- 支持服务器参数下发
- 支持日志保存在本地
v1.0.7 (2016-06-30)
- 优化播放器 buffer 策略
v1.0.6 (2016-05-24)
- 修复播放限制策略
v1.0.5 (2016-04-29)
- 增加接口保护
- 优化播放流畅性
- 支持 speex 播放
v1.0.4 (2016-03-31)
- 增加第一帧画面显示时的消息通知
- 增加资源异步释放结束后的消息通知
- 优化播放流畅性
v1.0.3 (2016-01-25)
- 增加设置缓冲策略接口
- 解决直播延时的问题
v1.0.2 (2015-12-17)
- 重构代码结构
v1.0.1 (2015-11-29)
- 播放器的初始版本,提供基本的播放功能
此文档是否对你有帮助?