FLV2010-06-22 14:36:00
【评论】
【打印】
【字体:大 中 小】
本文链接:http://blog.pfan.cn/niao0311/51387.html
英文名:Flash Video
FLV视频格式的定义
目前各在线视频网站均采用此视频格式。如新浪播客、六间房、56、优酷、土豆、酷6、youtube等,无一例外。FLV已经成为当前视频文件的主流格式。
FLV是目前被众多新一代视频分享网站所采用,是目前增长最快、最为广泛的视频传播格式。是在sorenson 公司的压缩算法的基础上开发出来的。FLV格式不仅可以轻松的导入Flash 中,速度极快,并且能起到保护版权的作用,并且可以不通过本地的微软或者REAL播放器播放视频。
FLV视频格式
普及
网络宽带的普及使中国网民数量跃升至全球第一,同时也造就了众多的网络神话,GOOGLE斥巨资收购YouTube,似乎将国内外本身已经够火的Web2.0视频网站被广泛关注。而流行的风潮似乎又是第一时间刮到了国内,在这个充分发挥自我个性的年代,视频、播客等网站在国内如雨后春笋般兴起,新的网络战役一触即发,这对于FLV视频格式的普及无疑是一个巨大的推动力。
FLV(Flash Video)流媒体格式是随着Flash MX的推出而发展而来的一种新兴的视频格式。FLV文件体积小巧,清晰的FLV视频1分钟在1MB左右,一部电影在100MB左右,是普通视频文件体积的1/3。再加上CPU占有率低、视频质量良好等特点使其在网络上盛行,目前网上的几家著名视频共享网站均采用FLV格式文件提供视频,就充分证明了这一点。 优势
FLV作为一种新兴的网络视频格式,能得到众多的网站支持并非偶然。除了FLV视频格式本身占有率低、视频质量良好、体积小等特点适合目前网络发展外,丰富、多样的资源也是FLV视频格式统一在线播放视频格式的一个重要因素。现在,从最新的变形金刚到越狱再到各项体育节目,甚至于网友制作的自拍视频等都可以在网络中轻而易举的找到。
目前在互联网上提供FLV视频的有两类网站,一种是专门的视频分享网站如美国的YouTube网站、国内的六间房、土豆网等。另一种是门户网站提供了视频播客的板块,提供了自己的视频频道,如新浪视频播客等,也是使用FLV格式的视频。此外,百度最近也推出了关于视频搜索的功能,里面搜索出来的视频基本都是采用了流行的FLV格式。 使用
Web 2.0时代,要说什么类型网站最火,自然是以国外的Youtube、Google Video,国内的优酷、土豆网、UUME为代表的视频分享网站了。这类网站提供的视频内容可谓各有千秋,但它们无一例外的都使用了Flash作为视频播放载体,支撑这些视频网站的技术基础就是—— Flash 视频 (FLV) 。
FLV 是一种全新的流媒体视频格式,它利用了网页上广泛使用的Flash Player 平台,将视频整合到Flash 动画中。也就是说,网站的访问者只要能看Flash动画,自然也能看FLV 格式视频,而无需再额外安装其它视频插件,FLV视频的使用给视频传播带来了极大便利。
看了上面这些,相信大家也跃跃欲试了吧,下面我们就来讲讲如何在网页中使用FLV 视频。
从Flash MX 2004开始,软件就提供了FLV 格式支持,不过笔者建议大家使用目前最新版本的Flash 8(目前最新的版本是Flash CS5了),这个版本的Flash中有一个独立的FLV转换工具:Flash 8 Video Encoder。点击系统菜单“程序”→“Macromedia”→“Macromedia Flash 8 Video Encoder”进入。
进入程序后,可以看到软件界面非常简单。实际上使用这一工具转换普通视频为FLV视频很容易,只需几步即可完成。
点击“增加”按纽,软件自动调用系统“打开”对话,选择需要导入的视频即可。Flash 8 Video Encoder支持转换的视频格式相当广泛,如:AVI、WMV、MPEG、ASF、MOV等常见视频格式。视频添加进队列后,如果你不需要做特殊修改,那么点击“开始队列”按纽,程序即开始视频转换。 软件转换视频的速度,笔者总的感觉还是较快,当然这与原始视频大小及设置的视频数据速率有关。整个转换过程,主窗口下方都有信息提示,并且还能看到实时的进度预览。转换结束后,在转换视频同一文件夹下,我们就能得到一个同名的FLV文件。
当然,上述这些只是按照默认设置进行转换的情况,实际情况下,我们对于视频转换的控制还可以很多,点击主窗口“设置”按纽进入高级设置对话框。
在视频编码设置对话框中,最显著的就是FLV视频品质设置,默认是“Flash 8 - 中等品质 (400kbps)”,软件内置7种不同的编码设置组合。我们也可以选择自定义设置,点击“显示高级设置”按纽,软件将显示自定义的设置界面。
软件提供了两种视频解码器供选择:On2 VP6(用于 Flash Player 8,支持Alpha 通道)、Sorenson Spark(用于 Flash Player 7,适用于低配置用户);“调整视频大小”也颇有用,我们很容易生成制定尺寸的动画;如果你只重视视频效果,那么你还可以对“音频编码”开刀,将默认编码数率设置低些,那么输出的文件还会更小巧。
高级设置中的选择还很多,它甚至还提供了简单的视频编辑功能,点击“裁切和修剪”标签。
裁切使用很简单,软件提供了四个方向的控制,输入数值以裁切视频,或者点击“三角”按纽显示控制滑块,拖动滑块直观地调整视频尺寸,视频预览区会实时用虚线勾画裁切范围。
修剪的使用也不复杂,在视频预览区下方可以看到一个蓝色的视频进度指示条,拖动上方的“倒三角”按纽定位视频播放进度。进度指示条下方有两个按纽,它们就是“开始点”和“结束点”定位按纽,分别拖动按纽到所需位置,即完成简单的视频修剪。
得到了FLV文件,其实我们并不能直接在网页中使用,我们还需要将它嫁接到Flash动画中去。如同大家在各种视频网站中看到的一样,我们创建的Flash视频并不是简单播放就算了,它也是带播放控制的。
运行Flash 8,创建新的Flash 文档,点击菜单“文件”→“导入”→“导入视频”,进入“导入视频”对话框。
可以看到,选择视频时会有两种不同的选择:“在您的计算机上”、“已经部署到”,这两者是有区别的,不过目前我们仅需在本地测试动画,选择“在您的计算机上”。点击“浏览”按纽,通过系统打开对话框,载入我们刚生成的FLV文件,点击“下一个”按纽继续。
接下来选择“部署方式”为:“从 Web 服务器渐进式下载”,进入“外观”选项。
Flash 8目前已经为播放FLV视频内置了数十个播放控制器,它们的外观各异,控制选项也有区别,你可以根据自己的需要,选择一个合适的播放控制器,最后点击“完成”按纽结束。
返回Flash 8主窗口工作区,可以看到我们刚插入的视频已经布置到位了,此时你可以直接按Ctrl+Enter测试动画了。
FLV播放器的生成
通过动画预览,我们可以发现,目前默认的Flash动画尺寸比播放器宽了不少,我们需要重新设置一下。鼠标在工作区中选择“播放器控件”,调用“属性”面板(Ctrl+F3),修改X、Y轴值为“0.0”,这样我们就将“播放器控件”这个元件定位到了工作区的左上方顶点处。
点击菜单“修改”→“文档”,进入“文档属性”对话框,选择“匹配”值为“内容”,点击“确定”返回,现在Flash文档的尺寸就与播放器一致了。
如果大家制作的FLV视频动画只打算在本地计算中播放,那么就直接输出SWF文件即可,如果是准备在网络中调用,那么还需要做一些事情。
先上传自己制作的FLV文件到网络服务器,获得文件远程网络地址:如:http: //www.scxp.net/01.flv。接下来,选择工作区中的“播放器控件”,调用“参数”面板,找到“contentPath”字段,修改它的值为“http://www.scxp.net/01.flv”(原始值就是最开始大家设置的本地FLV文件路径)。
点击菜单“文件”→“导出”→“导出影片”,例:设置导出影片地址为“D:/”,文件名为“01.swf”。接下来,设置播放器版本为“Flash Player 8”,ActionScript版本为“ActionScript 2.0”,点击“确定”完成。
进入“D:/”,可以看到,除了刚生成的“01.swf”文件外,还多了个 “SteelOverPlaySeekMute.swf”文件,它也是调用Flash视频必须的文件,现在将这两个文件也上传到你的服务器中即可。以后你在网上任何地方需要调用Flash视频时,只需要插入服务器上的那个“01.swf”动画的网络地址即可。
注:设置Flash动画调用的FLV文件为网上远程路径后,本地预览“01.swf”文件会有安全警告,这是正常的情况,大家不必担心。
另外,目前很多的具有视频功能的MP3也支持flv格式。
FLV视频文件的下载
在线观看的flv视频文件基本都不提供下载,如果想把它下载下来,也很简单,在此介绍两种方法:
第一种(比较麻烦),该方法对多数视频适用。
首先,正常观看视频,不要关闭浏览器,
其次,等视频加载完毕,进入C:\Documents and Settings\你的用户名\Local Settings\Temporary Internet Files
(这只是默认位置,若无法访问请打开“Internet选项”(IE中菜单栏内“工具”-->“Internet选项”)单击“浏览历史记录”中“设置”,“查看文件”(不同版本IE操作可能有所区别))
这个文件夹(有可能要用到文件夹选项中的“显示全部文件”才可看见),然后,查找扩展名为flv的文件即可,可以按时间排序,很容易找到。也可以按大小,视频文件一般都比较大,排在顶部本方法适合任何flv视频网站。
还有一种(推荐, 非常轻松地下载)可借助flv视频下载软件,例如:现在流行的有狂雷视频下载、维棠下载等,都是比较成熟的软件,可提供播放、下载、转换等功能。狂雷界面简单易用,知名度高,其本身是一个flv资源平台,提供的flv资源自然丰富,狂雷视频下载像迅雷一样,功能丰富,而且下载速度是同类所有下载软件中最快的,支持优酷分段视频的自动合并,还具有强大的视频转换功能,可根据手机型号来转换FLV视频到您手机支持的视频格式。维棠像FLASHGET一样,操作比较复杂,只有下载,没有搜索功能。还有像其他的flv小软件,比如xmlbar之类的,不过功能有点简单,易操作性一般。
相信flv下载软件伴随着flv的发展共同进步!~
利用flash MX 制作 flash video
FLV流媒体格式是一种新的视频格式,全称为Flash Video。Flash MX 2004对其提供了完美的支持,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。下面我们就来介绍一下如何使用小巧的FLV流媒体文件。 建立FLV流媒体格式文件
首先,打开Flash MX 2004,新建一个Flash文档。将准备好的AVI格式的视频文件导入到库中。导入过程会出现向导提示,总共分2步,分别是“编辑”和“编码”的处理。
按照默认值进行处理,我们选择“导入整个视频”,单击“下一步”按钮然后“结束”完成导入过程。按下“Ctrl+L”组合键打开库,双击刚刚导入的AVI文件图标,打开“嵌入视频属性”界面。
单击“导出”生成FLV格式文件。
通过以上操作我们成功地将视频AVI格式转换成为了FLV格式。这其中发生了什么变化呢?在默认参数的转化下。使23MB的AVI文件变成了541KB的FLV文件。让一个大块头“瘦”下来,这就可以轻松的放到网络中使用了。 使用FLV流媒体文件
新建一个Flash文档,按下“Ctrl+F7”组合键打开组件窗口,将Media Componets中的MediaPlayback组件拖入场景中。
用鼠标选中刚拖入的MediaPlayback组件,按下“Alt+F7” 组合键打开“组件检查器”界面。组件检查器中的参数含义如下:定义了播放文件的类型为FLV,也可以播放MP3文件;URL中需要指定FLV文 件的路径,因为我们将FLV文件和Flash文件放在了同一目录中,所以这里只要指定文件名就可以了;Automatically Play为自动播放;Control Placement和Control Visibility分别为播放面板的位置和是否可见。
设置完成后,我们可以通过按下“Ctrl+Enter”组合键测试效果。视频图像和声音让你耳目一新!
这样一个FLV格式的流媒体播放器就完成了。别看它制作简单,但功能还算齐 全,特别是它提供了下载进度的显示,可以一边下载一边播放。这样我们的网站再也不用愁那些“大块头”的视频文件怎么放上去了。Flash MX 2004支持很多视频格式转化为FLV,自己动手做做,你会发现很多新技巧。不断的探索,你会成长的很快!
FLV文件结构解析
FLV是一个二进制文件,由文件头(FLV header)和很多tag组成。tag又可以分成三类:audio,video,script,分别代表音频流,视频流,脚本流(关键字或者文件信息之类)。 FLV Header
一般比较简单,包括文件类型之类的全局信息
文件类型 3bytes 总是FLV(0x46 0x4C 0x56),否则...
版本 1byte 一般是0x01,表示FLV version 1
流信息 1byte 倒数第一bit是1表示有视频,倒数第三bit是1表示有音频,其他都应该是0(有些软件如flvtool2可能造成倒数第四bit是1,不过也没发现有什么不对)
header长度 4bytes 整个文件头的长度,一般是9(3+1+1+4),有时候后面还有些别的信息,就不是9了 FLV Body
FLV body就是由很多tag组成的,一个tag包括下列信息:
previoustagsize 4bytes 前一个tag的长度,第一个tag就是0
tag类型 1byte
三类:
* 8 -- 音频tag
* 9 -- 视频tag
* 18 -- 脚本tag
数据区长度 3bytes 时间戳 3bytes 单位毫秒,如果是脚本tag就是0
扩展时间戳 1byte 作为时间戳的高位
streamsID 3bytes 总是0(不知道干啥用)
数据区
根据不同的tag类型就有不同的数据区
Audio tag 数据区
audio信息 1byte
前四位bits表示音频格式:
* 0 -- 未压缩
* 1 -- ADPCM
* 2 -- MP3
* 5 -- Nellymoser 8kHz momo
* 6 -- Nellymoser
下面两位bits表示samplerate:
* 0 -- 5.5kHz
* 1 -- 11kHz
* 2 -- 22kHz
* 3 -- 44kHz
下面一位bit表示每个采样的长度:
* 0 -- snd8Bit
* 1 -- snd16Bit
下面一位bit表示类型:
* 0 -- sndMomo
* 1 -- sndStereo
audio数据区
不定
video tag 数据区
video信息 1byte
前四位bits表示类型:
* 1 -- keyframe
* 2 -- inner frame
* 3 -- disposable inner frame (H.263 only)
后四位bits表示编码器id:
* 2 -- Seronson H.263
* 3 -- Screen video
* 4 -- On2 VP6
* 5 -- On2 VP6 without channel
* 6 -- Screen video version 2
video数据区
不定
script tag 数据区
略n字...
阅读(1350) | 评论(0)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论