Redian新闻
>
小红书开源跨平台播放器REDPlayer,支持多平台、多格式、多协议

小红书开源跨平台播放器REDPlayer,支持多平台、多格式、多协议

公众号新闻

播放器最初出现在 19 世纪,当时主要用于播放音频,例如通过留声机播放唱片。

随着技术的进步,音频播放器不断改进,品质越来越好,体积也越来越小。到了今天,通过手机或网络,人们可以随时随地播放音频和视频。

优秀的播放器有几个特性:需要提供强大、可扩展的功能,流畅的播放效果,顺畅的用户体验,兼容主流平台,资源占用小,安全性高。而市面上大多数播放器在兼容性、功能、性能、可定制性等方面还有一定的优化空间,这也是很多开发者/公司选择自主开发播放器的原因之一。

基于此,小红书自主研发了一款跨平台播放器 —— REDPlayer。不同于行业其他播放器,REDPlayer 具有结构简单、耦合度低、功能边界清晰等特点,提供了多种接入方式,技术人员可根据需要灵活选择,既可快速集成 SDK 使用,也可基于源码进行定制开发。

REDPlayer 开源地址:
https://gitee.com/rte-dev/RedPlayer

划重点:Android、iOS、HarmonyOS 等平台统统支持!如 HLS、MP4、FLV 等多种协议和格式也都支持~

关于 REDPlayer

REDPlayer 的宗旨是让开发者可以快速清晰的了解播放器的基本构造,并可根据个人需求进行简单扩展,满足不同用户的多样需求,可作为学生学习的基础工具,也可作为企业的商用平台。

REDPlayer 架构图

REDPlayer 支持点播、直播场景下的多种协议和格式(如 HLS、MP4、FLV 等),并可二次扩展更多协议(如 RTC 等)。每个模块均是解耦的,开发者可以根据需要挂载自定义模块,如自研解码器、渲染器等。

功能亮点

在过去,由于代码质量、文档等问题,播放器的二次开发和定制化很困难。REDPlayer 兼容多平台,开发者现在可以直接集成 REDPlayer,提高开发效率,节省开发时间,让大家更加专注于业务逻辑的开发。此外,REDPlayer 架构清晰、扩展性好,这为二次开发提供了便利,可以根据实际业务需要定制播放器的功能,提升用户体验。

功能支持全面,降低开发成本

  • REDPlayer 同时支持多端(如:Android、iOS、HarmonyOS 等)点播、直播下的多种协议和格式(如:HLS、MP4、FLV 等);

  • 支持预载、边下边播等功能,减少等待时间,提升播放流畅性,给用户更好的观看体验;

  • 选择性支持 HDR、超分等能力。

便利的二次开发

  • 架构清晰、结构简单,各模块耦合度低且可插拔、拓展性较好,能满足不同包体积要求下的业务使用。

低成本

  • 内存占用较小、接入成本较低,可同时满足不同的场景使用(如:课堂学习、企业商用等)。

用户自主性高

  • 可选择直接根据 Interface 快速接入 SDK 使用、也可以选择基于 REDPlayer 代码做二次开发。开发者们可以根据自身需要选择。

目前 REDPlayer 开源的功能支持用于创建更复杂的场景,例如在播放一个视频的过程中,用户可以通过拖动进度条进行实时预览,或在观看过程中同时输入文字形成弹幕等,以丰富整个互动场景的体验。甚至,可以通过 REDPlayer,实现将抠图后的人像与视频画面共享叠加在一起的新视频画面。

REDPlayer 集成与使用

那么如何开始集成 REDPlayer 呢?REDPlayer 支持两种形式的接入方式,即直接 SDK 接入和代码接入,下面将针对这两种方式进行一一说明。

直接 SDK 接入

REDPlayer 既支持单一 URL 的输入,也支持多 URL 的方式(JSON 方式)输入,使用者可根据自己的需求灵活选择。

具体步骤如下:


IMediaPlayer mMediaPlayer = new RedMediaPlayer(); //创建播放器、初始化

mMediaPlayer.setDataSource(mAppContext, url); //设置url

mMediaPlayer.setEnableMediaCodec(true); //配置播放参数 mMediaPlayer.setVideoCacheDir(cacheDir);
mMediaPlayer.setLoop(true);
...

