Total Pageviews

Showing posts with label ActionScript/Flash/flex. Show all posts
Showing posts with label ActionScript/Flash/flex. Show all posts

Tuesday, 10 July 2018

中国版 Flash 大肆收集用户隐私

中国版 Flash 被发现附加了可用于收集用户隐私的 Flash Helper Service。这是自 Flash 推出中国版并锁区之后的第一起丑闻。随着 Flash 逐渐淡出 Web 平台,它的所有者显然想榨取出它的最后一丝价值。
Flash Helper Service服务是国内版特有且不可禁用的
卡饭有人总结的中国版flash用户协议:
1.用户从使用本程序起既视为重橙已经获得用户的明确授权
2.重橙会通过该程序收集用户的上网信息
3.重橙可将用户信息共享给司法机关 行政机关 第三方合作伙伴
4.发生数据泄漏用户不得追究重橙的法律责任.
--------
其实,简体中文版的操作系统,比如简体的微软视窗系统还有简体的安卓系统,也是被中国特色软件劫持了的,也是任意搜集用户操作和键盘鼠标行为的,所以你要想保全你的隐私,不被广告精准定位推送或轰炸,那只用用繁体字软件或者别的语种软件了,譬如用英文版。

Thursday, 19 October 2017

开源媒体框架(OSMF)的介绍和概况

对于那些要在网络或者手机设备上发布视频、音频或者其他丰富媒体的机构,Adobe公司有一个开源媒体框架(Open Source Media Framework),它可以大大的降低时间、成本以及创建视频和媒体播放器的风险。基于OSMF的视频和播放器可以运行在Adobe Flash Player和Adobe AIR上。

OSMF本身是一个给开发者使用的ActionScript3代码库,他们用Adobe Flash CS4 Professional和Adobe Flex Builder 3来创建媒体播放器(如同其他创建ActionScript应用的工具一样)。

这篇文章将会给你介绍OSMF、Adobe创建OSMF的目标背景以及OSMF的优势。为了更深一步研究OSMF还提供了一个可用资源的概览。

