RFC6416中對AAC進行RTP打包方式介紹

2021-10-02 03:19:22 字數 1902 閱讀 8937

rfc6416是描述如何將mpeg-4 audio/visual stream封包至rtp中的。文件寫的還是比較清晰簡明的,對音訊而言,沒有再定義額外的碼流結構,就是直接對mpeg-4 audio stream的結構進行打包。下面列出的是需要理解的概念:

與rfc3640相類似,也需要一種協議攜帶mime format parameters,最常用的是sdp。並且一樣的有對編碼規格的引數意義的定義,詳見文件第7節定義

rfc6416中為音訊流定義的media type為mp4a-latm

下面列出文件中所需注意的一些細節:

1. rtp包中攜帶的到底是latm還是loas

rfc 6416描述的是rtp 攜帶latm,並非loas

在前面的文章提到過latm和loas的概念,其實loas就是 同步資訊+latm。那麼rfc 6416 rtp中攜帶的並沒有同步資訊。

2. 傳輸復用的意思

latm特點就是可復用,就是指可以攜帶多個audio frame(編碼後的)。在基於sip的rtp的流**應用中,乙個rtp只會攜帶乙個audio frame,即使sdp中的ptime的值為20ms的倍數(20ms時長取樣資料大小是rtp中音訊資料的乙個audio frame的基本長度),也被認為是乙個audio frame。而在latm中是叫多個audio frame被復用。

3.帶內和帶外攜帶config

在前面的文章,列出了latm的基本結構,其中這個streammuxconfig這個結構資料是可以與碼流分開傳輸的,在碼流中即為帶內,不在碼流中(典型的在sdp中攜帶)即為帶外。

4. mime format parameters

以下列出了最基本,常用的碼流引數(根據aac的不同規格,引數會有變化)

a boolean parameter that indicates whether audio

payload configuration data has been multiplexed into an rtp

payload.a 0 indicates the configuration data

has not been multiplexed into an rtp payload, and in that case,

the 「config」 parameter must be present; a 1 indicates that it has

been multiplexed.

the default if the parameter is omitted is 1.

if this parameter is set to 1 and the 「config」 parameter is

present, the multiplexed configuration data and the value of the

「config」 parameter shall be consistent.

這個引數控制兩個行為,確定是否復用,確定streammuxconfig是帶外還是帶內

a hexadecimal representation of an octet string that

expresses the audio payload configuration data 「streammuxconfig」.

如下圖所示,是乙個mpeg-4 audio stream的 sip invite

haXe中對BitmapData進行批量畫素級運算

nme中大部分的點陣圖濾鏡 flash.filters.都未實現,所以有些特效不得不自己編寫 來進行批量畫素處理。用getpixel32 和setpixel32 當然是最簡單的,但效率很低。因此這裡使用getpixels 把批量畫素複製到位元組陣列,進行完運算,再用setpixels 覆蓋回到位圖。...

Xcode 中對類進行Category

category 類別 建立方式 選擇objective c file,裡面filetype可以選擇empty file,category,protocol和extension category在ios開發中使用非常頻繁。尤其是在為系統類進行拓展的時候,我們可以不用繼承系統類,直接給系統類新增方法,...

Redis中對Key進行分類

使用 體現層次 set key1 key2 key4 value1 ok set key1 key2 key5 value2 ok set key1 key3 key5 value3 ok set key1 key3 key4 value4 ok 使用redisdesktopmanager檢視結果 ...