mMediaPlayer.prepareAsync(); //prepare


mMediaPlayer.start(); //开始播放,prepared状态后调用
至此,视频已经正常播起来了,接下来用户可以根据需要调用不同的接口(具体可见 INTERFACE 介绍)获取对应的信息或做对应的动作,如:
void pause(); //暂停播放
void stop(); //停止播放
void reset(); //重置播放
void release(); //退出播放
long getCurrentPosition(); //获取播放位置
long getDuration(); //获取视频时长
float getSpeed(); //获取播放速度

C++ 代码接入

该模块可基于上述架构图中介绍,用户选择性地接入或替换,在此暂不做详细说明,具体可见开源工程(https://gitee.com/rte-dev/RedPlayer)。

REDPlayer 目前已进行了第一波代码的开源:1、播放中间层代码开源(含:实例管理、接口调用等),2、REDPlayer 以 SDK 的形式开源。

未来,REDPlayer 也将持续维护迭代,将陆续引入 OpenCore 核心模块的自定义开发和支持鸿蒙系统设备应用等功能,开源 OpenCore 模块代码、鸿蒙版块,进一步提升 REDPlayer 相关能力和开发者体验。



微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Bun 为 JavaScript 和 TypeScript 开发者提供了一个跨平台的 Shell小红书女员工泄密遭辞!牵出B站副总裁男友维权,称曾谢绝小红书CEO邀请加入网红“王红权星”被各大社交平台封禁!多平台搜索已查无此人小红书:小红书2023香水香氛营销宝典[视听] 好汉不提当年勇?聊聊山灵EM5桌面安卓播放器英伟达净利润暴涨六倍,股价将突破 1000 美元/拼多多市值再超阿里/B 站取消视频播放时长取代播放次数BB鸭 | 《地下城与勇士》回归;多平台公布微短剧备案细则;苹果宣布史上最大降价;小红书回应平台可“领养孩子”Extreme Weather Battered China in 2023. This Year Could Be Worse开源 Redis 的生命将就此终结?Redis 之父回应分叉浪潮:未来谁能领先,各凭本事!开源日报 | 华为腾讯相爱相杀;Redis不再 “开源”;老黄集齐Transformer论文七大作者;“中国大模型第一城”争夺战欧洲简史小红书种草学:2024年乳品行业小红书618高质量增长攻略小红书种草学:2024年酒水饮料行业小红书618高质量增长攻略空客首次展示“半飞机半直升机”新型飞行器Racer义工随笔:龙年晋级历险记昔日音乐播放器王者!Winamp 宣布 Windows 端 9 月开源小红书:2024小红书餐饮行业方法论报告轉发:中國底層為什麼如此穩定?微软跨平台开发新思路:React Native 如何赋能 Office、Teams、Xbox 等应用?Year After Going Under, China’s Iconic Online Forum Plans Return微软开抢年收入上亿美元的 Redis 饭碗?开源性能遥遥领先的 Garnet:无需修改,Redis 客户端可直接接入渔歌子(3首):农庄二月备耕勤美国老板电器ROBAM年中大促!最高立减$1250+送双立人礼品速度秒杀GPT-4o!Mistral开源首个22B代码模型破记录,支持80+编程语言头条号回采、多平台账号指标监测功能上新!赶紧尝鲜!开源日报 | AI PC价值在哪?Windows格式化对话框的UI用了30年;丑头像生成器;独立Redis Copyleft分支一款高颜值、开源、跨平台的电子书阅读器古今长联B站放弃用播放时长代替播放量;拼多多Q1营收增长131%;周黑鸭推出新模式门店... | 刀法品牌热讯Unity警告:手游ARPU下滑13%、IAA增长,62%用AI、多平台成大势再战社交,支付宝为何挖小红书、抖音墙角?元象首个多模态大模型 XVERSE-V 开源,刷新权威大模型榜单,支持任意宽高比输入从 Redis 开源协议变更看开源软件与云计算巨头之间的竞争博弈小红书宠爱有力量-小红书2024宠物行业洞察报告小红书内测跳转企业微信,会重构小红书的商业化路径吗?
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。