[請問] 想請問關於flv檔跟H263編碼的問題
目前手上有個flv檔,視訊編碼是Sorenson H.263,音訊編碼是mp3, 23fps
不過我想問的是,我現在想切割flv檔成小片段
利用flvtool2來下參數,不過由於flv檔本身的keyframes只有固定幾個times
要是我切割的片段,中間不包含任何一個keyframe的時間
這個片段就完全無法播放
ex:
flvtool2 -CUa -i 5000 -o 14000 input.flv output.flv
(把input.flv的5秒~14秒的片段切出來另存成output.flv)
因為keyframes的time可能是0, 4.123, 15.013, ....所以我切的片段不包含keyframe
這樣影片就完全無法播放
我知道這應該是跟H263編碼有關,自己猜測是因為切出來的部份沒有所謂的I frame
所以在decoder的過程中沒有可以refrence的frame,因次無法正常解碼
不過片長9秒間,沒有任何一個I frame感覺還廷怪得
我承認當初修Video Coding的時候不夠認真
這個部份沒學好,可是就我所知像MPEG1的視訊編碼裡頭假如是23fps
在GOP是M=15,N=3的時候,好歹一秒裡面有一個是I frame
像這樣經過9秒都沒出現一個I frame,真的會是這樣子的情況嗎?
我知道H263是為了在一般視訊會議傳輸時,能夠利用low bitrate來編碼並保持一定畫質
所以可能encoder端會設計的比較特殊,而自己找了許多文獻來看
只看到說H263編碼的時候,有多了哪些模組,而這些模組的效用是如何如何
(對不起,英文太破,看到200多頁的spec.只是概略翻一翻,沒細讀)
我真的很想知道,會是因為一般視訊會議的時候,因為人頭不太會亂晃
所以encode的時候,很可能真的設計成在一個I frame後面,
連續個好幾秒都只用P or B frames來編碼就好了嗎?
等到畫面有劇烈變化的時候,再來一個新的I frame就好
不好意思,寫了那麼落落長的文章,其中我盡可能把我能表達的都說清楚
若是有錯誤,還請知道的人指正,我會虛心受教,當然若是有人很熟H263編碼的人
能夠碰巧看到這篇文章且回答我心中的疑惑,我會非常感激,
不過可惜我沒多少P幣可以給你了...只能感激在心裡。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.175.30.212
推
11/04 00:27, , 1F
11/04 00:27, 1F
→
11/04 00:32, , 2F
11/04 00:32, 2F
→
11/04 00:35, , 3F
11/04 00:35, 3F
推
11/04 01:14, , 4F
11/04 01:14, 4F
→
11/04 01:16, , 5F
11/04 01:16, 5F
→
11/04 01:20, , 6F
11/04 01:20, 6F
→
11/04 01:23, , 7F
11/04 01:23, 7F
推
11/04 01:50, , 8F
11/04 01:50, 8F
→
11/04 01:51, , 9F
11/04 01:51, 9F