最近在搭建一过流媒体服务器,源使用了一段ffmpeg编码的h.264 rtp流。流中存在多个I-frame。
将生成sdp文件test.sdp放到dss目录下,并该流rtp方式发送给dss,客户端vlc通过rtsp://dss ip/test.sdp播放该流。
现在的问题是,该流sps和pps是变化的,而sdp只使用最开始的sps和pps生成其中的sprop-parameter-sets, vlc
只能从流发送前就打开rtsp://dss ip/test.sdp才能播放,否则都是黑屏,即使是其他i帧来了。
中间i帧来的时候需要更新sdp文件?还是有什么方式解决这个问题?
sdp文件如下:
v=0
o=- 14992718226847809240 14992718226847809240 IN IP4 localhost.localdomain
s=Unnamed
i=N/A
c=IN IP4 192.168.0.128
t=0 0
a=tool:sdpgen
a=recvonly
a=type:broadcast
a=charset:UTF-8
m=video 3002 RTP/AVP 96
b=RR:0
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=42c028;sprop-parameter-sets=Z0LAKJp0A8ARMg==,aM48gA==;
------解决方案--------------------------------------------------------