简介
本文是利用windows API得到PCM格式的音频数据,并转换成AAC格式。然后将AAC数据利用RTMP协议发送到流媒体服务器。
步骤
1)直接调用windows API可以获取PCM格式的音频数据,然后利用Faac库转换成AAC。这个过程比较简单
2)发送AAC数据到流媒体服务器:
a)首先,发送解码信息:在服务器得到AAC数据后需要将其解码,所以在发送AAC数据前,最好先发送AAC数据的解码数据。这个解码数据在转换成之前已经由Faac生成,直接调用Faac提供的接口即可。将解码信息封装成RTMPPacket发送到服务器。
b)再开始发送AAC数据:利用rtmp协议将AAC数据封装成RTMPPacket
封装过程
1)封装解码信息:
RTMPPacket * packet;
unsigned char * body;
int len;
len = spec_len; /*spec data长度,一般是2*/
packet = (RTMPPacket *)malloc(RTMP_HEAD_SIZE + len + 2);