[✔️]在cocos2dx中播放视频方案调研

简介: [✔️]在cocos2dx中播放视频方案调研

cocos2dx 在Windows上并没有实现视频播放


可选方案


lib 协议 大小 备注
FFMpeg GPL/LGPL github download
OpenCV BSD 5-6M 任意使用,只能显示图形,不能显示声音
x264 github
vlc 优点:支持win、mac、Android,支持http等流媒体
缺点:Android包体16M,Windows 2M
教程
ljkPlayer bilibili基于ffmpeg开发,只支持Android,ios
ExoPlayer Google提供的Android视频播放器
优点:包小,只有1.1M
缺点:Android5.0之后Codec架构调整,ExoPlayer没有做过多的兼容,只适合简单的视频播放场景,只支持Android
CRI Sofdec 成熟的商业视频中间件,首个平台授权11w,追加平台6w
theoraplayer 基于ffmpeg搞的一个demo
libvpx BSD
Theora 播放特定的格式 因为是BSD协议,和H264是竞争关系,虽然现在不维护了,不过这也直接导致H264开源


FFMpeg GitHub Builds


5.1 avcodec-59.dll avformat-59.dll
lgpl 50M 12.2M
gpl 74M 12.4M
4.4.3 avcodec-58.dll avformat-58.dll
lgpl 46M 12.2M
gpl 71M 12.26M


以上的FFMpeg对应的dll都非常大,但是我在我的电脑上发现钉钉的软件也有使用FFMpeg,但是他们的avcodec.dll只有10M+。


经过后来自己的编译发现,如果在configure的配置中增加一些优化选项,的确是10M+,所以GitHub上的builds,大概率都是没有增加任何的优化选项,仓库编译的逻辑我也懒得看了。


编译文件大小


ffmpeg-file win(lib/dll) android armv8-a (a/so)
avcodec 58k/8.2M 12.3M/7.42M
avfilter 19k/2.03M 3.74M/2.04M
avformat 41k/1.64M 3.87M/1.68M
avutil 118k/473k 490k/282K
swresample 7k/165k 114k/65K
swscal 9k/456k 478K/265K
总计 249k/12.9M 21M/11.7M


结果


我最终使用的FFMpeg v4.2.2,在GitHub上也找到了这种方案的开源代码,简单review了下代码,其原理是通过FFMpeg解析出视频每一帧的纹理数据,并存储在一个cache中,在使用的时候,通过update驱动frame的前进,然后不停的从cache中获取对应frame的纹理,然后渲染出来,其中decode的过程,作者使用了多线程。


音频作者并没有处理,需要后续自己补充上,具体效果后续同步下结果。


目录
相关文章
|
3月前
|
文字识别 安全 API
iOS Crash 治理:淘宝VisionKitCore 问题修复(下)
iOS Crash 治理:淘宝VisionKitCore 问题修复(下)
148 0
|
12月前
|
JavaScript 数据安全/隐私保护 iOS开发
精确定位 Cocos 线上报错
精确定位 Cocos 线上报错
116 0
精确定位 Cocos 线上报错
|
3月前
|
双11 Android开发 数据安全/隐私保护
iOS Crash 治理:淘宝VisionKitCore 问题修复(上)
iOS Crash 治理:淘宝VisionKitCore 问题修复(上)
140 0
|
人工智能 搜索推荐 定位技术
CorelDRAW2023新版本有哪些全新的亮点?
CorelDRAW作为一款专业的平面设计软件,拥有着庞大的用户群体,而每年春天CorelDRAW新版本的发布也牵动着每一位小伙伴的心。今年也不例外,最近一个月来,网上爆料了很多CorelDRAW新版本的消息,而现在CorelDRAW终于传来了好消息—2023年3月即将发布全新版本,那本次的新版本会有哪些不一样又有哪些新功能呢?我们一起来预测一下吧。
190 0
|
Android开发 iOS开发 开发者
直播软件开发关于Android、iOS中的视频采集步骤
很多人对直播软件开发还是抱有想法的,但是在这个资本冷静的市场下,直播平台该怎么玩,在直播软件开发过程中哪些功能是必须具备的,这都是值得关注的话题。今天我们给大家分享一份详细的直播软件开发关于Android 、iOS音视频采集步骤讲解。
|
编解码 Android开发 iOS开发
|
Web App开发 Java API
Gradle 5.0 正式版本发布,一大波新特性来袭
> **官方 5.0 Release Note 链接**:https://docs.gradle.org/5.0/release-notes.html ### 前言 在历经了一年多时间, 20 个 4.x 系列版本的迭代后,Gradle 官方终于在 11月26日 发布了 5.0 的正式版本,让我们赶紧来看一下有哪些令人激动的新特性。 #### 官方新特性一览 - Kotli
1158 0