接收RTP流我们经常用VLC来进行测试,但是对于RTP,如果直接在VLC的网络协议框输入RTP地址来播放是播放不了的,如下图,会提示"SDP required"的错误信息。
因为VLC打开RTP流需要一个SDP文件,SDP文件定义了流的一些信息比如视频编码格式,帧率,接收端的IP、端口号等。关于SDP文件的格式网上有详细的介绍,这里就不作详细说明了。反正,打开一个流,播放器需要根据SDP文件描述的信息知道如何播放输入源。
在使用RTP传输的场合,我们封装的流媒体数据一般是H264,PS,TS,而这几种格式的SDP文件的写法都是不同的。
1. 输入流是H264的SDP文件例子:
v=0
m=video 1234 RTP/AVP 96
a=rtpmap:96 H264/900