一、背景和目标
Adobe公司已经证实了在建立Flash Player上的成功之处。Flash Player在网络上为客户端用户接口作为一个普遍存在的运行时,并且可以随时增加移动设备。对于Flash Player的合作者,其普及具有相当大的益处。这对于其他发布视频以及富媒体的合作者也是如此。
我们可以在provenWebVideo.com上研究建立互动媒体播放器。根据这个领域的专业知识,我们发现Adobe公司对OSMF的新倡议是一个很明显的征兆,Adobe公司仍然是解决问题的核心力量,合作者可以依靠它来进行网络的视频传输。对于OSMF,Adobe公司还重申了他们合作的开放性:开放资源、开放标准、开放规格、开放创新以及在业内的合作。
Adobe公司正积极的与业界的众多参与者共同努力来达成以下目标:
(1)改进视频的体验
(2)把视频和媒体的体验扩展到移动设备上
(3)同时帮助客户降低媒体应用的开发时间、提高货币化的内容以及降低开发的成本
在推行OSMF的时候,Adobe公司已经和Akamai公司合作,该公司很早就提出了开放视频播放器的倡议。两个公司现在正在创建一个Flash平台上的媒体播放器,它具有的功能远远超出了最初对开放视频播放器的设想。
OSMF本身建立于Flash Player之上,它保留了现有在网络上对丰富媒体的各种选择:视频、音频、动画、互动游戏以及其他应用程序。
OSMF是Adobe公司在移动设备上开放屏幕计划的一部分。Adobe公司公布了将把Flash Player 10.1部署在移动设备上的同时也正不断发展在移动设备上的开发与部署的便利性。
在某些情况下提出OSMF就是严格地创建“客户”程序,它运行在Flash Player上(程序被编译生SWF字节码文件,运行时由Flash Player执行)。OSMF基于ActionScript 3。目前用1.0版本的OSMF开发需要开发者有ActionScrip 3的编程经验(期望将来的OSMF版本会致力于可视化编程组件,可以供Flash Professional CS5设计者使用)。
二、重要的优点
无论对于较大的、战略性的媒体播放器产品还是较小的视频播放器项目,OSMF都能够使开发者通过减小成本以及开发风险改变媒体播放器的开发过程。OSMF通过如下几个方法达到这些目的,本节将讨论这些方法的细节:
开源的意义远远超出仅仅的自由许可成本
OSMF的前两个单词“开源”突出了OSMF最明显的优点。它是Adobe为数不多的一种从开始阶段便开源的独特产品。对于我们以及其他用户,其优点都是多方面的。
第一个优点便是开发成本。开放源意味着这个软件是免费的。没有许可成本:没有许可成本、不用开发、不用部署。而且,OSMF可以为任何商业组织机构的需求进行免费更改。对于开源空间同样重要,Adobe和它的合作伙伴Akamai有意设计OSMF可用来避免许可诉讼的风险,他们创造了一种全新的代码基础并且将其直接用于OSMF项目。OSMF以Mozilla Public License,1.1版本(MPL)被公布。OSMF的许可证、专利以及重新分配策略均在Adobe Open Source wiki上有概述。
开源是开源的开发过程以及免费的许可。因此,对于OSMF开发者一个重要的优点是所用的基础源代码均可以从公共的Subversion repository上下载。
OSMF的资源同样可以从发布的产品中下载,包括发布的便签、更新文档和其他资源。目前早期发布的产品已经在开发“sprints”时完成,并且把其叫做发布的sprint。OSMF发布了的产品下载已经可以从OSMF下载页得到。
OSMF的开源开发过程同样会引起Adobe和其合作者公开OSMF开发团队使用的说明书。对于基于OSMF的开发者,这些说明书可以对理解基础的OSMF发挥无以伦比的作用。OSMF的说明文档的链接可以从OSMF Features and Sprecification page公开得到。
另一个突出的优点是软件的资源。Adobe是世界级的商用软件公司。通过OSMF,Adobe致力于其资源可以同其致力于商用产品媲美。这包括专业的开发,质量保证,程序说明书以及支持资源。在用开放资源软件的过程中,能够依赖有质量的产品很关键;通过Adobe的支持,开发者可以充分信任产品的质量以及可提供的支持。
下文将列举在支持方面的许多例子。三个最初的突出方面是Adobe的建立、支持以及维护pubulic bug and feature request database 和public supprt forums for OSMF,而且Adobe的团队录用是通过用户组项目。
OSMF是一个媒体传递技术以及标准的联结
作为用途广泛的媒体传送已经从广播、DVD到通过互联网的数字传送,许多后台技术已经被Adobe和例如Akamai的CDNs开发以保证用户有满意的体验,包括可信赖的传输。对于OSMF来说,这项技术集中于两个关键方面:
· Flash player用户在OSMF申请执行的方面。
·互联网服务器从OSMF申请接受其内容。
在OSMF之前,Adobe已经提供了一个提前建立的叫做FLVPlayback视频播放器(从Flash 8后的Flash版本起开始提供)。虽然FLVPlayback为视频播放器开发者提供了一个默认的起始点,但它的架构没有公开。FLVPlayback仍然被包括在Flash CS5内,并对于一个快速的单独的视频播放器保持着一个好的起始点。尽管这样,OSMF现在为更复杂的视频及媒体播放器提供了一个可替换的起始点,尤其是支持以文章为特征的类型。由于Adobe开发了新的媒体传送功能,它将首先通过增强OSMF为预建的视频播放器功能(可能是独家的)提供支持。这些功能将包括两方面:用户方面的功能,即Adobe继续支持Flash Player;服务者方面的功能,即包括那些添加到Adobe Flash Media Server的功能。
OSMF开始支持的新媒体传送功能将包括以下方面:
Flash player
·应用程序服务接口的质量(aka QoS)
·数字权利管理的应用程序接口(aka DRM)

服务器端
· HTTP流(如今的代码名称为Zeri项目)
· Flash媒体服务器
· Flash媒体服务器证明文件(aka F4M)
·数字视频记录功能(aka DVR)

OSMF也支持那些集中于描述媒体流方面出现的标准。标准中有些注重于所含的经济价值(例如通过广告),和其他成分以及播放列表说明。OSMF是第一个对于如下标准提供直接支持的Adobe产品,包括:
· Video Ad Serving Template(VAST)
· Media Abstract Sequencing Template(MAST)
· Media RSS(MRSS)
· Distributiong Format Exchange Profile(DFXP)
· Synchronized Multimedia Integration Language(SMIL)

从一个开发者的观点来讲,OSMF对于所有这些标准的支持,包括剖析器库,可以帮助快速开发应用使用任意文件类型。

注意到OSMF与FLVPlayback间的重要区别,FLVPlayback架构更加注重用户的界面设计。它提供用户的界面预构控制(按钮、进度条等),因此设计者可以轻易地改变其外观。而OSMF的初期版本包括预设的谷歌浏览器,这意味着OSMF致力于开发团队寻找完全控制的界面。正如FLVPlayback现在做的那样,未来的OSMF版本将包括预构的用户界面控制,这样外观将很容易通过式样与皮肤的调整来改变。

