2017-08-16 125 views
0

我正在做一個視頻流項目。 標準只提到使用用於視頻格式如下:H.264視頻格式(YUV420p vs YUV420sp)

終端必須通過默認支持H.264視頻編解碼器使用H.264 - 25幀/秒的 幀速率 - CIF(352×288)的格式 - 有效載荷類型(payload_type):98 - 時間戳頻率(千赫):90

缺省情況下我的Android裝置包以yuv420sp格式的數據。 當視頻通過時,會出現綠色色調和輕微的失真。

進一步探索,似乎我應該使用YUV420P格式。

有人可以幫助教育我爲什麼H264本身沒有定義實際的數據格式?這不是讓開發人員解釋的開放嗎?或者我錯過了什麼?

+1

我投票結束這個問題作爲題外話題,因爲它屬於圖形堆棧交換:https://computergraphics.stackexchange.com/ –

回答

0

編解碼器通常會支持不同的色彩空間 - YUV是一種顏色空間,就像RGB一樣 - 是對像素顏色進行編碼的一種方式。

編解碼器實際上有許多不同的參數可以設置 - 嘗試幫助使用它們通常定義配置文件,爲我們提供關鍵參數的值。例如,HEVC編解碼器(h.265)具有許多不同的配置文件。

您的觀點基本上是正確的 - 有可能有一個設備支持h.264,但不支持您選擇的特定參數。

+0

YUV或RGB不是色彩空間 - 它們是像素格式。建議601,709和2020是色彩空間。 –

0

H.264是「移動視頻編碼」的規範。標準描述了(壓縮的)比特流的語法。

H.264沒有描述供應商特定的編碼器輸入格式。 通常的做法是將編碼器規格放大或放寬。