2012-02-10 47 views
1

我們的應用程序生成一個MOV文件,其中包含一系列靜態圖像,其中每個靜態圖像的視頻持續時間約爲半秒。該視頻的幀速率爲10fps,並使用avc1(H264)編解碼器進行編碼。音頻始終以大約半秒鐘的靜音開始,並使用mp4a(MPEG-4 AAC-LC)編解碼器進行編碼。在上傳到在線服務後,發生轉碼到H264(大概採用不同的設置),並且音頻看起來比視頻早半秒,即。似乎開始時的靜音已經從音頻中刪除,但不是視頻。這也發生在我們生成的WMV文件中。對於我們的源視頻可能存在的問題或者轉碼中可能會導致此問題的任何想法?上傳到在線服務後,從H264到H264的代碼轉換導致音頻/視頻同步問題

+0

什麼是您正在使用的代碼轉換器? – 2012-02-11 07:37:56

+0

這是無論上傳後Facebook轉碼代碼。 – Andrew 2012-02-11 18:10:06

回答

0

我無法明確地回答這個問題 - 因爲我不太清楚Facebook做了什麼。

可以有但是,有兩個可能性:

  1. 填充音頻可能只是時間戳的不連續性。即,該流可以以某個時間戳(靜默)開始並且隨後當真實音頻開始時 - 時間戳不同。因此,代碼轉換器可以足夠聰明地將這部分扔掉。

  2. 另一種可能性是,當你加入沉默時,你根本沒有添加時間戳,直到某個點。代碼轉換器可以放棄音頻幀直到它看到有意義的第一個有效時間戳。許多實時轉碼器/解碼器也希望從實時流接收數據。

細說此行更得到更準確的答案。

+0

謝謝Dipan。使用Windows Media ASF View來檢查一個WMV文件,我可以在「數據對象」下看到我們的兩個流同時以對象開頭。當我們實際渲染視頻時,我們已經有一個WAV文件在開始時包含靜音,只需使用異步文件讀取器和Wave解析器DirectShow過濾器將其添加到視頻。我們不會將音頻的無聲部分添加到視頻中,它始終存在於音頻中。 – Andrew 2012-02-14 14:06:19