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

相关推荐
lKWO OMET7 小时前
mysql之字符串函数
android·数据库·mysql
JK Chen7 小时前
faster_whisper,视频转文字,并生成字幕文件
python·whisper·音视频
liang_jy18 小时前
Android SparseArray
android·源码
liang_jy18 小时前
Activity 启动流程扩展篇(一)—— startActivityInner 任务决策全解析
android·源码
NPE~19 小时前
[App逆向]脱壳实战
android·教程·逆向·android逆向·逆向分析
木易 士心20 小时前
别再只会用 drawCircle 了!一文搞懂 Android Canvas 底层机制
android
AtOR CUES21 小时前
MySQL——表操作及查询
android·mysql·adb
怣疯knight1 天前
安卓App无法增加自定义图片作为图标功能
android
jinanwuhuaguo1 天前
OpenClaw联邦之心——从孤岛记忆到硅基集体潜意识的拓扑学革命(第二十三篇)
android·人工智能·kotlin·拓扑学·openclaw
老姚---老姚1 天前
编译支持HEVC/H.265 over RTMP / Enhanced RTMP 的 ffmpeg
ffmpeg·h.265·hevc·rtmp·enhanced