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 天前
CANN Runtime 运行时组件深度解析:任务调度机制、存储管理策略与维测体系构建逻辑
android·运维·魔珐星云
我命由我123451 天前
Android 广播 - 静态注册与动态注册对广播接收器实例创建的影响
android·java·开发语言·java-ee·android studio·android-studio·android runtime
朗迹 - 张伟1 天前
Tauri2 导出 Android 详细教程
android
sweetone1 天前
LINN莲CLASSIK桌面音响微修
经验分享·音视频
lpruoyu1 天前
【Android第一行代码学习笔记】Android架构_四大组件_权限_持久化_通知_异步_服务
android·笔记·学习
独自破碎E1 天前
【BISHI15】小红的夹吃棋
android·java·开发语言
Echo_NGC22371 天前
【FFmpeg 使用指南】Part 3:码率控制策略与质量评估体系
人工智能·ffmpeg·视频·码率
晚霞的不甘1 天前
CANN 编译器深度解析:UB、L1 与 Global Memory 的协同调度机制
java·后端·spring·架构·音视频
李堇1 天前
android滚动列表VerticalRollingTextView
android·java
美狐美颜SDK开放平台1 天前
多终端适配下的人脸美型方案:美颜SDK工程开发实践分享
人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk