複製鏈接
請複製以下鏈接發送給好友

flv

(FLASH VIDEO的簡稱)

鎖定
FLV 是FLASH VIDEO的簡稱,FLV流媒體格式是隨着Flash MX的推出發展而來的視頻格式。由於它形成的文件極小、加載速度極快,使得網絡觀看視頻文件成為可能,它的出現有效地解決了視頻文件導入Flash後,使導出的SWF文件體積龐大,不能在網絡上很好的使用等問題。
中文名
流媒體格式
外文名
FlashVideo
簡    稱
FLV
類    別
格式
優    點
文件極小、加載速度極快
缺    點
導出的SWF文件體積龐大等
採用的網站
搜狐視頻新浪播客嗶哩嗶哩
趨    勢
增長最快、最為廣泛

flvflv發展

FLV FLV
FLV是被眾多新一代視頻分享網站所採用,是增長最快、最為廣泛的視頻傳播格式。是在sorenson公司的壓縮算法的基礎上開發出來的。FLV格式不僅可以輕鬆的導入Flash中,速度極快,並且能起到保護版權的作用,並且可以不通過本地的微軟或者REAL播放器播放視頻。

flvflv歷史

flv普及

FLV FLV
網絡寬帶的普及使中國網民數量躍升至全球第一,同時也造就了眾多的網絡神話,GOOGLE斥巨資收購YouTube,似乎將國內外本身已經夠火的Web2.0視頻網站被廣泛關注。隨後視頻、播客等網站在國內如雨後春筍般興起,新的網絡戰役一觸即發,這對於FLV視頻格式的普及無疑是一個巨大的推動力。

flv優勢

FLV FLV
FLV作為一種新興的網絡視頻格式,能得到眾多的網站支持並非偶然。除了FLV視頻格式本身佔有率低、視頻質量良好、體積小等特點適合網絡發展外,豐富、多樣的資源也是FLV視頻格式統一在線播放視頻格式的一個重要因素。從最新的變形金剛到越獄再到各項體育節目,甚至於網友製作的自拍視頻等都可以在網絡中輕而易舉的找到。
互聯網上提供FLV視頻的有兩類網站,一種是專門的視頻分享網站如美國的YouTube網站、國內的六間房土豆網等。另一種是門户網站提供了視頻播客的板塊,提供了自己的視頻頻道,如新浪視頻播客等,也是使用FLV格式的視頻。此外,百度也推出了關於視頻搜索的功能,裏面搜索出來的視頻基本都是採用了流行的FLV格式。

flv使用

Web 2.0時代,要説什麼類型網站最火,自然是以國外的Youtube,國內的優酷土豆網、UUME為代表的視頻分享網站了。這類網站提供的視頻內容可謂各有千秋,但它們無一例外的都使用了Flash作為視頻播放載體,支撐這些視頻網站的技術基礎就是——Flash 視頻(FLV) 。
FLV 是一種全新的流媒體視頻格式,它利用了網頁上廣泛使用的Flash Player 平台,將視頻整合到Flash動畫中。也就是説,網站的訪問者只要能看Flash動畫,自然也能看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支持轉換的視頻格式相當廣泛,如:AVIWMVMPEGASFMOV等常見視頻格式。視頻添加進隊列後,如果你不需要做特殊修改,那麼點擊“開始隊列”按紐,程序即開始視頻轉換。軟件轉換視頻的速度,筆者總的感覺還是較快,當然這與原始視頻大小及設置的視頻數據速率有關。整個轉換過程,主窗口下方都有信息提示,並且還能看到實時的進度預覽。轉換結束後,在轉換視頻同一文件夾下,我們就能得到一個同名的FLV文件。
當然,上述這些只是按照默認設置進行轉換的情況,實際情況下,我們對於視頻轉換的控制還可以很多,點擊主窗口“設置”按紐進入高級設置對話框。
視頻編碼設置對話框中,最顯著的就是FLV視頻品質設置,默認是“Flash 8- 中等品質(400kbps)”,軟件內置7種不同的編碼設置組合。我們也可以選擇自定義設置,點擊“顯示高級設置”按紐,軟件將顯示自定義的設置界面。
FLV FLV
軟件提供了兩種視頻解碼器供選擇: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不同方式

