正文

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支持转换的视频格式相当广泛,如:AVIWMVMPEGASFMOV等常见视频格式。视频添加进队列后,如果你不需要做特殊修改,那么点击“开始队列”按纽,程序即开始视频转换。 软件转换视频的速度,笔者总的感觉还是较快,当然这与原始视频大小及设置的视频数据速率有关。整个转换过程,主窗口下方都有信息提示,并且还能看到实时的进度预览。转换结束后,在转换视频同一文件夹下,我们就能得到一个同名的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)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册