
我在頻寬有限的環境中工作。我希望能夠下載 MP4 文件,但我不太在乎品質。我想從理論上將頻寬使用量降低到大約八分之一,就是只下載每四個像素和每第二幀一次。
讓我來說明一下我的意思。x
意思是「跳過」。
假設我們有一個尺寸為 8x4 的 MP4 文件,因此框架如下所示:
OOOOOOOO
OOOOOOOO
OOOOOOOO
OOOOOOOO
我想透過僅下載所需的資訊來節省頻寬,如下所示:
OxOxOxOx
xxxxxxxx
OxOxOxOx
xxxxxxxx
所以基本上每個 2x2 像素區塊都來自
OO
OO
到
Ox
xx
因此,只下載了一個像素,而不是全部四個。
我想將同樣的方法應用於框架。如果 8 fps 影片的第二個影片看起來像這樣
[ O O O O O O O O ]
它將變成這樣
[ O x O x O x O x ]
所以只有編號的幀2*n
才會被下載。
我認為對於未壓縮的文件(例如純文字文件或BMP 圖像)來說,這或多或少是可能的,其中第n 幀的數據不依賴第n-1 幀,但我想知道你們中的任何人是否可以估計這有多大可能是帶MP4的。有問題的編碼 (?) 是isomiso2avc1mp41
答案1
我想知道你們誰能估計一下 MP4 的可能性有多大
可能性是0%
從技術上來說,這取決於 mp4 中的視訊編解碼器,但假設它現在是原始的(這將使檔案絕對巨大),它可能使用同時使用時間和空間壓縮的編解碼器。在他們的例子中是 avc1,也稱為 h264
編解碼器中的空間壓縮是透過 DTC 等變換從空間域轉換到頻域來執行的。要恢復像素,您必須擁有 IDCT 的所有係數,這表示下載所有內容。
至於跳幀,您可以跳過任何 P(也可能是 B)幀並僅下載關鍵(IDR)幀。但關鍵影格的平均間隔約為 1 到 10 秒。因此,如果 0.1 fps 可以,那麼頻寬可能會減少一半不到一點。