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开发实战:从零基础到短视频上线》一书。

相关推荐
知南x5 分钟前
【STM32MP157 视频监控项目】(2) 移植 Nginx
stm32·nginx·音视频
王正南18 分钟前
安卓逆向之LSposed开发(一)
android·xposed·lsposed
YIN_尹1 小时前
【MySQL】数据类型(上)
android·mysql·adb
robotx3 小时前
AOSP设备节点权限添加相关
android
顾林海3 小时前
Android文件系统安全与权限控制:给应用数据上把“安全锁”
android·面试·操作系统
青莲8433 小时前
Android 动画机制完整详解
android·前端·面试
城东米粉儿3 小时前
android 离屏预渲染 笔记
android
未知名Android用户3 小时前
Android自定义 View + Canvas—声纹小球动画
android
_李小白3 小时前
【Android FrameWork】延伸阅读:AMS 的 handleApplicationCrash
android·开发语言·python