壓縮影片可以解碼回未壓縮的原始格式嗎?

壓縮影片可以解碼回未壓縮的原始格式嗎?

文中提到了以下內容ffmpeg 文檔

ffmpeg 呼叫libavformat 庫(包含解復用器)來讀取輸入檔案並從中獲取包含編碼資料的資料包...然後將編碼資料包傳遞給解碼器...解碼器產生未壓縮的幀(原始視頻/PCM 音訊/... )可以透過過濾進一步處理...

這是否意味著您始終可以從 h.264 等所有壓縮格式/編解碼器中提取原始大尺寸影片?

答案1

視訊壓縮通常是“有損的”,與“相比無損的」。

這意味著透過壓縮資料並隨後解壓縮,您最終會得到原始資料的近似值(希望)可以接受該目的。

使用有損壓縮技術儲存圖像和視訊通常沒問題,因為人類不太擅長感知圖像中的細節 - 例如,我們的大腦可以僅從上下文中填充大量細節(因為我們的眼睛只有一個小區域)在中心是“高解析度」),而且我們的眼睛對綠色的強度比紅色或藍色更敏感(這解釋了 RGB565 中的分配)。

所以,當你說:

這是否意味著您始終可以從所有壓縮格式(如 mp4)中提取原始大尺寸影片?

你問了一個問題,卻留下了很多容易誤解的地方。

  • 我們可以從使用有損技術壓縮的影片中提取原始的、像素完美的影像嗎?
  • 我們是否可以提取使用有損技術壓縮的視訊的單幀,具有高質量,並且可以用作靜態圖像?
    • 可能不會- 場景中的運動會導致更多的偽像,而靜態場景通常會隨著時間的推移看起來越來越好。
  • 我們能否提取原始大小的圖像,看起來像“合理的「對人類?
    • 是的- 對於「的給定定義合理的

這個不完美的結果圖像將具有“壓縮偽影」。如下誇張的例子所示:

良好/100% JPEG

壞/5% JPEG


由於評論也主要集中在音訊品質上,因此發生了完全相同的事情。然而,音訊是一種頻寬明顯較低的介質,這使得無損編解碼器變得實用(例如FLAC)。

從 PCM / WAV → MP3 → PCM 轉換將產生一個輸出 PCM 文件,其中包含 MP3 編碼/解碼過程引入的偽影 - 這些偽影無法刪除。

此外,串聯編解碼器將允許每個編解碼器引入自己的工件,並且應用編解碼器的順序會對輸出產生重大影響。

轉換 PCM → MP3 → OGG vorbis → Opus 是不是與 PCM → Opus 相同,因為每個中間編解碼器都是有損的。

我製作了一個範例音訊文件,將其呈現為另一個誇張的例子。這是“的前 30 秒”今晚“ 經過 ”69隻眼睛”,每 5 秒在以下鏈之間交替:

  • CD → FLAC → 作品
  • CD → FLAC → MP3 → Vorbis → Opus

這裡的效果是戲劇性的,較高的頻率(即:高鈸)幾乎完全從音頻中消除,並且通道(左/右)的交互在開始時尤其明顯。

比較

答案2

簡短的回答編解碼器一般情況下:
任何無損解碼器喜歡FLAC或者壓縮可以準確地逆轉。
任何有損解碼器喜歡JPEG或者MP3無法完全逆轉。

這個原則也適用於視訊編解碼器
這裡HuffYUV是無損視訊編解碼器的範例。
x264是有損視訊編解碼器的範例。

答案3

這是否意味著您始終可以從所有壓縮格式(如 mp4)中提取原始大尺寸影片?

不,你誤解了那句話。

您無法顯示壓縮圖像,就像您無法讀取壓縮文字或讀取使用 ZIP 壓縮的檔案而不先解壓縮它一樣。要顯示任何圖像,您必須以某種方式在記憶體中以未壓縮的方式逐像素地表示它。

這並不意味著未壓縮的圖像將與原始圖像相同 - 這取決於所使用的編解碼器。據我所知,沒有常用的無損編解碼器。有損編解碼器的目的是足夠接近地表示原始視頻,以使未壓縮的視頻在正常情況下無法區分,即。當以預測的解析度和幀速率播放時。當查看壓縮的靜態影像(即幀速率 = 0)時,您肯定會看到偽影,除非壓縮期間的位元率設定得不切實際的高(即產生太大的輸出檔案)(這個答案我的在某種程度上是相關的)。


順便說一下,MP4只是一個文件格式,即它告訴您壓縮資料如何儲存在檔案中,但無法確定它是如何壓縮的。 MP4 可與多種編解碼器搭配使用。 H.264 可能是 MP4 中使用的最受歡迎的視訊編解碼器,但請不要引用我的話。我猜音訊通常是用 AAC 壓縮的。

答案4

這是一個非常常見的錯誤。

您可以從有損格式轉換為無損格式,但是損害已經造成

無損輸出檔案將顯示所有損壞(受損的細節、新增的工件),這就是您不喜歡有損格式的原因。你無法收回它。

唯一的選擇是聯繫出版商,看看他是否仍然擁有原始的無損文件,並願意以某種方式將它們上傳給您。

沒有這樣的東西增強按鈕警告:電視比喻

相關內容