2012-10-29 49 views
1

我正在使用.net來調用pcap.net進行重新編碼。如何從rtp數據包獲取音頻數據...?

到現在我已經得到了RTP包。它的長度是32個字節。

使用的編解碼器是G729和有效載荷類型爲18

byte[] bytes = HexString2Bytes(udp.Payload.ToHexadecimalString());   
string rtppayload = ASCIIEncoding.ASCII.GetString(bytes); 

我需要得到實際的RTP有效載荷。 Plz幫我...

+0

爲何使用ASCII?是否RTP使用ASCII編碼對數據進行編碼? – brickner

+0

對不起,那是我的錯誤。只有udp.Payload.ToHexadecimalString()已經足夠,不需要ASCII編碼。 –

回答

1

我已經從rtp包得到了語音。

我所做的是,轉換的最後20個字節的RTP有效載荷的字節到數組,然後寫入到原始格式的文件。

然後進行下面的步驟....

  1. 通過G729解碼器轉換的原始文件以PCM文件。 (從www.voiceage.com/openinit_g729.php
  2. 下載導入的PCM文件厚顏無恥像,導入 - >原始數據。
  3. 然後播放的聲音。
  4. 導出爲wav格式。