Originally posted by Sander@Mar 25 2005, 09:26 AM
因為影片的壓縮格式中有三種Frame
分別是I-Frame, P-Frame, B-Frame
其中只有I-Frame或是P-Frame可以當做被參考的Frame
簡單來說
就是I-Frame是獨立壓縮的
P-Frame是參考之前解出來的I-Frame或是P-Frame解出來的
而且本身又可以再給接下來的P-Frame或B-Frame當參考圖
B-Frame也是參考之前解出來的I-Frame或是P-Frame解出來的
但是本身不能再被參考
你碰到的那種不能拉的檔案
通常是因為壓縮的時候
為了提高壓縮率(就是減少檔案的大小)
所以幾乎都使用P-Frame或B-Frame
只有一開始那第一張是用I-Frame
所以不能Random Access
想想看..
如果在那檔案你跳到一個很後面的段落
可能挑到的圖是P-Frame或B-Frame (假設只有一開始那第一張是用I-Frame)
不幸的是..這兩種圖都得參考別的圖才能得到
所以結果就是解碼軟體得一直參考參考回去到第一張I-Frame解出來, 才能解出你選到的那張圖
速度跟本來不及..因此不會讓你隨意拉動
一般的檔案都會固定在一段時間內插入一張I-Frame
這樣你在Random Access的時候
如果挑到I-Frame..那很幸運可以直接解
挑到P-Frame或B-Frame..解碼器只要往前回去解幾張就可以找到那附近的I-Frame了