相信大家对近几年国内外如雨后春笋般冒出来的视频网站一定不陌生,国外的最著名的就是Youtube了,十几亿美元被Google收购吸引了大量的眼球,也刺激了国内的视频网站。国内的知名的视频网站有:优酷网、土豆网、酷6网(更正,看了一下酷6的视频,里面有的视频是mp4格式的)、六间房、QQ播客等等。那么大家在观看这些网站的视频的时候知不知道他们都使用的是什么视频格式吗?我想大家一定都会发现,他们的视频都大同小异。是的,他们用的都是FLV格式的视频。今天,我在这里就给大家普及一下有关FLV视频的相关知识:
FLV视频格式的定义
FLV 是FLASH VIDEO的简称,FLV流媒体格式是一种新的视频格式,全称为Flash Video。由于它形成的文件极小、加载速度极快,使得网络观看视频文件成为可能,它的出现有效地解决了视频文件导入Flash后,使导出的SWF文件体积庞大,不能在网络上很好的使用等缺点。
目前各在线视频网站均采用此视频格式。如新浪播客、56、优酷、土豆、酷6、youtube等,无一例外。FLV已经成为当前视频文件的主流格式。
FLV就是随着Flash MX的推出发展而来的视频格式,目前被众多新一代视频分享网站所采用,是目前增长最快、最为广泛的视频传播格式。是在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视频格式统一在线播放视频格式的一个重要因素。现在,从最新的变形金刚到越狱再到各项体育节目,甚至于网友制作的自拍视频等都可以在网络中轻而易举的找到。
目前在互联网上提供FLV视频的有两类网站,一种是专门的视频分享网站如美国的YouTube网站、国内的六间房、土豆网等。另一种是门户网站提供了视频播客的板块,提供了自己的视频频道,如新浪视频播客等,也是使用FLV格式的视频。此外,百度最近也推出了关于视频搜索的功能,里面搜索出来的视频基本都是采用了流行的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 数据区
FLV视频文件的下载
本人编辑这篇博文的目的就是为了王婆卖瓜自卖自夸,呵呵。关于FLV视频的下载,推荐使用本站的软件“酷抓6”,全面支持所有已知的的未知的视频网站的视频抓取和下载,赶紧试试吧。不过,如果你不想安装这个软件,或者你在网吧中上网,推荐http://www.flvcd.com吧,它能在线获取视频地址。
|