媒體檔案格式比較 B101100025 何震邦
多媒體?
多媒體 = 文字 + 非文字媒體
Jun 8, 2012
2
Jun 8, 2012
3
非文字媒體 ● ● ●
圖片 音訊 影片
Jun 8, 2012
載自 MEDIACRAT
4
壓縮 ● ●
●
網路再怎麼快,還是沒有 CPU 和 RAM 快。 非文字媒體檔案通常都不小,小則數百 KB 的 小圖片,多則上 GB 的高畫質電影。 壓縮,才能讓閱聽人最快收到訊息!
Jun 8, 2012
5
有損壓縮 vs 無損壓縮 ●
有損壓縮犧牲品質 – –
● ● ●
扔掉次要資訊 保留關鍵資訊
檔案較小 JPEG
●
無損壓縮 –
● ● ●
保留所有資訊
檔案較大 PNG, FLAC FFV1, HuffYUV
大部份的視訊
Jun 8, 2012
6
圖片 ● ●
點陣圖:儲存每一像素的顏色 向量圖:儲存路徑和填色
Jun 8, 2012
7
常見點陣圖 ●
GIF
●
JPEG
●
PNG
Jun 8, 2012
8
Graphics Interchange Format ● ●
● ● ●
LZW 無損壓縮 圖形中頂多只能有 256 色 可以有全透明的部份 不支援半透明 支援動畫,如右圖
Jun 8, 2012
9
JPEG ● ● ● ● ●
DCT 有損壓縮 全彩,不透明 不支援動畫 可調整品質參數 (Q) 右圖的 Q 值左低右高
Jun 8, 2012
10
JPEG 的品質參數 ●
● ●
常見 JPEG 圖片的品質參數 –
Q~95 :清晰的照片
–
Q=90 : PhotoImpact 預設值
–
Q=85 : Facebook 照片
品質參數高,檔案大,不自然痕跡少 品質參數低,檔案小,不自然痕跡多
Jun 8, 2012
11
JPEG 的不自然痕跡 請注意看聖誕帽和我的眼睛
Q=94 原圖 Jun 8, 2012
Q=85 on Facebook 12
Portable Network Graphics ●
為取代 GIF 而生
●
DEFLATE 無損壓縮
● ● ●
全彩 支援半透明 (Alpha) 不支援動畫
Jun 8, 2012
13
PNG 的半透明效果
Jun 8, 2012
14
PNG vs GIF ●
GIF 支援動畫
●
靜態圖片 PNG 勝 –
PNG 支援全彩和半透明
–
GIF 轉存 PNG ,檔案縮小 ●
Jun 8, 2012
DEFLATE 比 LZW 優
15
常見的向量圖 ●
PostScript (PS, EPS, PDF)
●
SVG
Jun 8, 2012
16
PostScript ● ● ●
是純文字文件 無法在瀏覽器中顯示 可內嵌於 PDF
Jun 8, 2012
17
Scalable Vector Graphics ●
是 XML 純文字文件
●
最常見的向量圖 –
●
如右圖
支援動畫
Jun 8, 2012
18
PS vs SVG ●
PS 是完備的程式語言, SVG 不是 –
SVG 要儲存路徑上關鍵點的座標
–
PS 可儲存座標或數學關係式
●
PS 可以嵌入 PDF , SVG 可以嵌入 HTML 5
●
網路上 SVG 較普遍
●
兩者易於互相轉換
Jun 8, 2012
19
如何選擇合適的格式
●
照片
簡單圖樣
複雜圖樣
最高品質
PNG
向量圖
向量圖
最佳選擇
JPEG
SVG
PNG
最差選擇
GIF
JPEG
JPEG
最佳選擇同時考慮了檔案大小和品質,為最適 合放在網路上分享的格式。
Jun 8, 2012
20
最佳選擇 ●
●
JPEG 是一塊一塊地壓縮圖片,而照片充斥柔 和的色塊,缺乏銳利的線條。所以 JPEG 可以 有效地壓縮照片,失真程度也很小 旗幟、徽章等幾何圖樣與文字的組合,適合以 向量圖儲存。 SVG 比 PS 適於流通
●
其他狀況,如螢幕截圖,則適合 PNG
●
GIF 只負責存動畫,不做其他用途
Jun 8, 2012
21
最差選擇 ●
●
GIF 只有 256 色,存照片只會醜不拉磯,檔案 又比 PNG 肥。 JPEG 適合色塊,不適合線條。例如螢幕截圖 這種含有大量文字、圖案、邊框等銳利線條的 圖片,只會壓出肥大又難看的 JPEG 。 PNG 是 存螢幕截圖最好的選擇。
Jun 8, 2012
22
音訊 ●
常見的有損格式
Jun 8, 2012
●
常見的無損格式
–
AAC
–
APE
–
MP3
–
FLAC
–
Ogg Vorbis
–
WAV
–
WMA
23
位元率 ●
位元率 = 每秒的音 / 視訊所占的空間
●
1 bps = 1 bit per second = 1 bit/s
●
8 bps = 1 Byte/s
●
1 kbps = 1000 bps = 125 B/s
●
1 Mbps = 1000 kbps = 125 KB/s
Jun 8, 2012
24
位元率 ●
●
●
在描述資料傳遞速率的時候,如頻寬、位元 率,我們習慣以 bit 為基本單位 在描述檔案大小的時候,我們習慣以 Byte 為 基本單位 1 Byte = 8 bits
Jun 8, 2012
25
CBR vs VBR ●
Constant BitRate 固定位元率 – –
●
Variable BitRate 變動位元率 –
●
在音訊中,位元率是定值 音樂 CD = 1411.2 kbps 高頻的聲音用高位元率編碼,低頻的聲音用低 位元率編碼
VBR 可以用更小的檔案達到與 CBR 相同的音 質!
Jun 8, 2012
26
無損格式 ● ● ●
既然都無損了,音質都一樣是原汁原味 檔案大小和 CPU 消耗是比較的重點 以音樂 CD 為例:
Jun 8, 2012
檔案大小
CPU 消耗
WAV
1411.2 kbps
低
APE
約 950 kbps
高
FLAC
約 1000 kbps
低
27
APE (Monkey's Audio) ● ● ● ●
壓縮率低(檔案小) 播放時較消耗系統資源 跨平台能力不如 FLAC 在中國大陸比 FLAC 流行,但最近逐漸倒向 FLAC
Jun 8, 2012
28
Free Lossless Audio Codec ●
壓縮率略高於 Monkey's Audio
●
佔用資源低,跟不壓縮的 WAVE 不相上下
● ●
較多的軟硬體支援 在歐美日比 Monkey's Audio 流行
Jun 8, 2012
29
APE vs FLAC ●
我的建議是存 FLAC
●
沒有存 WAV 的理由
● ● ● ●
平板電腦、智慧型手機越來越流行 高 CPU 使用率 = 高耗電 電能比磁碟容量貴 2% ~ 5% 的壓縮率就不要計較太多了
Jun 8, 2012
30
有損格式 ● ● ● ● ●
●
壓製的時候,可以自行調整品質或位元率 強烈建議以 VBR 模式壓製! 高品質→大檔案;低品質→小檔案 常見的有 MP3, AAC, Ogg Vorbis, WMA 基本上, AAC 和 Vorbis 比 WMA 好, WMA 又比 MP3 好。 (好 = 用較小的檔案獲得同樣的音質)
Jun 8, 2012
31
使用 WMA 和 MP3 的理由 ●
●
●
●
雖然 WMA 和 MP3 的性能較差,幾乎不可能 讓一般人聽不出與原音的差異 但是 Windows 不裝其他軟體,開不了 AAC 和 Ogg MP3 幾乎所有裝置都支援,應該很難找到不支 援 MP3 的隨身聽、手機等 其實 Windows 安裝 SMPlayer,即可打開大部 份的音 / 視訊檔,包含 AAC 和 Ogg
Jun 8, 2012
32
Advanced Audio Coding vs Ogg Vorbis ●
●
AAC 在 256 kbps 以 上可使一般人聽不出 與原音的差異 在 64 ~ 96 kbps 的 「艱困」環境下,仍 有可接受的音質
Jun 8, 2012
●
●
●
Vorbis 在 192 kbps 以 上可使一般人聽不出 與原音的差異 適合 128 kbps 以上, 此時比 AAC 強 96 kbps 以下的表現 很差
33
影片 ●
影片 = 容器裝著(視訊串流 + 音訊)
●
視訊串流 = 連續播放的點陣圖
Jun 8, 2012
34
容器格式 ●
●
●
影片檔基本上是容器裝著數量不一的視訊軌和 音訊軌 容器格式把視訊和音訊綁在一起,方便同時播 放 每種容器格式都有它的限制
影片檔就像俄羅斯套娃 Jun 8, 2012
35
常見的容器格式 ●
3GP (.3gp)
●
MPEG-4 (.mp4)
●
Audio Video Interface (.avi)
●
Ogg (.ogg .ogv)
●
Flash Video (.flv .f4v)
●
RealMedia (.rm .rmvb)
●
Matroska (.mkv)
●
QuickTime (.mov .qt)
●
MPEG (.mpg .mpeg)
●
MPEG-TS (.ts .mts)
Jun 8, 2012
36
視訊串流 ●
容器決定了能用哪些音 / 視訊格式
●
效能的關鍵是音 / 視訊格式,不是容器
●
視訊串流也有無損壓縮和有損壓縮格式
視訊串流截圖 Jun 8, 2012
37
無損壓縮視訊 ●
●
一般而言,無損壓縮視訊只適於保存,不適於 在網路上發佈 使用 ffmpeg轉檔,我推薦兩種方法
Jun 8, 2012
–
用 FF Video Codec 1 壓縮原始影像。 FFV1可裝入 AVI 或 Matroska 容器
–
用 x264 無損模式。由音訊決定要裝填的容器
38
有損壓縮視訊 ●
目前效能最佳的編碼器為 x264 –
沒錯,相同品質, x264 壓得比 RMVB 小!
●
x264 可以裝進 MP4 或 FLV 容器
●
通常搭配 AAC 音訊
Jun 8, 2012
–
MP4 和 FLV 無法裝填 FLAC 和 Vorbis
–
Ogg 無法裝填 x264
39
有損壓縮視訊 ●
如果音訊是影片的主角,視訊品質可以降低, 則建議使用 Ogg 容器
●
Ogg 容器可以裝填 FLAC 和 Vorbis 音訊
●
視訊通常搭配 Theora
●
ffmpeg 轉 Ogg 效能不佳,建議改用 ffmpeg2theora
Jun 8, 2012
40
選擇容器格式 ●
HTML 5 的 <video> 標籤支援 MP4 和 Ogg
●
支援 MP4 容器的裝置相當多
●
MP4 裝 x264 + AAC ,絕配!
●
MP4 是「挑食的」容器
●
–
視訊當然只吃 MPEG-4 Part 2 (e.g. Xvid) 跟 Part 10 (H.264, e.g. x264)
–
音訊通常餵它 AAC ,不過 MP3 它也吃
Flash Video 可視為常吃 MP3 的 MP4
Jun 8, 2012
41
選擇容器格式 ●
AVI 和 Matroska 是「雜食性」容器 –
支援各種音 / 視訊亂入
–
無損壓縮原始影片:如 FFV1 + FLAC
–
如果原始視訊早已壓縮:複製視訊軌 如果原始音訊早已壓縮:複製音訊軌
–
Jun 8, 2012
42
總結 ● ●
工欲善其事,必先利其器 選擇最恰當的格式儲存媒體,才能 – – –
Jun 8, 2012
讓閱聽人最快速獲得資訊 節省系統開銷(儲存空間、電力) 有效保存寶貴的資料
43
Thanks for your attention!
Jun 8, 2012
44