flv本地文件

作為一個獨立的FLV文件。雖然Flash視頻文件通常是交付使用的Flash Player的控制, FLV文件本身是全功能對自己的和可以發揮的或轉換為其他格式,由本地存儲如硬盤或CD上。[引文需要]

flv嵌入式swf

在一個嵌入式的SWF文件使用Flash創作工具(支持在Flash Player 6和更高版本)。整個檔案必須在移交之後,才可以開始播放。改變影片需要重建的SWF文件。

flv逐步下載

逐步通過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偽分流”的方法。

flvrtmp方式

流通過rtmp到Flash Player的使用Flash媒體服務器(以前稱為閃光通信服務器),風險投資, electroserver , wowza Pro或開放原始碼red5服務器。截至2008年4月,有4個流錄音機,供本議定書,重新編碼screencast軟件排除在外。

flv文件生成

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 FLV
chameleogom播放器
MPlayer的(使用ffmpeg )
使用RealPlayer
xine (用途ffmpeg )
任何播放器,可以使用ffdshow (基於ffmpeg )DirectShow的編解碼器:
Winamp中
Windows Media Player中
變焦播放器
任何播放器使用的QuickTime ,安裝後的FLV的組成部分

flv文件下載

在線觀看的flv視頻文件基本都不提供下載,在此介紹兩種下載方法:

flvtemp下載

該方法對多數視頻適用。
FLV FLV
首先,正常觀看視頻,不要關閉瀏覽器,其次,等視頻加載完畢,進入C:\Documents and Settings\你的用户名\Local Settings\Temporary Internet Files
(這只是默認位置,若無法訪問請打開“Internet選項”(IE中菜單欄內“工具”-->“Internet選項”)單擊“瀏覽歷史記錄”中“設置”,“查看文件”(不同版本IE操作可能有所區別))
這個文件夾(有可能要用到文件夾選項中的“顯示全部文件”才可看見),然後,查找擴展名為flv的文件即可,可以按時間排序,很容易找到。也可以按大小,視頻文件一般都比較大,排在頂部本方法適合任何flv視頻網站

flv專業工具

還有一種(推薦, 非常輕鬆地下載)可藉助flv視頻下載軟件,例如:流行的有狂雷視頻下載、維棠下載、碩鼠等,都是比較成熟的軟件,可提供播放、下載、轉換等功能。狂雷界面簡單易用,知名度高,其本身是一個flv資源平台,提供的flv資源自然豐富,狂雷視頻下載像迅雷一樣,功能豐富,而且下載速度是同類所有下載軟件中最快的,支持優酷分段視頻的自動合併,還具有強大的視頻轉換功能,可根據手機型號來轉換FLV視頻到您手機支持的視頻格式維棠像FLASHGET一樣,操作比較複雜,只有下載,沒有搜索功能。還有像其他的flv小軟件,比如xmlbar之類的,不過功能有點簡單,易操作性一般。
另外還可以通過flvcd網站在線解析視頻地址,直接瀏覽器另存為下載,無需安裝插件.

flv製作視頻

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文件=FLV頭文件+ tag1+tag內容1 + tag2+tag內容2 + ...+... + tagN+tag內容N。

flvFLV頭文件

一般比較簡單,包括文件類型之類的全局信息
文件類型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文件中的元信息,是一些描述flv文件各類屬性的信息。這些信息以AMF格式保存在文件的起始部分。adobe官方的標準flv元信息項目如下(來源: [1]  ):
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的工具是flvtool2FLVMDI,都是把keyframes作為一個默認的元信息 項目。

flvFLV 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 數據區
FLV FLV
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數據區
不定
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個字節表示元素值的類型。
後面跟着為對應值,佔用字節數取決於值的類型。

flvtag格式

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
參考資料