歷史
FLAC項目由Josh Coalson於2000年啟動。進入beta階段後並在2001年1月15日發布的0.5版的參考實現時,FLAC位流格式凍結。
2001年6月FLAC發布了1.0版。
2003年1月29日, "Xiph. Org"基金會和FLAC項目宣布FLAC成為
"Xiph. Org"旗下的獨立公司 banner. 除此之外,"Xiph. Org"還對許多免費壓縮格式提供支持,如Vorbis、Theora、Speex等等。
2007年9月17日FLAC發布了1.2.1版。
2013年6月1日六年來首次發布更新,從v1.2升級到v1.3。主要變化包括:支持RF64和Wave64 格式,ReplayGain支持最高192kHz音頻取樣率,等等。
軟體支持
編碼
跨平台
Audacity | 1.2.5版之後 |
KMPlayer | 通過官方, 解碼器 |
Flake(libFlake) | 一個第三方開發的實驗性的版本對, 多執行緒 ,/核提供支持 |
Windows平台
ALLPlayer
通過外部解碼器 |
12,0,3xx版以後 |
通過可選的外部, 分離器 , 外掛程式 |
10,2版以後 |
Producer版,7版以後 |
9版以後 |
Pro ,8/Pro,9 |
5,35版之後通過Flake,5,54版之前會產生不正確的MD5檢驗 |
Mac OS X
Toast Titanium | 版本7開始支持 |
xACT | 不要與微軟的XACT庫混淆 |
解碼
跨平台
Boxee
FFmpeg |
aTunes |
PS3,Media,Server |
Adobe,Audition |
Audacity,1,3,5,Beta |
MPlayer |
Songbird |
Squeezebox |
The Core Pocket Media Player with FLAC plugin |
VLC,media,player |
XBMC,Media,Center |
Mixxx,Digital, DJ ,software |
Windows平台
Ableton Live
類Unix
GnomeBaker | GNOME |
Quod,Libet | GNOME |
Rhythmbox | GNOME |
Totem, Movie ,Player | GNOME |
Serpentine | GNOME |
Amarok | KDE |
JuK | KDE |
Audiokonverter | KDE |
Mac OS X
Fluke |
Quicktime |
Ableton,Live |
Cog |
Plex,Media,Center |
xACT |
TRAKTOR,3 |
TRAKTOR,Scratch |
Palm OS
TCPMP | 0.72rc1版,開源,通過 外掛程式 |
CD抓軌
跨平台
Songbird |
aTunes |
Windows平台
Audiograbber
AudiTranscoder |
BonkEnc |
CDex |
DBpoweramp |
Exact,AudiCopy |
Easy, CD-DA ,Extractor |
foobar2000 |
iriver, plus ,3 |
JetAudio |
MediaMonkey |
Winamp |
Yahoo!, Music ,Jukebox |
類Unix
ABCDE |
Asunder |
Banshee |
Cdda2wav |
Cdparanoia |
Mencoder |
crip |
Grip |
Sound,Juicer |
K3b |
Konqueror |
soundKonverter |
Mac OS X
Max | Mac OS 10.4版或更高版本 |
原生支持
TRAXMOD | 支持44.1 kHz/16位 立體聲回放 |
Onkyo,TX-NR906 | 支持播放外部USB設備上的16位/24位 |
Pioneer SC-05, SC-07, SC-25, SC-27 以及 SC-09TX | 支持外部USB設定,(網路支持特性待驗證) |
Denon AVP-A1HDCI, AVR-4810, AVR-4310, AVR-3310等 | |
Yamaha,RX-V2065,功放 | |
Meridian,Sooloos | |
Escient | |
iAudio (Cowon) - A2, A3, 6, 7, F2, M3, M5, X5, U3, U5 | 通過刷入最新固件可以實現原生播放 |
Olive,(Symphony,Musica,Opus) | |
PhatBox | |
Rio,Karma | |
SanDisk, Sansa ,Fuze | 更新固件後支持 |
Squeezebox 和Transporter (Logitech的 網路音樂 播放器) | 最新產品支持原生解碼,早期產品需要在伺服器端轉換為PCM編碼 |
Sonos | |
魅族(Meizu) M6 Mini Player, M3 Music Card, M8, M9 | |
VEDIA, A10 ,B6 | |
Pixel, Magic ,Systems', HD ,Mediabox | 1,3,4版或之後的固件 |
嵌入式Waveplayer | 支持FLAC,0-2級 |
Teclast,T29,T39,C260,C280,C290 | |
Trekstor,Vibez | |
T+A, Music ,Player | |
Linn,Klimax, DS ,(Digital,Stream) | |
Linn,Akurate,DS | |
Linn,Majik,DS | |
Linn,Sneaky, Music ,DS | |
iriver,E100, E50 ,E30,Lplayer,SPINN | |
NMT,players | |
Archos,5,網際網路平板電腦 | |
Archos網際網路多媒體平板電腦 | |
Naim, Audio ,HDX,硬碟播放器 | |
Samsung,YP-U5 | |
Creative, Zen , X-Fi ,2 | |
WD,TV |
其他平台
Nintendo Wii | 通過Wii自製程式,MPlayerWii或MPlayer CE |
Apple, TV , BMC ,Media, Center ,或,Boxee | |
1-5,5代iPod, iPod , Mini ,1代iPod,nano | 通過第三方Rockbox固件 |
絕大多數兼容Rockbox的數碼音樂播放器(DAP) | 包括iriver和Gigabeat,(東芝公司)的產品,以及上面提到的iPod |
Sound,Devices,7-Series專業音頻錄音機 | 通過更新",badger", 固件 ,(v,2,24版) |
Sony,PlayStation,Portable(PSP) | 使用自製LightMP3程式 |
Samsung YP-P3, YP-Q1, YP-Q2, YP-U5, YP-S5 | 通過三星網站上發布的新版固件 |
Windows Mobile, Symbian OS(S60, S80 和 S90平台), | 通過免費的開源音樂播放程式OggPlay |
Google,Android,設備 | 通過運行CM,3,9,6版(或更高版本) |
打開方式
FLAC可以通過很多播放器直接播放,比如千千靜聽,Foobar2000等,甚至部分視頻播放器如KMPlayer都能直接播放。當然,為了音質考慮,建議使用專業音樂播放器進行播放。
在特殊情況下,可以將FLAC檔案視為一個光碟鏡像,並載入到虛擬光碟機上,這可以通過Nero將FLAC檔案刻錄到映像檔案然後通過虛擬光碟機(如DaemonTools)載入來實現,也可以通過WinMount軟體可以直接把Flac檔案掛載到一個虛擬光碟機。但是因為操作繁瑣,所以除非在必要情況下,一般我們都是通過播放軟體直接播放的。
特性
無損失壓縮:被編碼的音頻(PCM)數據沒有任何信息損失,解碼輸出的音頻與編碼器的輸入的每一個位元組都是一樣的。每個數據幀都有一個當前幀的 16-bit CRC校驗碼,用於監測數據傳輸錯誤。對整段音頻數據,在檔案頭中還保存有一個針對原始未壓縮音頻數據的MD5
標記,用於在解碼和測試時對數據進行校驗。 電腦在播放WAV檔案時,是把WAV檔案中的PCM數據直接傳送給音效卡,而電腦在播放FLAC時,需要先把FLAC解碼為PCM數據,然後在傳送給音效卡。就是多了一個解碼的環節,就像是給RAR文檔解壓一樣。其PCM數據是與壓縮前的WAV沒有區別的。
快速:FLAC更看重解碼的速度。解碼只需要整數運算,並且相對於大多數編碼方式而言,對計算速度要求很低。在很普通的硬體上就可以輕鬆實現實時解碼。
硬體支持:由於FLAC提供了免費的解碼範例,而且解碼的複雜程度低,直至2012年以來FLAC是唯一獲得廣泛且良好的硬體支持的無損壓縮編碼。
可以用於流媒體:FLAC的每個數據幀都包含了解碼所需的全部信息。解碼當前幀無需參照它前面或後面的數據幀。FLAC使用了同步代碼和CRC(類似於MPEG等編碼格式),這樣解碼器在數據流中跳躍定位時可以有最小的時間延遲。
可以定位:FLAC支持快速採樣精確定位。這不僅對於播放有益,更使得FLAC檔案便於編輯。
富於彈性的metadata:可以定義和實現新類型的metadata數據塊,而不會影響舊的數據流和解碼器的使用。目前已有的metadata類型包括tag,cue表,和定位表。 已經註冊的應用程式可以定義自己專用的metadata類型(譯註:這一點與MIDI標準相似)。
非常適合於存檔套用:FLAC是一個開放的編碼格式,並且沒有任何數據的損失,你可以將它轉換為你需要的任何其他格式。除了每個數據幀的CRC和MD5標記對數據完整性的保障,flac(譯註:FLAC項目提供的命令行方式編碼工具)還提供了一個verify(校驗)選項,當使用該選項進行編碼的時候,編碼的同時就會立即對已編碼數據進行解碼並與原始輸入數據進行比較,一旦發現不同就會退出並且報警提示。
便於對CD進行備份:FLAC有一個“CUE表”metadata數據塊用於保存CD的內容列表和所有音軌的索引點。你可以將一張CD保存到一個單一檔案,並導入CD的cue表格,這樣一個FLAC檔案就可以完整地記錄整張CD的全部信息,也就是說,可以把平時單獨存放的CUE檔案嵌入到FLAC檔案里。當你的原來的CD損壞的時候,你就可以用這個檔案恢復出與原來一模一樣的CD副本。
抗損傷:由於FLAC的幀結構,使得一旦發生數據流的損壞,損失會被限制在受損傷的數據幀之內。一般只是會丟失很短的一個片段。而很多其他無損音頻壓縮格式在遇到損傷的時候,一個損傷就會造成後面所有數據的丟失。
FLAC缺點
數據縮水。FLAC是專門並且僅僅為無損壓縮而設計的,您可以選用許多其他優秀的有損壓縮方式如Vorbis,MPC,和MP3(LAME提供了一個優秀的開放原始碼的實現)。
SDMI(例如cetera)兼容。FLAC不準備支持任何複製保護方法,實際上這些手段最終都是在浪費數據。(從另一個角度看,由於所有這些手段最終都被證明是無效的,所以也可以說FLAC把這些無用數據壓縮到了零!)當然我們不能阻止某些人利用專用的metablock進行複製保護,但是他們的保護只會在他們自己解碼產品上有效,其他解碼器會跳過這些專門的metablock的。
FLAC與APE
在音頻壓縮領域,有兩種壓縮方式,分別是有損壓縮和無損壓縮!我們常見到的MP3、WMA、OGG被稱為有損壓縮,有損壓縮顧名思義就是在壓縮過程中會讓原始音頻信息受損和失真,意義在於輸出的音頻檔案可以比原檔案小很多。另一種音頻壓縮被稱為無損壓縮,也就是我們今天所要說的主題內容。無損壓縮能夠在100%保存原檔案的音頻數據的前提下,將音頻檔案的體積壓縮的更小,而將壓縮後的音頻檔案還原後,能夠得到與源檔案完全相同的PCM數據。目前無損壓縮格式有APE、FLAC、WavPack、TAK、TTA、WMA Lossless、Apple Lossless、La、OptimFROG、Shorten等,而在中國最流行的無損壓縮格式是APE和FLAC。下面就針對這兩種無損壓縮格式進行一下對比。
APE即Monkey's Audio,是一種常見的無損音頻壓縮編碼格式,擴展名為.ape。與有損音頻壓縮(如MP3、Ogg Vorbis或者AAC等)不同的是,Monkey's Audio壓縮時不會丟失數據。一個壓縮為Monkey's Audio的音頻檔案聽起來與原檔案完全一樣。Monkey's Audio檔案的播放列表使用.apl(也支持cue)。同時它提供的開源開發包使得播放器開發者們可以較容易的讓播放器產品支持APE格式。在現有不少無損壓縮方案中,APE是一種有著優勢並不突出的壓縮比以及較慢的解碼速度。由於推出時間較FLAC早,APE格式占據了大多數PC-HIFI友的心,在國內很快流行,套用非常廣泛,成為了國內許多無損音樂愛好者的首選格式。
FLAC是Free Lossless Audio Codec的簡稱,是一種非常成熟的無損壓縮格式,名氣不在APE之下。該格式的源碼完全開放,而且支持所有的作業系統平台。它的編碼算法相當成熟,已經通過了嚴格的測試,當FLAC檔案受損時依然能正常播放。另外,該格式是最先得到廣泛硬體支持的無損格式。
前面已經說明,無損壓縮是在保證不損失源檔案所有碼率的前提下,將音頻檔案壓縮的更小,也就是說這兩種音頻格式都能保證源檔案碼率的無損。但兩種壓縮格式畢竟為兩種壓縮算法,下面比較一下這兩種壓縮格式的特點:
一、壓縮比決定無損壓縮檔案所占存儲空間
所有的無損壓縮編碼的壓縮比都較為相近,但在這些無損壓縮編碼之中,APE具有較好的壓縮率,FLAC的壓縮率略有不如。以一首49784KB的“5
Star Grave - In Bed With The Dead.wav”為例,轉換為flac後大小為37006KB,轉換為ape後大小為36460KB,兩者的壓縮率分別為74.33%和73.24%。大多數情況下,一個WAV音頻檔案經壓縮後得到的APE檔案,一般會比壓縮為FLAC檔案稍微小一些。由於不同的WAV檔案信息量不同,以上數據僅供參考。(註:flac.exe為1.3.0版,MAC.exe為4.11版)
二、編碼速度考驗用戶的耐心,速度快者優
FLAC的壓縮和解碼速度均顯著優於APE,APE只有在FAST的編碼強度下,速度才能和FLAC一拼。但相應的,APE的壓縮率一直高於FLAC,APE的FAST壓縮下得到的檔案體積已經可以和FLAC最高壓縮比的檔案體積媲美(經測試,一首49784KB的“5 Star Grave - In Bed With The Dead.wav”檔案,經FAST壓縮後得的APE檔案和最高壓縮比Level 8下得到的FLAC檔案大小分別為36854KB、36960KB)。也就是說,如果以速度為基準比較的話,在相同壓縮速度的設定下,兩者的壓縮比差不多。
三、平台的支持決定普及度
FLAC相比APE的解碼複雜程度要較低(解碼運算量小、只需要整數運算),解碼速度快,對計算硬體要求很低,在很普通的硬體上就可以輕鬆實現實時解碼播放。FLAC是目前唯一獲得廣泛硬體支持的無損壓縮編碼,在消費領域,已經有很多移動多媒體播放器、汽車、家用音響設備支持FLAC格式了。
APE格式,目前官方只提供Windows支持。雖然也有提供GNU/Linux和Macintosh平台的官方支持的討論,但是沒有結果。目前只有一位名為SuperMMX的開發者於2003年7月釋出了一個非官方移植版本。它包括了供XMMS與Beep Media Player回放Monkey's Audio使用的外掛程式。該移植本來只支持GNU/Linux,但從3.99 update 4 build 4版本開始支持Mac OS X和基於PowerPC、SPARC平台的GNU/Linux。但是這個非官方移植計畫沒有得到官方的承認,受制於官方發行許可證的限制,其未來並不明朗。不過據稱Monkey's Audio的Win32庫可以藉助Wine在GNU/Linux平台運行。硬體支持方面,由於採用了浮點運算,編碼解碼速度慢,對硬體的要求較高,硬體支持度不如FLAC。
四、兩者的開源特性
APE屬於個人作品,未來不排除出現著作權問題;技術水平和支持方面遜色於國際通用標準格式的FLAC。
FLAC是一個開放原始碼並且完全免費的無損音頻編碼壓縮格式,是國際通用標準,這種與CD質量相同的音樂格式在音質上一樣是無可挑剔的,以FLAC方式壓縮不會丟失PCM音頻的任何信息。而且你永遠不必擔心惹上著作權官司。受益於此,目前有很多音頻處理軟體默認都可以輸入、輸出FLAC格式檔案,這給音頻的後期處理帶來了方便。
兩者的開源或部分開源,對音頻軟硬體的設計們提供了很大的便利,目前不但幾乎所有主流播放軟體都支持二者,硬體方面也有很多播放器支持了FLAC和APE。只不過因為APE解碼的運算量太大的問題,導致並不是每一個APE檔案都可以被硬體播放器流暢播放,也更耗電。
五、容錯能力
APE檔案的容錯性差,只要在傳輸過程中出現一點差錯,就會讓整首APE音樂作廢。而FLAC檔案因為每幀數據之間無關聯。因此當FLAC檔案在傳播過程中受損,導致某幀數據損壞缺失的話,只會損失該幀的音頻信息,不會影響到前後的數據。這是FLAC的優勢,但也因此FLAC的壓縮率略低。
總結:
無論FLAC還是APE,因為所占空間都比有損音樂大很多,所以都不是主流的音頻格式,所以我們在網路上很難獲取到FLAC和APE格式的音樂資源。但通過上面的對比,相信很多用戶對FLAC和APE的認識更深了一些,單從技術角度講,FLAC要比APE更有優勢,因為FLAC完全開源,許多播放器可以自由地將FLAC解碼功能內建在自己的解碼器中。同時,FLAC有廣泛的硬體平台的支持,幾乎所有採用攜帶型設計的高端解碼晶片都能夠支持FLAC格式的音樂,FLAC第三個優勢在於:優秀的編碼使得硬體在解碼時只需採用簡單的整數運算即可,這將大大降低所占用的硬體資源,解碼速度極快,這也是硬體播放器對FLAC支持更好的原因。
音頻和視頻格式
多媒體(音頻/視頻)技術隨著人們不斷增加的需求而進入了資訊時代,並且得到了迅猛發展。大量信息的音視頻數據被廣泛使用。音頻信號的數位化、網路化傳輸與處理成了眾多致力於發展多媒體技術的公司爭相研究的課題。 |