[爆卦]gop影像是什麼?優點缺點精華區懶人包

為什麼這篇gop影像鄉民發文收入到精華區:因為在gop影像這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!●12032 7 5/09 kisaraki R[問題] 大家會想收藏哪種格式的動畫文章...


作者: kisaraki (如月未緒) 看板: C_Chat
標題: Re: [問題] 大家會想收藏哪種格式的動畫
時間: Wed May 9 14:06:16 2012

純就技術方面來討論

wohtp 提到 :

現代的影像壓縮法都是一次處理連續幾個frame,所以要解壓縮出現在螢幕上面的
這個frame,播放器需要先讀取未來的frame的資料,而avi不支援這個先讀
的動作。所以它才會被淘汰。

和 xmax0083 :

AVI就已經開始跟不上時代一點啦
不支援b-frame就很難把影片跑得方便又好用,加上只能有一影一音,很簡陋

關於這部份,應該都是指 B-Frame

先從一般 Mpeg-4(DivX/Xvid/AVC H.264) 的影像結構來看

一段完整的影像通常由一群 GOP ( Groupo of Picture ) 所組成

GOP 內通常包含了 I, P, B 三種 Frame 格式

I-Frame 為一整個完整畫面,可以單一獨立解碼,也通稱為 Key-Frame

P-Frame 為向前參考,必須要參考前一張畫面,才能解碼

B-Frame 為雙向參考,除前張外,也必須要參考下一張畫面才能解碼

在一般的狀態下,一個影片的 GOP 通常應為 IPPPPPP.....

因此只考慮單純播放,放完就沒了,所以只需要有 I, P

但若影片有倒轉的需求,那麼編碼時 GOP 就可能會改成 IBPBPBP

其中 GOP 內 B 和 P 的數量是可以依參數設定不同而異的

AVI 格式由於 RIFF Chunk 的限制,Chunk 在播放時只能循序讀取

因此原生並不支援 B-Frame,但不表示不能用其他手段讓它支援

DivX 就在 AVI 內使用 [PB] 的方式將二個 Frame 給 Pack 在一起

使下一張的 P 可以讓 B 來參考,而此方式目前也為多數 Player 所接受

所以在目前的狀況下,說要在 AVI 內使用 B-Frame 也不是不可能的

--

另一方面,AVI 也可以一影多音,甚至可以內嵌字幕

請看 AVI 的 StreamHeader 結構

typedef struct {
FOURCC fccType;
FOURCC fccHandler;
DWORD dwFlags;
WORD wPriority;
WORD wLanguage;
DWORD dwInitialFrames;
DWORD dwScale;
DWORD dwRate; /* dwRate / dwScale == samples/second */
DWORD dwStart;
DWORD dwLength; /* In units above... */
DWORD dwSuggestedBufferSize;
DWORD dwQuality;
DWORD dwSampleSize;
RECT rcFrame;
}AVIStreamHeader;

其中的 FURCC fccType 便包含了
'vids' -video
'auds' -audio
'txts' -subtitle

AVI 並沒有說一個 AVI 只能有一個 Audio Chunk List

因此多個聲音軌是完全沒問題的,在下自己就壓過 1 Video + 8 Audio 的 AVI

然而,說到內嵌字幕的多樣性,AVI 就沒有辦法像 MKV/MP4 那樣靈活,充其量也只是讓人能看

什麼卡拉 OK , MV 的,就忘了它吧

--

除了封裝內容,MKV / MP4 比 AVI 方便(或說惱人)的地方,就是支援動態 Resolution 和 FPS

動態 Resolution 實務上還找不太到有什麼人在使用

但動態 FPS 卻有不少人在影像編碼時用到﹝FPS 隨畫面動態而調整﹞

過去也有不少伊莉琴斯的魔人們在嘗試這方面的編碼

MP4/MKV 由於在每一個結構內的 Block 都有自己的 Time Stamp,因此只需要調整 Time Stamp

就可以達到動態 FPS

AVI 則由於已在 Header 內固定了 FPS 的值,因此只能用固定 FPS 播放

若要實作動態 FPS ,就必須取不同 FPS 的最小公倍數﹝如混合 24/30 後的 120FPS﹞

在 120FPS 內,屬於 24/30 以外的影像 AVI 如何處理?

答案就是插入 AVI 特有的 D-Frame,也就是 NULL,Player 在看到 D-Frame 後,會自動

忽略它,直到找到下一個 I, P, B 為止

--

回到最原始發文的問題,會要什麼格式,像在下這種老人家,仍傾向 AVI,再來才是 MP4
最不推 MKV

原因在於

1.編輯軟體的適用性﹝如 Adobe Premiere、TMPGEnc、AVIUtl﹞,仍以 AVI 最高,若

使用 MKV,有很大的機會必須要透過 AviSynth + DirectShowSource 才能動

如果 MKV 內封裝的東西太雜亂,甚至有可能動不了,就必須先把檔案 Demux 成影音

分離檔再另外處理,傷透腦筋。

2.沒有影片倒轉的需求,因此 B-Frame 的原生支援便不是那麼重要,如果有大量 Seeking

的編輯需求,那在下反而會考慮把整個影片都先轉成 HuffYUV 或 Lagarith 再處理,反

而方便些

3.沒有動態 FPS 的需求,是多少 FPS 就多少處理

4.對在下而言,字幕實在不是那麼需要的東西

--

好吧,我承認我是來幫 AVI 講點話的。 :)

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.133.190.68
nvalue:一般向收高畫質,成人向收AVI 比較好快轉 05/09 14:08
rabbit190:恩恩(對不起我沒看完 05/09 14:08
nekoares:專業好文推! 05/09 14:11
allfate:這串不是已經禁回了嗎... 05/09 14:13
finaltrial:轉到AVEncode板吧 @@ 05/09 14:16
Gravity113:離題了吧,喪失ACG點 05/09 14:21
hipab:avi anime video introdution 05/09 14:26
scvb:對對,我也是這麼想的 05/09 14:50
understar:嗯 0.0 直接買BD收藏吧 都要收藏當然是最好的藍光實體 05/09 14:52
Xavy:太專業了..所以我end了 (遮臉 05/09 15:13

你可能也想看看

搜尋相關網站