下載 MP4 檔案的每 n 個幀上的每個 n 個像素

下載 MP4 檔案的每 n 個幀上的每個 n 個像素

我在頻寬有限的環境中工作。我希望能夠下載 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 可以,那麼頻寬可能會減少一半不到一點。

相關內容