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

相关推荐
蒸鱼Yuzheng11 分钟前
移动游戏功耗与能效归因:帧率、画质、温控和续航如何一起评估
android·性能测试·功耗优化·游戏性能·温控
ACP广源盛1392462567331 分钟前
HDMI2.1 同源双屏方案选型,GSV6502@ACP 工程评估笔记
笔记·硬件架构·音视频·硬件工程·hdmi·国产芯片
hai_android1 小时前
Android 设备锁定:Kiosk Mode 实战
android·java·android jetpack
我不会插花弄玉1 小时前
9. 表的内连和外连【由浅入深-MySQL】
android·数据库·mysql
Likeadust1 小时前
一文吃透云点播/本地点播/网络点播EasyDSS点播模块
网络·音视频·easydss
嘟哩DuliDuli1 小时前
剧本节点输入归一化:文本来源、版本与下游引用
android·人工智能·安全·ai·软件工程
小诗懂技术2 小时前
V4L2视频采集流程复习笔记
笔记·mysql·音视频
high一马平川2 小时前
# SystemUI Dagger2 精读 · 第 2 章 @Inject:1200 处构造注入,和 1 处例外
android·java·kotlin
多看书少吃饭2 小时前
使用 Qwen 实现实时语音、视频聊天与屏幕共享:原理、接入流程与工程实践
microsoft·音视频
余槐i2 小时前
yt-dlp 线程开到 16 反而更慢:1000 个视频的实测与限速原因
性能优化·ffmpeg·自动化·开发工具·yt-dlp