Flash Video
Flash Video(簡稱FLV),是一種網絡影片格式,用作串串流媒體格式,它的出現有效地解決了影片檔匯入Flash後,使匯出的SWF檔案體積龐大,不能在網絡上有效使用等缺點。
副檔名 |
.flv |
---|---|
網路媒體型式 |
video/x-flv |
開發者 | Adobe Systems |
格式類型 | 影片檔格式 |
一般FLV檔案包在SWF PLAYER的殼裏,並且FLV可以很好的保護原始地址,不易下載,從而起到保護版權的作用。但還是有些影片格式轉換軟件將FLV轉成一般的影片格式,如中國的軟件格式工廠。隨着影片網站的豐富,在2008年時這個格式已經非常普及,包括YouTube、NICONICO動畫、Google Video、Yahoo! Video、MySpace,以及中國的優酷、酷6、BiliBili等大部分影片分享網站均採用這個格式。
然而,Flash存在着包括大量耗電以及資訊保安等若干問題,隨着流動裝置與流動應用程式的發展與普及而日益嚴重,2010年喬布斯曾公開抨擊。2011年11月9日,Adobe公司宣佈停止開發個人電腦平台以外的Flash Player,而專注於開發非專利標示語言HTML5。
2016年,Youtube已經改採用HTML5技術,Google公司表示flash廣告會自動轉檔為HTML5形式[1]。2015年6月[2],Google宣佈公司旗下的Chrome瀏覽器停止了Flash外掛的自啟動。2015年9月1日起,Chrome瀏覽器預設不支援這些外掛程式[3],並且Amazon公司旗下電子商務和廣告平台也停止使用Flash技術[4]。
中國影片網站嗶哩嗶哩為了減少遷移至HTML5成本而開發了flv.js,可以通過瀏覽器支援的Media Source Extension播放FLV檔案格式中的H.264和AAC編碼內容,所以如今Chrome、Edge等瀏覽器仍然可以收看來自BiliBili的影片。[5]
2020年12月31日,Chrome作為最後一個宣佈將不再支援使用Flash的應用程式瀏覽器,flv影片均無法透過Google Chrome收看,除開BiliBili、優酷等影片網站以外的影片網站均停止使用flv作為影幀式。
F4V
FLV在H.264的影片規格或是AAC的音源規格都達到功能極限,為了克服這個格式上的限制,F4V於是誕生。F4V是基於ISO base media file format制定出來的容器格式(Container format)。至少於Flash Player 12.0 update 3以上版本才能播放。F4V支援的影片類型為H.264,影像類型為GIF、PNG以及JPEG,音頻類型為AAC以及MP3。
FLV檔案構成
FLV檔案=FLV標頭檔+ tag1+tag內容1 + tag2+tag內容2 + ...+... + tagN+tag內容N
FLV標頭檔
FLV標頭檔:(9位元組)
- 1-3:前3個位元組是檔案格式標識(FLV 0x46 0x4C 0x56)。
- 4-4:第4個位元組是版本(0x01)
- 5-5:第5個位元組的前5個bit是保留的必須是0.
- 第5個位元組的第6個bit音頻類型標誌(TypeFlagsAudio)
- 第5個位元組的第7個bit也是保留的必須是0
- 第5個位元組的第8個bit影片類型標誌(TypeFlagsVideo)
- 6-9: 第6-9的四個位元組還是保留的。其數據為00000009 .
- 整個檔案頭的長度,一般是9(3+1+1+4)
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
flv檔案元資訊(metadata)
flv檔案中的元資訊,是一些描述flv檔案各類屬性的資訊。這些資訊以AMF格式儲存在檔案的起始部分。adobe官方的標準flv元資訊專案如下[6]:
- 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播放程式
桌面軟件
這些播放程式包括:
- Adobe Media Player
- BitComet FLV Player
- ExtraPlayer
- GOM Player
- K-Multimedia Player
- MPlayer
- Perian
- PotPlayer
- Real Player 11
- VLC media player
- FLV Player by Martijn de Visser
- Quick Time 10
- 任何基於FFmpeg的播放程式
- 任何利用DirectShow配合ffdshow的播放程式
桌面軟件與網頁端播放程式
- JW FLV Player(授權方式:CC by-nc-sa)
- Moyea Web Player(頁面存檔備份,存於互聯網檔案館)(免費使用。可裝上外掛程式進行功能上的擴充,所見即所得圖形介面軟件。)
網頁端播放程式
- Dreamsocket Media Player(授權方式:CC by-nc-sa)
- FV H.264 FLV Ads Player免費軟件
- Sonettic Cinema FLV Player免費與商業版軟件均有
- Hitasoft Free RIPE FLVPlayer
- FLV / H.264 Video Player I, II and III by FlashXpert
註釋及參考來源
- ^ Flash的殺手? HTML5時代來臨. Paganini Plus. 2015-07-30 [2015-08-31]. (原始內容存檔於2015-08-26).
2010年Apple前行政總裁Steve Jobs曾公開抨擊Flash大量耗電以及資訊保安的問題,而且系統本身封閉,穩定性一直存在着漏洞,一直到現在2015年,越來越多知名大企業摒棄了Flash而轉往投抱HTML5,像是Youtube、Firefox、Facebook、Twitch,就連Google都表示目前會將flash廣告自動轉檔為HTML5形式。
- ^ Mac上的Chrome太耗電,連Google自己都看不下去了. PingWest中文網. 2015-06-24 [2015-10-03]. (原始內容存檔於2015-10-23).
6月初,Chrome和Adobe達成一項協定,最新的Chrome Beta版將會停止自動播放網頁上那些不重要的Flash內容。
- ^ Chrome無法顯示使用外掛程式的內容. Chrome說明. [2015-10-03]. (原始內容存檔於2015-10-08).
我們已於2015年9月1日停止支援……NPAPI外掛程式(包括Silverlight、Java和Unity)將無法運作。如果您想瀏覽使用NPAPI外掛程式的網站,必須使用其他網絡瀏覽器。
- ^ Amazon平台停止支援Flash廣告. 科技新報. 2015-08-24 [2015-10-03]. (原始內容存檔於2015-10-07).
反Flash陣營中最堅定的支持者就是蘋果公司,iOS系統自上線以來從未支援這項技術,隨後Google旗下的Android和YouTube也從Flash陣營跳到了HTML5。線上影音領域Flash早已是昨日黃花……Facebook高階主管曾公開表態,Adobe應該馬上將Flash淘汰。……目前仍在大量應用Flash技術的主要是網絡廣告,Amazon停止對Flash廣告的支援很可能改變這一局面。自2015年9月1日Amazon公司旗下電子商務和廣告平台將停止支援Flash技術,這一調整主要是因為各大瀏覽器廠商改變了對Flash技術的態度。
- ^ 存档副本. [2022-03-04]. (原始內容存檔於2022-04-11).
- ^ 存档副本. [2012-09-05]. (原始內容存檔於2011-12-31).