Shaka Player 4.11.18版本发布:媒体播放引擎的重要优化与修复
Shaka Player是由Google开发的一个开源JavaScript媒体播放器库,主要用于在Web浏览器中播放自适应流媒体内容。它支持多种流媒体协议,包括DASH、HLS等,并提供了丰富的功能和API供开发者使用。本次发布的4.11.18版本主要针对播放器的核心功能进行了多项优化和错误修复。
媒体源扩展(MSE)相关改进
在4.11.18版本中,开发团队对媒体源扩展(Media Source Extensions)的处理逻辑进行了优化。当处理混合(muxed)内容时,播放器现在会避免不必要的MSE重置操作,这有助于提升播放的流畅性和性能表现。同时,修复了当MediaSource的readyState状态不是open时调用init方法的问题,现在会正确地重新打开MediaSource,确保播放器能够正常初始化。
传输流(TS)处理优化
对于HLS传输流(TS)内容的处理,本次更新做了多处改进。首先修正了在只有视频或音频的VOD内容中使用EXT-X-PROGRAM-DATE-TIME的问题,避免了不必要的时间戳处理。其次,修复了在段(segments)模式下原始格式(raw formats)的时间戳偏移问题,确保音视频同步更加准确。此外,还解决了TS媒体播放列表中禁用音频/视频的正确处理逻辑。
字幕与文本显示改进
在字幕支持方面,修复了WebVTT字幕文件识别的问题,特别是针对使用cmft扩展名的字幕文件。对于文本显示组件,移除了UITextDisplayer中不必要的弃用警告,并在SimpleTextDisplayer中添加了额外的保护措施,增强了文本显示的稳定性。
加密与DRM相关修复
在数字版权管理方面,本次更新修复了ClearKey许可证在旧版内容解密模块(CDM)上的兼容性问题。同时改进了许可证服务器选择逻辑,现在当配置中存在其他密钥系统的许可证服务器时,不会忽略清单(manifest)中指定的许可证服务器,确保了DRM系统的正确工作流程。
播放控制与用户体验
在播放控制方面,修复了播放速率相关的两个问题:现在允许用户选择1x播放速率,即使默认播放速率不是1x;同时解决了选择播放速率时视频自动开始播放的问题。此外,还改进了对播放范围(playRange)配置的遵循程度,确保在使用src=属性时也能正确应用配置的播放范围。
离线存储支持扩展
本次更新扩展了离线存储功能,现在支持存储MSS(Microsoft Smooth Streaming)流媒体内容,为开发者提供了更广泛的离线播放场景支持。
性能优化
在性能方面,减少了不必要的isTypeSupported调用,优化了代码执行效率。同时修复了传输器(transmuxer)在处理PES包之间溢出数据(视频NAL单元和AAC样本)时的问题,提高了媒体处理的稳定性。
Shaka Player 4.11.18版本通过这些细致的优化和修复,进一步提升了播放器的稳定性、兼容性和用户体验,为开发者构建高质量的流媒体应用提供了更加强大的基础。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0214
cann-learning-hubCANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。Jupyter Notebook0138
uni-appA cross-platform framework using Vue.jsJavaScript08
GLM-5.2智谱开源 GLM-5.2,这是针对长文本任务的最新旗舰模型。相较于前代产品 GLM-5.1,它在长文本任务处理能力上实现了显著飞跃,并且首次在稳定的 100 万 token 上下文中提供这一能力。Jinja00
SwanLab⚡️SwanLab - an open-source, modern-design AI training tracking and visualization tool. Supports Cloud / Self-hosted use. Integrated with PyTorch / Transformers / LLaMA Factory / veRL/ Swift / Ultralytics / MMEngine / Keras etc.Python00
tiny-universe《大模型白盒子构建指南》:一个全手搓的Tiny-UniverseJupyter Notebook03