2016-10-17 144 views
1

我一直在嘗試通過一個練習去了解更多的流媒體。所以請忍受我的無知:)h.264 MPEG-TS到MP4文件

我有mpeg-ts文件與h.264流內。我已經能夠遵循ISO 13818-1規範編寫一個小程序(用Java編寫)來提取PES數據包。從那裏我可以輕鬆提取PES數據包數據。

所以我的理解是h.264是mp4,但我想這不像將所有PES數據包數據鏈接到名爲* .mp4的文件中以創建工作mp4文件一樣簡單。

我不清楚PES包數據到底是什麼。

但基本上,我試圖得到什麼算法基本上看起來像remux我有一個MP4文件的數據處理。

回答

1

H.264是一種視頻壓縮標準,而MP4是一種容器文件格式。

打包的基本流(PES)封裝了基本流(ES),在您的情況下它是一個H.264比特流。有多種格式化H.264比特流的方法。

由於您的輸入是MPEG-2傳輸流,因此它使用附件B格式。這意味着比特流由一系列以起始碼爲前綴的網絡抽象層單元(NALU)組成。

MP4格式使用不同的格式,其中每個NALU前綴包含其長度的字段。

您將需要將比特流轉換爲正確的格式並將其複用到新的容器中。看看this answer並找到更多信息的MP4標準。