开源flashplayer汇总.

2024-02-24 14:48
文章标签 汇总 开源 flashplayer

本文主要是介绍开源flashplayer汇总.,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

以前 刚开始研究flash的时候,搜集了很多开源的flashplayer,仅向vc上就移植了不下五款,但基本上没有一个可以直接使用用的。都存在诸如性能,内存,功能等方面的不足,下面我分别列举一些希望对有兴趣的朋友有点帮助。

1.swfdec.
这个知名度很高,曾作为一些linux发行版本的组件,但目前已经停止更新。
1).swfdec支持到swf 7,全部使用c开发,大量使用了glib这也限制了它的移植性。
2).采用cairo渲染,.
3).使用mad作为mp3解码器,后来版本也加入了flv支持,需要GStreamer 作为视频解码。
4).vm的实现上感觉结构混乱,object 属性采用hash存储,当然这样要比gnash使用std::map快一些(我在自己的fp中借鉴了lua hash的方式来实现属性的存取,效果的确很好)。

2.fadflash,gplflash,flirt.
这几个都还算不是完整的播放器,支持的swf版本也大都在flash 5以内,但这更适合初学者学习。其中感觉flirt的结构很好,可以很清楚的把flahsplayer的原理展现出来。

3.lightspark
这个可能知道的人很少,它是09年才发起的一个项目(好像是创始人的毕业设计),到目前为止一直都很活跃,它最初的目标是播放网络上大量的基于as3的flash视频,低版本使用gnash播放,但我看后来的代码也加入了渲染以及低版本的支持。
1). 知道的唯一支持as3的开源fp.
2).渲染上使用了cairo和opengl加速。
3).as3执行使用apple的llvm实现而没有使用adobe的开源的Tamarin,所以它更像是一个学术研究。

4.GameSWF,Gansh.
Gansh好像是06年从GameSWF迁移到GNU下的一款fp, 经过几年的维护,是目前对swf8以下功能支持最全的一款开源fp,但swf8的Bitmap,filter等特性仍没有实现。gnash早先几个版本里也曾尝试支持avm2,但新版本里还是放弃了对as3的支持。我最奇怪的是gnash在设计上似乎从来没有考虑过“性能”这问题,更像一个swf功能的展示器。
gnash性能瓶颈:
1).render支持agg,cairo,虽然也支持opengl 但经我测试效果极差。agg算是支持最好的。我曾用google skia 实现了一个渲染后端,速度竟然就远远超过了默认的agg实现。gnash出于支持多种渲染后端考虑,在shape,style等渲染元素的存储上使用了自定义的格式,抽象出了Renderer接口进行绘制,agg,cairo等分别子类了Renderer_agg,Renderer_cairo,在绘制时要实时将中间渲染格式转换为agg或其他,这一点对性能损耗极大。
2).vm,在as性能最核心的地方gnash却大量的使用的std,boost等通用库,例如object属性存取使用std::map,这种平衡二叉树在处理大数据上的确很优秀,但对于as object这种轻巧的对象显然有些笨重。
3).结构,我认为结构是影响软件性能的最主要原因之一,Gansh在这方面做的却很少,看看最初GameSWF,发现Gansh的重构也是有限的。但整体上还是要好于swfdec的。

gnash很重:看一看gnash的依赖:render(agg,cairo..),gui(gtk,sdl...),sound,video(gstreamer,ffmpeg),boost,stl,curl.libgif,jpeg,png等,想想如果不做裁剪的话这些库加起来应该大于20MB.

这篇关于开源flashplayer汇总.的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/742443

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

K8S(Kubernetes)开源的容器编排平台安装步骤详解

K8S(Kubernetes)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序。以下是K8S容器编排平台的安装步骤、使用方式及特点的概述: 安装步骤: 安装Docker:K8S需要基于Docker来运行容器化应用程序。首先要在所有节点上安装Docker引擎。 安装Kubernetes Master:在集群中选择一台主机作为Master节点,安装K8S的控制平面组件,如AP

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank 正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

开源分布式数据库中间件

转自:https://www.csdn.net/article/2015-07-16/2825228 MyCat:开源分布式数据库中间件 为什么需要MyCat? 虽然云计算时代,传统数据库存在着先天性的弊端,但是NoSQL数据库又无法将其替代。如果传统数据易于扩展,可切分,就可以避免单机(单库)的性能缺陷。 MyCat的目标就是:低成本地将现有的单机数据库和应用平滑迁移到“云”端

【Kubernetes】常见面试题汇总(三)

目录 9.简述 Kubernetes 的缺点或当前的不足之处? 10.简述 Kubernetes 相关基础概念? 9.简述 Kubernetes 的缺点或当前的不足之处? Kubernetes 当前存在的缺点(不足)如下: ① 安装过程和配置相对困难复杂; ② 管理服务相对繁琐; ③ 运行和编译需要很多时间; ④ 它比其他替代品更昂贵; ⑤ 对于简单的应用程序来说,可能不

LLM系列 | 38:解读阿里开源语音多模态模型Qwen2-Audio

引言 模型概述 模型架构 训练方法 性能评估 实战演示 总结 引言 金山挂月窥禅径,沙鸟听经恋法门。 小伙伴们好,我是微信公众号《小窗幽记机器学习》的小编:卖铁观音的小男孩,今天这篇小作文主要是介绍阿里巴巴的语音多模态大模型Qwen2-Audio。近日,阿里巴巴Qwen团队发布了最新的大规模音频-语言模型Qwen2-Audio及其技术报告。该模型在音频理解和多模态交互

【Kubernetes】常见面试题汇总(一)

目录 1.简述 etcd 及其特点? 2.简述 etcd 适应的场景? 3.简述什么是Kubernetes? 4.简述 Kubernetes和 Docker的关系? 1.简述 etcd 及其特点? (1)etcd 是Core0s 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(keyvalue)数据