OSMF通过模块化的扩展插件体系变得更加强大
OSMF的最重要特征可能要数它的模块化、延展性的插件体系。在OSMF中的这一类会提供核心媒体传送能力,通过插件进行扩展。在支持服务中,通过插件而实现的可扩展性对于可用性和完整性是必要的。任何一个OSMF的公共开发者可以写插件,包括:
·媒体播放器的开发者
·那些能直接给消费者提供插件的服务器提供者(也包括媒体播放器开发者)
·能为OSMF团队提供制作插件的开发者

最广义的概念上讲,OSMF的插件体系有如下优点:
(1)可缩小播放器文件的大小对于网络或手机上的媒体播放器能使下载文件尽量小是极为关键的。对于Flash播放器来说,是编辑后的SWF文件的大小。OSMF的插件体系可通过仅包括每个用户播放器的执行编码使开发者将最后编辑的SWF文件最小化。
(2)私人定制许多OSMF的合作者都在OSMF的社区入口提供OSMF插件。这些合作者现在可以提供如下形式的私人插件:
· 广告传送
· 分析
· 内容传送
· 出版
(3)公开源定制如今的OSMF插件库包括:
· 使用DFXP的标题支持
· 使用Media Rss的播放列表支持
· 使用SMIL的多种比特率支持
· 使用VAST以及MAST的广告
· 通过插件来组成的用户界面
(4)动态运行时的插件载入这可以使运行时内的载入既可以从主方获得也可以从合作方获得(CDNs,分析卖主等)。当媒体播放器选择执行运行时插件加载,可促使发布者发行新的版本,例如更新。
注释:OSMF动态插件载入是安全的。OSMF的安全性可以保证其不受无意识插件加载。其动态插件加载可通过每个OSMF的媒体播放器开发者难于破解必需的逻辑保证其唯一性。因此,在运行时中不会有未知的插件加载。例如,对于媒体播放器用户,无法得到有关界面的资源、安装以及载入插件。
(5)静态编译时插件的完整性 这能够使模块化编码在媒体播放器中编译,插件可以由三方提供。编译过程的静态插件完整性有以下优点:
· 它能够使媒体播放器开发者对插件版本有完全的控制权。
· 它可以消除在媒体播放器启动后载入插件过程中可能存在的时间延迟。
· 它可以保证插件代码在启动过程中已存在于媒体播放器中。

OSMF的插件体系是区别于FLVPlayback的另一个重要特征。虽然FLVPlayback可以更换皮肤,却实质上是一个封闭的体系。因此,FLVPlayback既不支持标准化也不像OSMF那样通过它的插件功能(例如,广告服务、分析、CDN支持等)可以实现简单的开发.
总之,OSMF的标准化插件体系可以使所有与OSMF息息相关的人达到共赢的目的:对媒体播放器的开发者而言,它可以减少复杂性;对于插件提供者,他减少了定制完整性。
OSMF考虑到媒体引入了新的类和新的概念
对于有ActionScript媒体播放器开发经验的人,OSMF引入了新的类和规则来编写媒体播放器的逻辑。取代直接参照Flash Player本身的媒体API,OSMF开发者会参照OSMF类来编写(内部调用Flash Player本身的媒体API)。例如OSMF开发并不需要直接实例NetStream对象。
OSMF引入一个新的通用的类和概念。在过渡到开发OSMF媒体播放器,开发者需要赶上以OSMF的方式思考媒体的速度。本节的其余部分提供了一个OSMF类和概念的例子,在OSMF的基础上抽象得出。若想要更深一步的了解OSMF开发媒体播放器的相关知识,可以看官方的产品介绍文档。

举一个关于用OSMF开发媒体播放器的新内容的例子,它用了一个叫做MediaElement的抽象基类,代表了在框架中的各种媒体类型。为了在OSMF中展现出丰富的媒体,常见的MediaElement子类也是被广泛应用的,有VideoElement、AudioElement、SWFElement以及ImageElement类。

OSMF也支持另一种复杂MediaElement的子类CompositeElement。CompositeElement继承的类是用于创建组件的主要类:SerialElement类和ParallelElement类。图1显示了例子代码的嵌套组合,一个顶层类ParallelElement (2)和一个嵌套类SerialElement (1)。
OSMF包含了布局好的API。例如,用ParallelElement组件时,多种可视化元素都会同时显示出来。OSMF的API用像RelativeLayoutFacet的类(它会像图1中ParallelElement说明的那样用)或者用像AbsoluteLayoutFacet类(用于覆盖)。在这些情况下,OSMF的布局面类能够在ParallelElement组件中使其定位子元素(很多子元素在那也能同时可视化)。

