FLEX4.0开发流媒体视频播放器

视频播放器这个做开发的兄弟们应该都熟悉,现在的视听网站这么火热,流媒体技术也相当成熟,网上的介绍也很多。不过基本上流媒体播放器都是flash,大多是写AactionScript脚本开发,利用FLEX开发也比较方便,和VS.NET的开发环境一样,看起来也熟悉,开发起来也有感觉些,我想至少应该比写AS脚本要有感觉些,当然FLEX开发的应用程序最终也会被解析成AS脚本,生成SWF文件,供WEB页面嵌入调用。最近稍微空闲那么一点,从同事那拷了个FLEX4.0,装上感觉下,之前也有意想做个流媒体播放器,正好这段时间有研究下。严格来说单纯的播放器不会难做,网上也有很多例子,只是流媒体播放器只支持流格式的媒体文件,所有这里还有个媒体格式转换的问题,就是要把不同类型的视频格式转换成流格式的文件,即转换成视频流格式。我写的这篇暂时只说说流媒体播放器的开发,不涉及转换的问题,这个有时间研究下再说说。

利用FLEX开发视频播放器可以利用自带的组件VideoDisplay,也可以不用,最终两种方式开发出来的效果是可以一样的。我下面说的主要是不利用组件的开发方式,利用组件开发的后面我也贴下代码片段和截图。主要以开发完后的开发文档内容来说下,写的内容不多,基本上要点应该还是写清楚了,先看下目录,按目录顺序讲解:

1  流媒体视频简介
1.1   什么是流媒体

所谓流媒体是指采用流式传输方式在Internet上播放的媒体格式(扩展名一般为.flv,目前 Adobe公司为迎接高清时代又推出了.f4v格式)。流媒体又称流式媒体,是指用一个视频传输服务器把把节目当成数据包发出,传送到网络上,同过流媒体播放器进行画面还原显示给用户观看。

1.2  什么是视频流

视频流(Video Streaming)是指视频数据的传输,例如,它能够被作为一个稳定的和连续的流通过网络处理。因为流动,客户机浏览器或插件能够在整个文件被传输完成前显示多媒体数据。视频流技术基于 2 密钥技术,视频译码技术和可升级的视频分发技术发展。

1.3  流媒体视频的
优点

流媒体视频是边下载边播放边缓冲的,用户体验相比传统的下载播放好得多,传统的下载播放是用户等视频文件全部下载到缓存后再进行播放,用户等待时间比较长,因此与单纯的下载播放方式相比,这种对多媒体文件边下载边播放的流式传输方式不仅使启动延时大幅度地缩短,而且对系统缓存容量的需求也大大降低。

1.4  流媒体视频应用

由于流媒体格式的数据传输速度快,因此被广泛应用于互联网上的大型视频点播网站,比较典型的视频点播网站又56视频网,优酷视频网、土豆视频网等。同时这种技术也可以用于在线视频教学系统进行点播学习或公司内部会议视频在线提供观看等。

补充说明下那个高清格式的.f4v,因为测试的时候从土豆上拉了个高清格式的视频文件下来,发现后缀是.f4v的,利用开发的这个播放器播放不了,后缀名改成flv是可以播放的,觉得奇怪,都是流格式应该是可以播放的才对,原来忘了在网站的http头文件的MIME类型添加扩展名,添加下.f4v的扩展名就OK了,可以正常播放了,后来也看了下百度百科对这种高清格式是这么说的:

作为一种更小更清晰,更利于在网络传播的格式,F4V已经逐渐取代了传统FLV,也已经被大多数主流播放器兼容播放,而不需要通过转换等复杂的方式。

  F4V是Adobe公司为了迎接高清时代而推出继FLV格式后的支持H.264的F4V流媒体格式。

  它和FLV主要的区别在于,FLV格式采用的是H263编码,而F4V则支持H.264编码的高清晰视频,码率最高可达50Mbps。

2.   功能概述
2.1设计目的

作为系统平台功能的扩充,开发此模块,现实一个功能相对全面的流媒体播放器,主要用于播放流媒体格式的视频,提供给特殊要求的客户用于外网在线播放新闻视频。

2.2  功能说明

1)  视频的暂停、播放

2)  视频拖动播放和定点播放

3)  音量的禁音和开启

4)  拖动滑块控制音量

5)  视频缓冲进度高亮显示

6)  视频全屏处理,点击按钮或点击视频画面实现全屏

2.3  运行环境

此模块采用Flex4.0开发,要求客户端安装flash 10.0.0 (含以上版本)

3  功能设计3.1         相关变量属性

private var isPause:Boolean = false;        //暂停状态

private var isSound:Boolean = true;         //声音状态(是否禁音)

private var _volume :Number = 0.6;          //默认音量大小(最大值为1

private var isFullScreen:Boolean = false;   //是否是全屏

private var totalTime:Number;              //播放总时间        private var playPosition:Number;            //剪辑位置

private var videoUrl:String;              //视频文件地址

private var videoWidth:Number;            //视频宽度

时间: 2024-09-27 00:16:18

FLEX4.0开发流媒体视频播放器的相关文章

Chromecast成为美国流媒体视频播放器市场龙头

