flv發展,flv歷史,普及,優勢,使用,不同方式,本地檔案,嵌入式swf,逐步下載,rtmp方式,檔案生成,生成,公司媒體,檔案下載,temp下載,專業工具,製作視頻,流媒體格式,使流媒體檔案,檔案結構,FLV頭檔案,檔案元信息,FLV Body,tag格式,
flv發展 FLV是被眾多新一代
視頻分享 網站所採用,是目前增長最快、最為廣泛的視頻傳播
格式 。是在
sorenson 公司的壓縮算法的基礎上開發出來的。FLV
格式 不僅可以輕鬆的導入
Flash 中,速度極快,並且能起到保護
著作權 的作用,並且可以不通過本地的
微軟 或者REAL
播放器 播放視頻。
FLV flv歷史 普及 網路寬頻的普及使
中國 網民 數量躍升至全球第一,同時也造就了眾多的網路神話,
GOOGLE 斥巨資收購YouTube,似乎將國內外本身已經夠火的Web2.0
視頻網站 被廣泛關注。而流行的風潮似乎又是第一時間刮到了國內,在這個充分發揮自我個性的年代,視頻、播客等網站在國內如雨後春筍般興起,新的網路戰役一觸即發,這對於FLV
視頻格式 的普及無疑是一個巨大的推動力。
FLV FLV(Flash Video)
流媒體 格式 是隨著Flash MX的推出而發展而來的一種新興的
視頻格式 。FLV檔案體積小巧,清晰的FLV視頻1分鐘在1MB左右,一部
電影 在100
MB 左右,是普通視頻檔案體積的1/3。再加上CPU占有率低、
視頻質量 良好等特點使其在網路上盛行,網上的幾家著名
視頻共享 網站均採用FLV
格式 檔案提供視頻,就充分證明了這一點。
優勢 FLV作為一種新興的
網路視頻 格式 ,能得到眾多的網站支持並非偶然。除了FLV
視頻格式 本身占有率低、
視頻質量 良好、體積小等特點適合
網路發展 外,豐富、多樣的資源也是FLV視頻格式統一線上播放視頻格式的一個重要因素。從最新的
變形金剛 到越獄再到各項體育節目,甚至於網友製作的自拍視頻等都可以在網路中輕而易舉的找到。
FLV 在
網際網路 上提供FLV視頻的有兩類網站,一種是專門的
視頻分享 網站如
美國 的YouTube網站、國內的
六間房 、
土豆 網等。另一種是入口網站提供了視頻播客的板塊,提供了自己的視頻頻道,如
新浪 視頻播客等,也是使用FLV
格式 的視頻。此外,
百度 也推出了關於
視頻搜尋 的功能,裡面搜尋出來的視頻基本都是採用了流行的FLV格式。
使用 Web 2.0時代,要說什麼類型網站最火,自然是以國外的Youtube,國內的
優酷 、
土豆 網、UUME為代表的
視頻分享 網站了。這類網站提供的視頻內容可謂各有千秋,但它們無一例外的都使用了Flash作為視頻播放
載體 ,支撐這些
視頻網站 的技術基礎就是——Flash 視頻(FLV) 。
FLV 是一種全新的
流媒體 視頻格式 ,它利用了網頁上廣泛使用的Flash Player 平台,將視頻整合到Flash
動畫 中。也就是說,網站的訪問者只要能看
Flash動畫 ,自然也能看FLV
格式 視頻,而無需再額外安裝其它視頻
外掛程式 ,FLV視頻的使用給視頻傳播帶來了極大便利。
FLV 從Flash MX 2004開始,
軟體 就提供了FLV
格式 支持,不過筆者建議大家使用目前最新版本的Flash 8(目前最新的版本是Flash CC了),這個版本的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 裁切使用很簡單,軟體提供了四個方向的控制,輸入
數值 以裁切視頻,或者點擊“三角”按紐顯示控制滑塊,拖動滑塊直觀地調整視頻尺寸,視頻預覽區會實時用虛線勾畫裁切範圍。
修剪的使用也不複雜,在視頻預覽區下方可以看到一個藍色的視頻進度指示條,拖動上方的“倒三角”按紐定位視頻播放進度。進度指示條下方有兩個按紐,它們就是“開始點”和“結束點”定位按紐,分別拖動按紐到所需位置,即完成簡單的視頻修剪。
得到了FLV檔案,其實我們並不能直接在網頁中使用,我們還需要將它嫁接到Flash動畫中去。如同大家在各種
視頻網站 中看到的一樣,我們創建的Flash視頻並不是簡單播放就算了,它也是帶播放控制的。
運行Flash 8,創建新的Flash 文檔,點擊選單“檔案”→“導入”→“導入視頻”,進入“導入視頻”對話框。
可以看到,選擇視頻時會有兩種不同的選擇:“在您的
計算機 上”、“已經部署到”,這兩者是有區別的,不過我們僅需在本地測試動畫,選擇“在您的計算機上”。點擊“瀏覽”按紐,通過系統打開對話框,載入我們剛生成的FLV檔案,點擊“下一個”按紐繼續。
Flash 8當前已經為播放FLV視頻內置了數十個播放
控制器 ,它們的外觀各異,控制選項也有區別,你可以根據自己的需要,選擇一個合適的播放控制器,最後點擊“完成”按紐結束。
返回Flash 8主視窗工作區,可以看到我們剛插入的視頻已經布置到位了,此時你可以直接按Ctrl+Enter測試動畫了。
不同方式 本地檔案 作為一個獨立的FLV檔案。雖然Flash視頻檔案通常是交付使用的Flash Player的控制, FLV檔案本身是全功能對自己的和可以發揮的或轉換為其他
格式 ,由本地存儲如硬碟或CD上。[引文需要]
嵌入式swf 在一個嵌入式的
SWF檔案 使用Flash創作工具(支持在Flash Player 6和更高版本)。整個檔案必須在移交之後,才可以開始播放。改變影片需要重建的SWF檔案。
逐步下載 逐步通過HTTP下載(支持在Flash Player 7和更高版本)。此方法使用的ActionScript ,包括一外部託管的Flash視頻檔案的
客戶端 播放。
漸進式下載 有幾個優勢,包括緩衝,使用通用的HTTP伺服器,並有能力再用一個單一的SWF Player的多重FLASH視頻源。Flash Player 8中包括支持
隨機存取 內部的視頻檔案使用部分下載功能的HTTP ,有時這是被稱為流。不過,不同的流使用rtmp ,HTTP的“分流” ,不支持實時廣播。流通過HTTP需要自訂
播放器 和注射液的具體Flash視頻中繼載有確切的出發位置在
位元組 和
時間碼 的每一個
關鍵幀 。使用此特定的信息,自定義的Flash
視頻播放器 ,可要求任何部分的Flash視頻檔案,開始在指定的
關鍵幀 。舉例來說,Google視頻和YouTube支持
漸進式下載 並可以尋求任何部分的視頻前緩衝完成。伺服器端的一部分,這個“ HTTP的偽分流”的方法是相當簡單的執行,例如在PHP中,作為Apache的httpd模組,或1 lighttpd模組。豐富的
媒體 項目提供球員和Flash組件兼容的“HTTP偽分流”的方法。
rtmp方式 流通過rtmp到Flash Player的使用Flash
媒體伺服器 (以前稱為閃光
通信伺服器 ),風險投資, electroserver , wowza Pro或開放原始碼red5伺服器。截至2008年4月,有4個流
錄音機 ,供本議定書,重新編碼screencast軟體排除在外。
檔案生成 生成 通過動畫預覽,我們可以發現,默認的Flash動畫尺寸比
播放器 寬了不少,我們需要重新設定一下。滑鼠在工作區中選擇“
播放器 控制項”,調用“屬性”
面板 (Ctrl+F3),修改X、Y軸值為“0.0”,這樣我們就將“播放器控制項”這個元件定位到了工作區的左上方頂點處。點擊選單“修改”→“文檔”,進入“文檔屬性”對話框,選擇“匹配”值為“內容”,點擊“確定”返回,於是Flash文檔的尺寸就與
播放器 一致了。
FLV 如果大家製作的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
格式 。
公司媒體 chameleogom
播放器 FLV MPlayer的(使用ffmpeg )
使用RealPlayer
xine (用途ffmpeg )
任何
播放器 ,可以使用ffdshow (基於ffmpeg )DirectShow的編解碼器:
Winamp中
Windows Media Player中
任何
播放器 使用的QuickTime ,安裝後的FLV的組成部分
檔案下載 線上看的flv視頻檔案基本都不提供下載,在此介紹兩種下載方法:
temp下載 該方法對多數視頻適用。
首先,正常觀看視頻,不要關閉
瀏覽器 ,其次,等視頻載入完畢,進入C:\Documents and Settings\你的用戶名\Local Settings\Temporary Internet Files
FLV (這只是默認位置,若無法訪問請打開“Internet選項”(IE中
選單 欄內“工具”-->“Internet選項”)單擊“瀏覽歷史記錄”中“設定”,“查看檔案”(不同版本IE操作可能有所區別))
這個資料夾(有可能要用到
資料夾選項 中的“顯示全部檔案”才可看見),然後,查找
擴展名 為flv的檔案即可,可以按時間排序,很容易找到。也可以按大小,視頻檔案一般都比較大,排在頂部本方法適合任何flv
視頻網站 。
專業工具 還有一種(推薦, 非常輕鬆地下載)可藉助flv視頻
下載軟體 ,例如:流行的有
狂雷 視頻下載、
維棠 下載、碩鼠等,都是比較成熟的軟體,可提供播放、下載、轉換等功能。
狂雷 界面簡單易用,知名度高,其本身是一個flv資源平台,提供的flv資源自然豐富,狂雷視頻下載像
迅雷 一樣,功能豐富,而且下載速度是同類所有
下載軟體 中最快的,支持
優酷 分段視頻的自動合併,還具有強大的視頻轉換功能,可根據手機型號來轉換FLV視頻到您手機支持的
視頻格式 。
維棠 像FLASHGET一樣,操作比較複雜,只有下載,沒有搜尋功能。還有像其他的flv小軟體,比如xmlbar之類的,不過功能有點簡單,易操作性一般。
另外還可以通過flvcd網站線上解析視頻地址,直接
瀏覽器 另外儲存為 下載,無需安裝外掛程式.
製作視頻 FLV
流媒體 格式 是一種新的
視頻 格式,全稱為Flash Video。Flash MX 2004對其提供了完美的支持,它的出現有效地解決了視頻檔案導入Flash後,使導出的SWF檔案體積龐大,不能在網路上很好的使用等
缺點 。下面我們就來介紹一下如何使用小巧的FLV
流媒體 檔案。
流媒體格式 首先,打開Flash MX 2004,新建一個Flash文檔。將準備好的
AVI格式 的視頻檔案導入到庫中。導入過程會出現嚮導提示,總共分2步,分別是“編輯”和“編碼”的處理。
按照默認值進行處理,我們選擇“導入整個視頻”,單擊“下一步”按鈕然後“結束”完成導入過程。按下“Ctrl+L”組合鍵打開庫,雙擊剛剛導入的AVI檔案圖示,打開“嵌入視頻屬性”界面。
通過以上操作我們成功地將視頻AVI
格式 轉換成為了FLV格式。這其中發生了什麼變化呢?在
默認參數 的轉化下。使23MB的AVI檔案變成了541KB的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 header)和很多tag組成。tag又可以分成三類:audio,video,script,分別代表
音頻流 ,
視頻流 ,腳本流(
關鍵字 或者檔案信息之類)。
FLV檔案=FLV頭檔案+ tag1+tag內容1 + tag2+tag內容2 + ...+... + tagN+tag內容N。
FLV頭檔案 檔案類型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頭檔案:(9位元組)
1-3: 前3個位元組是檔案格式標識(FLV 0x46 0x4C 0x56).
4-4: 第4個位元組是版本(0x01)
5-5: 第5個位元組的前5個bit是保留的必須是0.
6-9: 第6-9的四個位元組還是保留的.其數據為 00000009 .
整個檔案頭的長度,一般是9(3+1+1+4)
檔案元信息 flv檔案中的元信息,是一些描述flv檔案各類屬性的信息。這些信息以AMF格式保存在檔案的起始部分。adobe官方的標準flv元信息項目如下(來源:):
audiochannels
audiocodecid
audiodatarate
audiodevice
audioinputvolume
audiosamplerate
creationdate
duration (media files only)
fmleversion (Flash Media Live Encoder version) (media files only)
framerate
height
lastkeyframetimestamp (media files only)
lasttimestamp (media files only)
presetname
videocodecid
videodatarate
videodevice
videokeyframe_frequency
width
兩個常用的操作metadata的工具是flvtool2 和FLVMDI ,都是把keyframes作為一個默認的元信息 項目。
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表示
音頻格式 :
FLV * 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數據區
不定
ScriptTagData結構(控制幀)
該類型Tag又通常被稱為Metadata Tag,會放一些關於FLV視頻和音頻的參數信息如:duration、width、height等。通常該類型Tag會跟在File Header後面作為第一個Tag出現,而且只有一個。
前11個位元組為Tag Header結構 第一個AMF包(13位元組):
第1個位元組表示AMF包類型,一般總是0x02,表示字元串
第2-3個位元組為UI16類型值,一般總是0x000A(“onMetaData”長度)。 後面位元組一般總為“onMetaData”。(6F,6E,4D,65,74,61,44,61,74,61) 第二個AMF包:
第1個位元組表示AMF包類型,一般總是0x08,表示數組。 第2-5個位元組為UI32類型值,表示數組元素的個數。
後面即為各數組元素的封裝,數組元素為元素名稱和值組成的對。表示方法如下: 第1-2個位元組表示元素名稱的長度,假設為L。 後面跟著為長度為L的字元串。 第L+3個位元組表示元素值的類型。
後面跟著為對應值,占用位元組數取決於值的類型。
tag格式 tag類型信息,固定長度為15位元組
1-4: 前一個tag長度(4位元組),第一個tag就是0
5-5: tag類型(1位元組);0x8音頻;0x9視頻;0x12腳本數據
6-8: tag內容大小(3位元組)
9-11: 時間戳(3位元組)(毫秒)(第1個tag的時候總是為0,如果是腳本tag就是0)
12-12: 時間戳擴展(1位元組)讓時間戳變成4位元組(以存儲更長時間的flv時間信息),本位元組作為時間戳的最高位.
在flv回放過程中,播放順序是按照tag的時間戳順序播放.任何加入到檔案中時間設定數據格式都將被忽略.
13-15: streamID(3位元組) 總是0