FFmpeg开发笔记(七十九)专注于视频弹幕功能的国产弹弹播放器

《FFmpeg开发实战:从零基础到短视频上线》一书的"第 12 章 FFmpeg的移动开发"介绍了如何使用FFmpeg在手机上播放视频,基于FFmpeg的国产播放器开源框架也有很多了,前有哔哩哔哩的ijkplayer,后有小红书的RedPlayer,参见之前的文章《使用国产的ijkplayer播放器观看网络视频》和《使用国产的RedPlayer播放器观看网络视频》。

除此以外,弹弹播放器(DanDanPlayer)也是一款优秀的国产Android播放器,该框架采用Kotlin+Compose开发,突出视频弹幕+中文字幕特色,方便用户理解剧情走向。弹弹播放器(DanDanPlayer)主要提供下列几项功能。
1、支持播放常见格式的本地视频和网络视频;
2、支持根据视频自a动匹配弹幕,以及搜索和下载弹幕;
3、支持根据视频自动匹配字幕,以及搜索和下载字幕;
4、提供每周番剧资讯,支持搜索和查看番剧详情;弹弹播放器的源码托管地址为https://github.com/xyoye/DanDanPlayForAndroid(星星数1.4k),国内的镜像地址为https://gitcode.com/gh_mirrors/da/DanDanPlayForAndroid,最新版本是2025年1月发布的弹弹播放器v4.1.2,可见该框架的源码更新十分及时。
弹弹播放器的demo工程包含下列模块:
1、app:项目入口模块,包含启动页及主框架。
2、anime_component:动画模块,首页、搜索、季番、番剧详情等。
3、storage_component:下载模块,包括Torrent下载(未完成)、磁链解析。
4、Stream:网络数据模块,包含SMB、FTP、WebDav、串流等。(存疑,App工程未找到对应模块)
5、local_component:本地数据模块,包含本地视频、弹幕下载、字幕下载。
6、user_component:用户模块,包含用户信息、登录注册、应用设置等。
7、player_component:播放器模块。
8、common_component:基础模块,包括基类、通用组件、工具类等。
9、data_component:数据模块,包含普通Bean类、数据库Entity类、枚举类等。
虽然弹弹播放器的源码采用Kotlin+Compose编写,但未要求太高的Gradle版本,即使采用Android Studio Dolphin(小海豚版本)也能编译运行弹弹播放器的demo工程。等待弹弹播放器工程编译通过,把demo应用安装到手机上,启动之后的App界面如下图所示:

可见弹弹播放器会自动搜索手机上的视频目录。进入某个目录后选择一个视频,弹弹播放器就打开全屏播放窗口如下图所示:

可见不但视频下方正常显示中文字幕,视频上方也呈现着从右向左滚动的多彩字幕,大大提高了用户的观影体验。

总结一下,弹弹播放器使用简单,弹幕功能别具一格,是个不错的国产播放器。

更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

相关推荐
逐光老顽童1 天前
Java 与 Kotlin 混合开发避坑指南:30 个真实案例实录
android·kotlin
爱勇宝2 天前
鸿蒙生态的下半场:开发者不只要能开发,还要能赚钱
android·前端·程序员
Yeyu2 天前
刷新一帧的艺术:invalidate / postInvalidate / postInvalidateOnAnimation全解析
android
潘潘潘2 天前
Android OTA 升级原理和流程介绍
android
RTC实战笔记2 天前
Android 实时音视频接入教程:媒体补充增强信息(SEI)
音视频·媒体·rtc
plainGeekDev2 天前
null 判断 → Kotlin 可空类型
android·java·kotlin
plainGeekDev2 天前
getter/setter → Kotlin 属性
android·java·kotlin
YXL1111YXL2 天前
Handler 消息回收与协程异步执行的时序陷阱
android
恋猫de小郭2 天前
KMP / CMP 鸿蒙版本 Beta 发布,他有什么特别之处?
android·前端·flutter
三少爷的鞋2 天前
Android 协程并发控制:别动线程池,控制好并发语义就够了
android