Axis發布了一個與MPEG/ITU-T共同開發的一款H.264高效率演算法,可以有效降低高達50%的傳輸Bit Rate。
這款Axis版本的Smart Stream技術基於以下四個因素,以及可以調整的參數如下:
Based on four factors:
> Scene motion
> Scene content
> Ambient light level
> Configuration options
Configuration options that affect Zipstream:
> Compression parameter
> Group of Pictures (GOP) length
> Frame rate
> Strength parameter
> Dynamic GOP parameter
> Dynamic GOP limitation parameter
在降低Bit Rate的部分加入動態調整ROI與GOP的技術,號稱讓不重要的(白牆/植物/背景等)被忽略而保留人臉等重要特徵,過去時常因為頻寬問題被迫設成CBR模式,但Zipstream讓SI可以依舊設置為VBR模式,去獲得最佳影像的同時不用煩惱頻寬問題。
Smart Stream並不是甚麼嶄新的科技,已經有多家廠商提出過,但最終還是要實測過後才知道功夫到哪裡,畢竟戲法人人會變。
Axis反覆強調這與H.265沒有一定的關係,因為這些參數在H.265 Encoder一樣式可以被調整的,但是在H.265市場尚未成熟之際,Smart Stream還是會在超高清與低價雲端攝影機的市場上,引起眾人的注目。
gop影像 在 上傳影片時建議使用的編碼設定- YouTube說明 - Google Support 的推薦與評價
循序掃描(不採用交錯模式); 高配置; 2 個連續B 影格; 封閉的GOP;GOP 為影格速率的一半; CABAC; 可變位元率;不需設定位元率限制,但你可以參考下方的位元率建議設定 ... ... <看更多>
gop影像 在 上新數位科技 的推薦與評價
... <看更多>
gop影像 在 閱讀文章- 精華區C_Chat 的推薦與評價
作者: 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
... <看更多>