OSMF在布局层上应用面类的概念。所有的面类继承基类Facet。广泛的说,面类包含了相关媒体独立元素的元数据。例子包括(但不限于)提示点的元数据,服务质量(QoS)元数据等等。相关事件模型包含了类MetadataEvent、FacetValueEvent以及FacetValueChangeEvent。

OSMF也支持基于OSMF媒体播放器和嵌入式HTML页面间的交互。当与HTMLMediaContainer类结合时,它通过一个继承了HTMLElement的类MediaElement来在OSMF中使用(在运行时,双向交流的JavaScript通过OSMF被内部启用,使用ActionScript类ExternalInterface)。该功能的应用基于OSMF的媒体播放器来响应在运行时的JavaScript调用,它通过用户与包装的HTML交互,允许在OSMF的媒体播放器上的操作,以编排在预定于HTML页面元素的变化。一个基于OSMF媒体播放器控制HTML的例子可能包含在不断变化的HTML网页中(见图2)。
  
在抽象什么是MediaElement中,OSMF还介绍了特征类的概念。在OSMF抽象逻辑中,特征类定义了每个MediaElement的能力。通过OSMF类MediaElement的常量能够发现对OSMF中一些标准类的好结论。例如,这两个类VideoElement和AudioElement有LoadTrait,PlayTrait和SeekTrait的特点。但是,由于没有DisplayObject的实例AudioElement,AudioElement没有ViewTrait,而VideoElement有。
为了支持将媒体播放器的创建分析,OSMF还包括诸如BeaconElement MediaElement的子类。
三、播放器的例子
OSMF包括很多可运行OSMF的例子,这些例子能够通过基于OSMF例子播放器来执行(见图3)。播放器例子的源代码包含在OSMF子版本库中。一个播放器例子编译的版本是可在线运行。 

该示例加载了一些OSMF播放器的示范例子(包括说明错误条件,如加载失败的和无效媒体的网址错误)。每个例子可以通过在左侧列表选择播放器来运行。每个例子都会在你选择一个播放器后显示在右上角。

OSMF的例子播放器能够很快的找出OSMF的更多应用能力。

四、何去何从
随着OSMF出现,Adobe正在改变我们的媒体和视频播放器。通过创建一个强大的开放源码媒体播放器的开发框架,致力于Flash Player的开发者现在可以更快地创建比以往具有更多功能、更多服务的视频播放器,而且成本也非常合理。

如果你是一个媒体播放器开发人员,你的下一个步骤是从这里开始。下载OSMF来获得最近OSMF发布的更多信息-源文件的压缩包和发布的PDF注释。为了建立你的开发环境,按照在发布注释中“开始说明文档”的介绍来做。这些说明提供了很多非常重要的细节,它在Adobe Flex Builder 3和Flash CS4中应用OSMF。

为了更进一步的理解OSMF介绍的新的类和内容,请看OSMF开发指导和ActionScript 3语言的参考,包括开源媒体框架的API。

关于个性化的支持,可以参考从事OSMF的团队。参与该团队既可以选择公共支持OSMF的论坛也可以选择OSMF用户组.

Thursday, 7 September 2017

Linux下,用ActionScript 3(AS3)编辑/制作flash

好的Flash能够跨浏览器、跨平台良好的工作,具备非常好的兼容性。Flash的编辑制作在Windows和Mac下有很多不错的工具,但在Linux平台下制作Flash的工具少之又少,特别是支持ActionScript 3(AS3)的编辑工具。
在Linux下编辑制作Flash,基本思路就是使用adobe公司出品的Flex SDK。如果你是个Linuxer,那么你可以通过下面的方法在Linux下做出原生的Flash。
1、下载安装Adobe Flex SDK
Flex目前版本下载地址 http://www.adobe.com/go/flex4_sdk,下载后解压到目标目录,例如/home/flex4。
Flex同时需要JDK的支持。
2、国际惯例: 测试代码-hello word!
将以下代码保存为 HellowWorld.as
package {
    import flash.display.Sprite;
    import flash.text.TextField;

    public class HelloWorld extends Sprite {

        public function HelloWorld() {
            var display_txt:TextField = new TextField();
            display_txt.text = "Hello World!";
            addChild(display_txt);
        }
    }
}
使用sdk命令编译:
/home/flex4/bin/mxmlc HelloWord.as
如果编译报告错误:
正在加载配置文件“/home/flex4/frameworks/flex-config.xml”
/home/flex4/HelloWorld.as: 警告: 此编译单元不包含在 Frame 元数据中指定的 factoryClass,无法加载配置的运行时共享库。要在没有运行时共享库的情况下进行编译,请将 -static-link-runtime-shared-libraries 选项设置为 true,或删除 -runtime-shared-libraries 选项。
按照错误报告内容修改/home/flex4/frameworks/flex-config.xml第385行:
<static-link-runtime-shared-libraries>false</static-link-runtime-shared-libraries>
将false改为true,保存后再重新编译即可
3、图形开发界面
图形界面Eclipse+Flexbuilder for Eclipse插件。
Eclipse官网: http://www.eclipse.org/
Flexbuilder下载
http://labs.adobe.com/technologies/flex/flexbuilder_linux/

