播放器更新日志
更新时间: 2024/08/07 10:46:33
本文介绍播放器 iOS 端的更新日志。
v3.2.7 - 2023-10-12
修复偶现的播放器崩溃问题。
v3.2.6 - 2023-05-06
- 硬件解码兼容优化
- 命令注入风险问题合规整改
- 修复部分已知问题
v3.2.4 - 2023-03-02
问题修复
- 修复播放器在后台运行时,进行开启或关闭播放器,偶现崩溃问题。
- 修复低延时直播场景,偶现的播放器奔溃问题。
v3.2.2 - 2022-09-09
- 低延时直播支持B帧的解码播放
- 低延时直播支持Codec协商
- 低延时直播支持SEI端到端延迟解析
v3.2.1 - 2022-07-19
- 新增首帧、卡顿率数据统计
- 区分低延时直播和CDN直播播放失败错误码
- 修复部分已知问题
- 优化低延时直播延时
v3.2.0 - 2022-06-22
- 低延时直播兼容H.265编码和AAC音频格式
- 提升抗弱网性能
- 修复特殊场景下偶现的直播崩溃问题
- 支持H265软解码
v3.1.6 - 2022-05-27
问题修复
修复播放器在特定环境下偶现崩溃问题。
v3.1.5 - 2022-05-18
问题修复
优化在特定情况下低延时直播与 RTC 共同使用时,可能存在的符号警告问题。
升级必看
v3.1.5 版本在 libs
目录下新增 NMCBasicModuleFramework.framework
库文件。
从历史版本升级至 v3.1.5 及以上版本时,如果您是通过手工导入库文件,请将新增的库文件导入到 App 工程。如果通过 Cocoapods 导入,会自动导入新增的库文件。
v3.1.3 - 2022-04-12
问题修复
- 修复 GSLB 在 iOS 15 版本偶现的崩溃问题。
- 修复部分设备上低延时播放失败的问题。
v3.1.2 - 2022-04-02
优化
优化缓冲逻辑,减少直播发生缓冲的几率。
v3.1.1 - 2022-03-18
优化
优化NERTC(低延时直播)协议拉流首帧、延时、弱网等关键指标
v3.1.0 - 2022-01-18
优化
NERTC(低延时直播)协议拉流首帧能力提升
问题修复
修复iOS一些warning
v3.0.0 - 2021-12-29
优化
- NERTC(低延时直播)协议拉流弱网能力提升
- SDK权限及个人信息合规整改
问题修复
修复偶现BUG
v2.9.1 - 2021-08-27
新增特性
补充NERTC(低延时直播)协议拉流异常回调
v2.9.0 - 2021-05-18
新增特性
支持NERTC(低延时直播)协议拉流播放
v2.8.0 - 2021-03-18
新增特性
- 优化统计上报字段
- 兼容互动直播2.0 SEI数据结构
v2.7.1 - 2021-02-22
新增特性
修改窗口尺寸变化的回调逻辑
问题修复
- 修复播放重试偶现黑屏的问题
- 修复Player引擎偶现Bug
v2.7.0 - 2021-01-20
新增特性
支持加密直播流播放
v2.6.0 - 2020-12-16
新增特性
- 支持播放基于HLS的多码率自适应点播视频
- 优化GSLB直播调度模块
v2.5.0 - 2020-11-3
优化
升级player内核
问题修复
修复偶现BUG
v2.4.4 - 2019-10-11
新增特性
- 优化日志写入
- 优化调度逻辑
v2.4.2 - 2019-6-27
新增特性
- 增加DNS拉流灾备
- 增加异常情况网络测速机制
v2.4.1 - 2019-4-25
新增特性
- 增加预调度结果查询接口
- 增加调度结果切换接口
- 修复内存泄漏
v2.4.0 - 2019-4-08
新增特性
- 添加多视频(均带有SEI时间戳信息)同步播放的功能
- 部分日志添加实例区分
- 优化、兼容前面只有音频、视频,而后来又有视频、音频的流
- 添加回报当前播放position的回调
- 添加自定义http header功能
- 增加DataSource外部输入回调接口
- 增加精确seek的超时保护
v2.3.1 - 2019-2-26
问题修复
- 修复FLV格式的视频seek缓冲时间过长的问题
- 修复hls精确seek完成后,实际完成时间与设置时间不符的问题
优化
提高对部分第三方视频的兼容
v2.3.0 - 2019-2-18
新增特性
- 新增:缓存配置的自定义路径逻辑修改,用户需要对每个视频单独设置路径
- 新增:增加gslb缓存强制刷新接口
- 新增:点播缓存策略修改为本地文件,视频云直播地址,rtmp协议地址,hls地址几种类型的不进行缓存(如果设置了缓存参数)
- 新增:增加原始地址统计字段上报
- 新增:直播硬解及hls直播支持追赶
优化
- 优化:所有对外接口均切换到主线程执行(如果不在主线程),保证时序
- 优化:日志模块部分重构,调整日志上传时机,修改为APP重启后延时10s进行上传
- 优化:合并解密流程和播放流程,优化首屏时间
- 优化:定位相关信息获取的位置修改为app生命周期内只拿一次(如果有定位权限)
- 优化:修改GSLB单次的缓存逻辑,在首条视频拉流失败的情况下移除该条调度结果缓存
- 优化:规范switch操作后保留的参数。缓冲策略、缓冲区大小、解码类型、自动播放、静音、镜像、音量、循环播放、精确seek、播放速度、拉流超时、同步时间戳获取回调、PCM回调、YUV回调、重试配置、音轨序号
- 优化:seek完成逻辑,保证每次seek均有配对的NELivePlayerMoviePlayerSeekCompletedNotification进行回调
问题修复
- 修复:修复直播追赶时,分辨率变化的场景下偶现的视频花屏问题
- 修复:seek到最后,loop设置失效的问题
- 修复:实例释放后线程不回收的问题
- 修复:seek完成后返回两次NELivePlayerMoviePlayerSeekCompletedNotification问题
- 修复:修改释放通知在某些异常情况不发送的问题
- 修复:偶现的少量内存泄漏问题
- 修复:解析同步信息和同步时间戳时偶现的的crash
- 修复:部分底层统计字段不准确的问题
- 修复:播放不支持格式的音频文件时出现的crash
- 修复:部分视频loop播放时没有从头开始的问题
v2.2.3 - 2019-1-22
- 放开对第三方点播地址的本地缓冲限制
- 修复在seek完成时的回调多次的问题
v2.2.1 - 2018-12-21
问题修复
- 解决hls多音轨视频没有声音的问题
- 修复部分加密视频无法播放的问题
v2.2.0 - 2018-12-10
新增特性
- 实时信息的获取,包括音/视频接收码率,接收帧率,播放帧率,音/视频缓存时长,音/视频缓存大小,音视频播放时间差
- 兼容多slice编码类型视频硬件解码
优化
- 删除播放器里未使用到的dlsym和dlopen等可能影响上架的动态方法
- 内部统计模块增加线程安全保障,防止crash
- 优化播放过程中,seek到最后的处理逻辑。如果开启了精确seek,seek到最后会直接上报complete事件,避免等待。
问题修复
- 修复设置循环播放后不走重连机制的问题
- 修复播放完成后无法重新play的问题
- 修复多音轨类型的文件默认音轨选择错误的问题
- 限制seek的范围在0和duration之间
- 修复设置循环播放后频繁上报error的问题
- 修复设置软件解码时,误报硬解开启通知问题
- 修复播放出错后底层播放状态不对的问题
v2.1.0 - 2018-10-29
新增特性
- 增加重试配置参数
- 增加缓存配置参数
- 增加加解密配置参数
- 增加带(缓存配置和加解密配置)的切换接口,可以切换任何种类视频
- 增加全局AudioSession配置接口
- 增加私有化配置功能
- 支持1080P硬件解码
- 原始密钥解密方式接口外部传入的原始密钥方式由NSString改为NSData
- 增加缓冲区大小设置接口
- 增加精确seek设置的开关接口
优化
- 性能优化:播放器内部操作队列化管理,防止资源抢占和并发出现的崩溃
- 性能优化:规范切换接口后的动静态参数保留
- 性能优化:优化视频本地缓存的功能,切换缓存的实现机制
- 性能优化:优化释放部分,防止被外部提前释放出现的内存泄漏
- 性能优化:底层解码出错和流解析出错适配多实例情况
问题修复
修复统计上报偶现的崩溃问题
v2.0.0 - 2018-09-06
新增特性
- 新增功能:增加多音轨视频音轨无缝切换
- 新增功能:增加默认音轨选择逻辑
- 新增功能:hls 加密视频自动探测视频格式
- 新增功能:增加所有音轨信息查询接口
- 新增功能:去除多分辨率文件的播放支持
- 新增功能:通知统一在主线程抛出
- 新增功能:增加PCM数据回调支持配置采样率及声道数
优化
- 修复个别场景下出现的内存泄漏问题
- 预调度模块逻辑优化
v1.9.1 - 2018-08-02
问题修复
- 修复硬件解码出现的内存泄漏
- 修复直播硬编码960P推流出现拉流端的持续内存泄漏
v1.9.0 - 2018-07-26
新增特性
- 开放点播循环播放接口
- 点播flv,mp4格式视频本地缓存优化(已经缓存过的seek不再需要发起网络请求)
- 增加水平镜像翻转功能
- 升级ffmpeg 3.4
- 增加滚动示范Demo(使用多实例方式实现预加载演示)
问题修复
- 修复引入预调度之后,端到端延时不准确的问题
- 修复预调度刷新机制失效的问题
- 修复某些GOP较大的视频采用硬件解码切后台再切回前台视频卡住的问题
优化
调度测速策略优化
v1.8.0 - 2018-06-12
新增特性
- H.265 视频硬件解码支持
- 兼容先有视频后有音频,或者先有音频后有视频类型媒体播放
优化
增加网络数据异常防护
v1.7.0 - 2018-05-08
新增特性
- HLS加密视频播放
- 增加预调度接口,优化首屏时间
- 增加点播节点调度
- 增加同步透传信息接收开关
问题修复
- 修复NRTC推流下出现的音视频不同步的问题
- 修复统计上报偶现的崩溃问题
优化
- 集成优化:对外提供framework集成方式
- 集成优化:提供Cocoapod集成方式
v1.6.0 - 2018-03-29
新增特性
- 透传时间戳方案兼容硬件解码
- 透传自定义信息方案
- 增加SRT外挂字幕功能
- 增加日志回调接口
- 增加底层日志记录
优化
多实例场景优化
v1.5.2 - 2018-02-05
问题修复
修复多实例弱网下导致的崩溃
v1.5.1 - 2018-01-31
问题修复
结点调度域名修改
v1.5.0 - 2018-01-29
新增特性
- 新增功能:直播拉流结点选择优化
- 新增功能:增加加密视频切换播放功能
- 新增功能:增加视频落后音频类型文件兼容
问题修复
- 问题修复:获取网络类型卡主线程问题
- 问题修复:修复释放过程中出现的crash问题
v1.4.6 - 2018-01-19
新增特性
- 缓冲策略增加延时追赶模式,NELPDelayPullUp
- 增加时间戳同步方式。
- 增加currentSyncTimestamp同步时间戳查询接口
- 增加setSyncTimestampListenerWithIntervalMS:callback 轮询上报同步时间戳接口
- 增加currentPlaybackRealTime 真实时间戳查询接口
- 增加setRealTimeListenerWithIntervalMS:callback 轮询上报真实时间戳接口
- 增加ffmpeg类型参数配置,优化首屏时间
问题修复
- 修复多CDN内部超时切换时,外部设置的超时时间被重置的问题
- 修复第二次进入播放器时,拉流超时偶现的不上报结束通知问题
- 修复多实例初始化时偶现的锁崩溃问题,偶现播放器释放时的崩溃问题
- 修复外部设置音频抢占模式之后,发生音频抢占并恢复时导致的无声音问题
- 修复OBS拉流端视频卡住的问题
v1.4.3 - 2018-01-10
问题修复
修复多实例共存情况下,频繁释放和初始化各实例导致的崩溃问题。
v1.4.2 - 2018-01-04
问题修复
- 修复https无法播放问题。
- 修复日志回调偶现崩溃问题。
v1.4.1 - 2017-12-26
问题修复
修复多次seek导致的崩溃问题。
新增特性
- 增加新的初始化方式,可以传日志回调方法,进行外部日志记录。
- 增加拉流过程中http的header域字符串形式回调。
v1.4.0 - 2017-12-18
问题修复
- 修复弱网情况下,反复进入退出导致的crash问题
- shutdown接口和switch接口做了线程同步,修复多线程调用时,相关打断导致的崩溃
- 修复playercore延后playervc释放的问题
- 去除日志模块的单例模式,改用对象管理,修复多实例情况下的日志混乱和日志模块的崩溃
- 修复直播多分辨率切换导致的小概率花屏问题
- 修复上传日志接口出现的崩溃。
- 来电打断使用电话状态和声音打断的双重监测,修复小概率电话打断后直播无法恢复问题。
新增特性
- 基于initWithContentURL:接口,新增init接口和setUrl接口。原有接口保留
- 加解密模块去除等待信号量,使用安全的异步回调机制。
v1.3.2 - 2017-11-16
新增特性
增加idx多分辨率自动切换功能
优化
播放器释放部分优化
问题修复
- 修复弱网情况下的内存泄漏问题
- 修复不同文件切换的内存泄漏问题
- 修复前后台暂停和电话打断逻辑冲突的问题
- 修复加密视频内存泄漏问题 。
v1.3.1 - 2017-10-17
新增特性
- 增加Idx多分辨率切换功能相关接口
- 增加初始化错误类型、播放过程中的出错类型
- 增加播放过程中产生的网络返回码
- 增加本地日志路径获取接口
- iOS11 适配,所有与UI相关操作移至主线程
优化
直播和点播切后台逻辑修改。通过setPauseInBackground:开关控制前后台拉流逻辑,设置为NO,sdk不参与前后台操作;设置为YES,sdk,对于直播流,sdk会在进入后台后停止拉流,回到前台后恢复拉流,过程中画面不会出现黑屏现象,对于点播流,进入后台后暂停视频,进入前台后就行播放视频
问题修复 修复已知Bug
v1.3.0 - 2017-08-28
新增特性
- 去除 isToFile: 方法
- setLogLevel修改为工厂方法
- 支持模拟器版本
优化
- 播放器内部逻辑优化
- 升级libNMCBasicModule库
问题修复 修复已知BUG
v1.2.9 - 2017-08-14
新增特性
增加初始化接口initWithContentURL:needConfigAudioSession,可外部配置AudioSession。needConfigAudioSession传递为YES时,内部会对AudioSession进行配置,如果传递NO,内部不会对AudioSession进行操作,外部必须配置AudioSession
优化
- 优化直播拉流超时处理。多CDN情况下,默认先拉第一条流,如果3s内未拉到流数据,则自动切换至第二条流
- 升级libNMCBasicModule库
v1.2.8 - 2017-07-10
新增特性
- 去除直播sdk冲突
- libNMCBasicModule支持Bitcode
- 增加系统库链接libresolv.tbd
v1.2.7 - 2017-07-07
新增特性
- 增加设置flv解密密钥的接口
- 支持视频解码后的yuv数据回调
- 支持音频解码后的pcm数据回调
- 支持精确seek
- 代码优化
**工程变动 **
- 增加 libNMCBasicmodule.a 库
- 集成的时候需要添加 libsqlite3.a 库
v1.2.6 - 2017-06-13
- 支持播放过程中切换播放地址
- 修复一些bug
v1.2.5 - 2017-04-13
修复一个内存泄漏问题
v1.2.4 - 2017-03-30
- 支持flv点播加密视频的解密播放
- 增加直播缓冲极速模式
- 修复一些bug
v1.2.3 - 2016-12-21
- 支持多实例创建
- 支持https拉流
v1.2.2 - 2016-11-25
- 增加拉流超时设置接口
- 增加直播流畅模式设置
v1.2.1 - 2016-10-31
增加音量控制接口
v1.2.0 - 2016-09-26
- 整体结构优化
- 增加视频码流解析失败时的消息上报
v1.1.0 - 2016-09-05
优化点播缓存
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
播放器的初始版本,提供基本的播放功能