Rtsp协议基本上可以算很精通了,但是最近想把rtsp的音频转成AAC格式,发现一个很严重的问题,如何获取到音频的采样率,音频格式等。
通过研究,发现部分信息在DESCRIBE的应答里面可以获取,截图如下:
DESCRIBE rtsp://10.10.14.168:554/Streaming/Channels/102 RTSP/1.0
Authorization: Digest username="admin", realm="IP Camera(C3459)", nonce="05ead2989bf1e26603293742b4f96bd5", uri="rtsp://10.10.14.168:554/Streaming/Channels/102", response="aefe73cce18506a4c7157b7abb8cc017"
CSeq: 3
RTSP/1.0 200 OK
CSeq: 3
Content-Type: application/sdp
Content-Base: rtsp://10.10.14.168:554/Streaming/Channels/102/
Content-Length: 747
v=0
o=- 1542900660652562 1542900660652562 IN IP4 10.10.14.168
s=Media Presentation
e=NONE
b=AS:5100
t=0 0
a=control:rtsp://10.10.14.168:554/Streaming/Channels/102/
m=video 0 RTP/AVP 96
c=IN IP4 0.0.0.0
b=AS:5000
a=recvonly
a=x-dimensions:704,576
a=control:rtsp://10.10.14.168:554/Streaming/Channels/102/trackID=1
a=rtpmap:96 H264/90000
a=fmtp:96 profile-level-id=420029; packetization-mode=1; sprop-parameter-sets=Z00AHpY1QWAk03AQEBQAABwgAAV+QBA=,aO48gA==
m=audio 0 RTP/AVP 8
c=IN IP4 0.0.0.0
b=AS:50
a=recvonly
a=control:rtsp://10.10.14.168:554/Streaming/Channels/102/trackID=2
a=rtpmap:8 PCMA/8000
a=Media_header:MEDIAINFO=494D4B48010200000400000111710110401F000000FA000000000000000000000000000000000000;
a=appversion:1.0
a=rtpmap:8 PCMA/8000 可以看出是g711a格式,采样率是8000,但是是多少位呢,无法发现。
发现一个Media_header 但是不知道这个里面的含义。
*****************************************查资料中--------等待中***********************
通过和设备厂家交流,发现确实无法拿到采样位数。只能固定位数,以海康设备为例:
G722编码时,音频数据的采样频率为16000,16位采样且是单通道的
音频为G711或者G726编码时,音频数据的采样频率为8000,16位采样且是单通道的