[英]mpeg 2 decoding
我想了解視頻和音頻解碼的工作原理,特別是時序同步(如何獲得 30fps 視頻,如何將其與音頻結合等)。 我不想知道所有的細節,只想知道它的本質。 我希望能夠編寫實際視頻/音頻解碼器的高級簡化。
你能給我指點迷津嗎? MPEG2 視頻/音頻解碼器的實際 C/C++ 源代碼將是理解我認為的那些東西的最快方法。
從有效的編解碼器中讀取源代碼似乎是正確的方法。 我建議如下:
http://www.mpeg.org/MPEG/video/mssg-free-mpeg-software.html
鑒於在 mpeg.org 網站上提到了它,我想說你會在這里找到你需要的東西。
在過去,我有一些時間來解碼 mpeg 視頻(雖然沒有音頻),而且原理非常簡單。 其中包括一些純圖像,一些中間圖像相對於最接近的主圖像進行描述,其余的使用最接近的主/中間圖像進行描述。
一個時間段,一張圖片。 但是最近的編解碼器要復雜得多,我猜!
編輯:同步
我不是同步音頻和視頻的專家,但這個問題似乎是使用同步層來處理的(參見那里的定義)。
@帕特里克和尼爾斯
所以你說有時間戳,嘿...這些只是我猜的視頻部分。 對於音頻,我猜標題中有足夠的信息(例如“每秒樣本數”)。 多久需要這些時間戳? 我想音頻和視頻數據包的交錯可以確保視頻數據總是在音頻數據之前?
編輯:找到我需要的: http : //www.dranger.com/ffmpeg/tutorial01.html
海通,
音頻數據的時間戳仍然是必要的,因為音頻和視頻幀可能不在同一位置對齊。 例如:
V:1000 1040 1080 1120 ... A:990 1013 1036(丟失)1082
您可能需要補償第一個視頻/音頻幀之間的偏移。 此外,如果可能存在丟包(在視頻流期間),您需要視頻/音頻的時間戳以保持准確同步。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.