2014-01-23 105 views
1

即時通訊試圖爲rtmp(僅音頻)寫一個小客戶端。到目前爲止,我的通信工作(Red5服務器),但現在我卡在音頻數據。rtmp音頻信息(0x08)格式(mp3)

服務器正在發送MP3 44KHz 16位立體聲。 讓我的Audiomessage它由字節識別編解碼器(0x2F)分別和這看起來例如像這樣

ff:fb:92:64:eb:80:03:98:58:d2:e9:26:1b:7e:5d:e7:4a:1a:19:26:5c:8b:89:07:47:44:98:6b:91:2d:9c:28:b4:33:15:70:82:c9:29:87:8d:e4:8f:31:83:84:7b:e5:82:b5:57:62:00:02:e5:bb:f1:86:15:7a:8f:da:9e:ca:4f:83:9d:0a:c4:56:7b:b3:3d:56:43:ba:2b:28:b8:9d:0c:e1:82:0c:08:36:24:f3:39:67:54:b7:41:d9:8e:ef:36:96:56:22:d2:b9:9f:ae:40:43:8e:ea:39:52:0c:a4:48:25:02:54:91:c7:35:37:2d:be:f2:37:23:61:65:35:d9:0f:aa:18:b4:37:d9:d4:c8:68:21:3c:bd:ea:c1:d0:98:df:eb:96:59:99:88:09:37:36:c3:8b:47:80:64:84:41:ba:35:ea:a6:0a:d6:74:9e:09:f6:a5:d7:3f:1f:53:d8:fb:8d:d9:d3:f8:ee:c7:c1:68:25:25:8e:ae:6a:1c:08:52:9d:58:cf:cf:87:c1:ba:a4:f0:63:76:b0:b4:65:79:1b:3b:21:5f:2f:b5:7a:18:43:af:f7:fd:15:0c:87:c9:73:54:95:22:94:cc:cb:e3:da:4d:e0:f3:8a:95:69:69:eb:32:71:57:08:49:76:e0:f3:84:8c:4b:4c:84:6b:5d:7a:c8:c9:d7:df:d5:e2:68:bb:5f:6c:9f:ba:f4:0a:6c:6e:51:8a:b3:59:9a:07:0c:e4:2a:9d:ec:d1:99:53:48:f2:8b:22:b2:d3:bf:e1:5b:9f:ee:49:9f:2c:ee:63:1f:6f:da:90:e7:65:00:55:99:97:77:b9:e8:97:43:81:fd:32:e4:81:20:d0:78:f5:4f:59:47:39:f2:57:5d:f4:d5:91:48:c9:45:10:52:49:4d:04:87:6b:0e:a5:72:ed:34:74:08:93:5b:8a:54:3a:d9:7e:53:8f:c7:5e:b1:99:f3:55:63:72:49:99:55:3a:b8:0d:73:3b:2a:ea:9a:b5:32:d2:3b:61:c2:4e:e9:56:78:99:14:4a:a7:46:f4:ee:ae:6f:ff:c8:85:2d:07:68:ad:e2:84:dd:0a:bd:2e:93:12:43 

我不找到有關數據格式的小東西音頻數據。因爲第一個字節總是0xff我假設每個音頻數據塊都有一個描述其內容的小標題。 來自adobe的rtmp規範並沒有對音頻消息包的格式(只有兩行說它是一個音頻消息...哇)放鬆一個單詞。

沒有人知道音頻信息的格式,或者至少有一個我發現的東西的來源?

回答

0

Adob​​e規範沒有記錄基本流格式,因爲它們在自己的文檔中被覆蓋,並且通常很大。 MP3由ISO/IEC 11172-3覆蓋。

有可用的良好破敗這裏: http://www.mpgedit.org/mpgedit/mpeg_format/mpeghdr.htm

+0

感謝。 rtmp在音頻消息中使用mpeg幀。你的鏈接說一個文件具有相同的格式,所以如果我現在把所有的幀寫在一個文件中它應該是一個有效的MP3? – fredlllll

+0

是的,它可以作爲.mp3播放。注意這可能不適用於其他編解碼器。例如,AAC會要求您將序列標題轉換爲ADTS標題,並在將其寫入文件之前將其添加到每一幀。 – szatmary

+0

現在它有點不錯。服務器給了我大約200 KB的數據,然後停止傳輸沒有理由(我不知道爲什麼)。根據Windows資源管理器的文件長度應該是12秒,但不同的媒體播放器只能播放一秒鐘。當刪除文件的一部分時,聲音會根據此改變(大膽度圖顯示變短)。我究竟做錯了什麼?我也可以發送mp3文件,如果這可以幫助別人幫我 – fredlllll