3月9日消息,据外电报道,市场调研公司Strategy Analytics周二表示,谷歌廉价的流媒体视频播放器Chromecast在2015年成为美国流媒体视频播放器市场的龙头,占据了35%的份额. Strategy Analytics提供的数据还显示,Apple TV在流媒体视频播放器市场排名第二,份额为20%,低于2014年的22%:亚马逊的Fire TV和Roku并列第三,市场份额均为15%. Strategy Analytics分析师大卫·沃特金斯(David Watkins)在声明中表

微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例_javascript技巧

把录音的模块尝试过之后就想着微信小程序的视频播放会不会更有趣? 果然,微信小程序视频自带弹幕.是不是很爽,跟我一起来看看. 先上gif: 再上几张图: 1.视频播放器 2.选择弹幕颜色 3.弹幕来了... 1.视频播放器 微信已经封装的非常好.我这里只用了很简单的几个属性 由于以前没做过弹幕,看到danmu-list就激动了.而且只需要将弹幕内容加入集合即可. 弹幕列表的元素: { text: '第 1s 出现的红色弹幕',//文本 color: '#ff0000',//颜色 time: 1//

截屏-MFC windows media player 控件视频播放器 实现截图功能

问题描述 MFC windows media player 控件视频播放器 实现截图功能 vc6.0 mfc 实现视频播放器 截屏功能 windows media player 控件 解决方案 http://blog.csdn.net/fanpeii/article/details/8159779 解决方案二: http://wenku.baidu.com/link?url=cGUuUCCmSjoaGPzeZUeOqs5U1guGZSDGqijHR5EqDiVAWfE0bP8j3Rh2qq70u

FFMPEG+SDL2.0流媒体开发3---简易MP4视频播放器,提取MP4的H264视频序列解码并且显示

简介 之前写了一遍提取MP4中的音视频并且解码,这一篇引入SDL2.0来显示解码后的视频序列 实现一个简易的 视频播放器. 我这里用的FFMPEG和SDL2.0都是最新版的 可能网上的资料不是很多,API接口也变了很多,不过大体的思路还是一样的. 分析几个FFMPEG函数 在这之前我们分析几个代码中可能引起疑问的FFMPEG几个函数的源代码,我已经尽我的能力添加了注释,因为实在没有文档可能有的地方也不是很详尽  不过大体还是能看懂的 av_image_alloc (分配图片缓冲区) 我们在FFM

jqm视频播放器,html5视频播放器,html5音乐播放器,html5播放器,video开发demo,html5视频播放示例,html5手机视频播放器

最近在论坛中看到了很多实用html5开发视频播放,音乐播放的功能,大部分都在寻找答案.因此我就在这里做一个demo,供大家相互学习.html5开发越来越流行了,而对于视频这一块也是必不可少的一部分.如何让你的网站占据优势,就要看你的功能和用户体验了.html5对video还是做了很多优惠的东西,我们使用起来很得心应手. 在过去 flash 是网页上最好的解决视频的方法,截至到目前还算是主流,像那些优酷之类的视频网站.虾米那样的在线音乐网站,仍然使用 flash 来提供播放服务.但是这种状况将会随

用C/C++开发基于VLC SDK的视频播放器

在windows系统如果开发万能播放器,一般都是基本DirectShow来开发,开发也很简单,但缺点也很多,一个文件格式是否能够播放完全取决于你 是否安装了正确的解析器和解码器,即使现在有了万能解器安装包也会出现很多问题,不过自从很多开源软件的出现,比如大名鼎鼎的ffmpeg,vlc等,一 切都变得简单起来,基于ffmpeg sdk开发就不多介绍了,本文主要介绍基于 VLC SDK来开发自己的播放器,一切都是那么的简单.   1.先下载VLC player, http://www.videola

在Android本地视频播放器开发

  在Android本地视频播放器开发中的搜索本地视频章节中,我们能够搜索本地视频并且显示每个视频的图片.标题.时间长度,当然如果需要添加其他的例如视频的长度和宽度可以使用Video类中的方法,既然我们获取到视频后,那么接下来就是解码视频,解码视频我使用的是ffmpeg,所以这张就是使用NDK编译手机可以使用的FFmpeg库. NDK=/opt/android-ndk-r8d PLATFORM=$NDK/platforms/android-8/arch-arm/ PREBUILT=$NDK/to

框架-用WPF做VLC视频播放器,如何解决.Net Framework版本的转换(只能使用2.0吗?)

问题描述 用WPF做VLC视频播放器,如何解决.Net Framework版本的转换(只能使用2.0吗?) 当进行如上调用时,会出现如下错误信息 对 PInvoke 函数"ClientLibrary.Controls.LibVlcAPI::libvlc_new"的调用导致堆栈不对称.原因可能是托管的 PInvoke 签名与非托管的目标签名不匹配.请检查 PInvoke 签名的调用约定和参数与非托管的目标签名是否匹配. _最开始项目是framework2.0框架,现在是framework

C#使用VLC的libvlc.dll开发了个视频播放器,播放高清视频就会卡,请问怎么调用libvlc的硬件解码

问题描述 C#使用VLC的libvlc.dll开发了个视频播放器,播放高清视频就会卡,请问怎么调用libvlc的硬件解码 解决方案 解决方案二:VLC官方软甲的设置中有硬件解码选项,所以开源文档里应该也会有对应的源码!求教...