Friday, 1 September 2017

这里有很多编程语言的awesome list

https://github.com/uhub/awesome-javascript
https://github.com/uhub/awesome-java
https://github.com/uhub/awesome-haskell
https://github.com/uhub/awesome-go
https://github.com/uhub/awesome-erlang
https://github.com/uhub/awesome-css
https://github.com/uhub/awesome-coffeescript
https://github.com/uhub/awesome-c
https://github.com/uhub/awesome-cpp
https://github.com/uhub/awesome-actionscript
https://github.com/uhub/awesome-actionscript-sorted
https://github.com/uhub/awesome-swift
https://github.com/uhub/awesome-scala
https://github.com/uhub/awesome-ruby
https://github.com/uhub/awesome-python
https://github.com/uhub/awesome-perl
https://github.com/uhub/awesome-php

https://github.com/uhub/awesome-r
https://github.com/uhub/awesome-objective-c
https://github.com/uhub/awesome-c-sharp
https://github.com/uhub/awesome-coq

from https://github.com/uhub

Sunday, 17 July 2016

socket.io的flash客户端



flash web socket client for pomelo 

thanks to other developer such as socket.io ,websocket falsh etc.
 
for the purpose of my json socket io server

Example:
npm install socket.io

node server.js

run in flashbuilder or bin-debug/demo.swf
 
from  https://github.com/piaohai/socket.io-flashclient

Friday, 25 April 2014

ActionScript/Flash/flex资料

Tools

Slide & Share

Books

系统剪贴板

Player

Upload File

Frameworks

Project

Notes

让Flash位于浮动层之下

1. 将 Flash 设置为透明:
<param name="wmode" value="transparent" />
2. 另有“更专业”的参数值:
<param name="wmode" value="opaque" />
wmode 属性/参数

值 Window | Opaque | Transparent

说明:

(可选)允许使用 Internet Explorer 4.0 中的透明 Flash 内容、绝对定位和分层显示功能。此标记/属性仅在带有 Flash Player ActiveX 控件的 Windows 中有效。

"Window"在 Web 页上用影片自己的矩形窗口来播放应用程序。"Window"表明此 Flash 应用程序与 HTML 层没有任何交互,并且始终位于最顶层。
"Opaque" 使应用程序隐藏页面上位于它后面的所有内容。
"Transparent"使 HTML 页的背景可以透过应用程序的所有透明部分显示出来,并且可能会降低动画性能。
"Opaque windowless"和"Transparent windowless"都可与 HTML 层交互,从而允许 SWF 文件上方的层遮蔽应用程序。

这两种选项之间的差异在于"Transparent"允许透明,因此,如果 SWF 文件的某一部分是透明的,则 SWF 文件下方的 HTML 层可以透过该部分显示出来,而"opaque"则不会显示。
如果忽略此属性,默认值为 Window。仅适用于 object.
-----------------------
flex

Tutorial

Project

Tools

Books

  • 《Flex第一步:基于ActionScript 3.0的Flex 2应用开发》
  • 《Programming Flex 3中文版》
  • 《Flex程序设计》
  • 《Flex 4 Cookbook》
  • 《Adobe Flex高级编程》
  • 《Flex 3权威指南》

搭建开发环境

  1. 下载 Flex SDK, 下载 Free Adobe SDK 而不是 Open Source 的,后者编译 mxml 文件时可能不正常。
  2. 解压到某目录(例如 E:\Adobe\flex_sdk)
  3. 将上面的路径添加到系统环境变量 Path 中:
    FLEX_HOME = E:\Adobe\flex_sdk
    Path = %FLEX_HOME%\bin
    
  4. 安装 Java 开发/运行时环境(Flex SDK 基于 Java)。
  5. 下载 actionscript.vim, mxml.vim 和 dtd.vim 放置到 .vim/syntax/ 目录。
  6. 将如下代码加到 filetype.vim 中:
    au BufNewFile,BufRead *.mxml set filetype=mxml
    au BufNewFile,BufRead *.as set filetype=actionscript
    
  7. 编译:mxmlc test.as 或 mxmlc test.mxml