libStreaming多路推流,但是VLC播放只显示了第一个推流的视频
现在在做libStreaming的推流EasyDarwin流媒体服务器,我想实现多路推流,而且用VLC可以播放多路录制的视频,但是实验多路推流时,如果有两个手机A、B同时推流到同一个EasyDarwin时,用VLC播放只显示了第一个手机A推流的视频,第二个手机B推流的视频一直无法显示出来。在结束了第一个手机A,然后再开启后,用VLC播放就只显示了手机B推流的视频,就好像是一个端口,先到先得,而且两个视频还串起来了。但是用EasyPusher推流到EasyDarwin,是能够实现多路推流和播放的。
libStreaming的NTP时间戳计算如下:
Timestamp = (uptime/1000)<<32 & (((uptime-((uptime/1000)*1000))>>32)/1000);
// NTP timestamp,计算NTP时间戳,由于后一项为0,所以整个计算结果也肯定为0
原始的sdp如下:
v=0
o=- 0 0 IN IP4 127.0.0.1
s=Unnamed
i=N/A
c=IN IP4 0.0.0.0
t=0 0
a=recvonly
a=control:*
m=audio 0 RTP/AVP 96
a=3GPP-Adaptation-Support:1
a=rtpmap:96 AMR/8000
a=fmtp:96 octet-align=1;
a=control:trackID=0
m=video 0 RTP/AVP 96
a=3GPP-Adaptation-Support:1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=420014;sprop-parameter-sets=J0IA
FKaCxMQ=,KM48gA==;
a=control:trackID=1
\n
EasyPusher的sdp如下:
v=0
o=- 2205756022 2205756022 IN IP4 127.0.0.1
s=EasyDarwin
i=EasyDarwin
c=IN IP4 0.0.0.0
t=0 0
a=x-qt-text-nam:EasyDarwin
a=x-qt-text-inf:EasyDarwin
a=x-qt-text-cmt:source application::EasyDarwin
a=x-qt-text-aut:
a=x-qt-text-cpy:
a=control:*
m=video 0 RTP/AVP 96
a=3GPP-Adaptation-Support:1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;sprop-parameter-sets=
a=control:trackID=1
m=audio 0 RTP/AVP 97
a=3GPP-Adaptation-Support:1
a=rtpmap:97 MPEG4-GENERIC/8000/1
a=fmtp:97 streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;indexlength
=3;indexdeltalength=3;config=1408
a=control:trackID=2
\n
参考了EasyPusher的格式后,libStreaming修改后如下:
v=0
o=- 2205756022 2205756022 IN IP4 127.0.0.1
s=EasyDarwin
i=EasyDarwin
c=IN IP4 0.0.0.0
t=0 0
a=x-qt-text-nam:EasyDarwin
a=x-qt-text-inf:EasyDarwin
a=x-qt-text-cmt:source application::EasyDarwin
a=x-qt-text-aut:
a=x-qt-text-cpy:
a=control:*
m=audio 0 RTP/AVP 96
a=3GPP-Adaptation-Support:1
a=rtpmap:96 mpeg4-generic/8000
a=fmtp:96 streamtype=5; profile-level-id=15; mode=AAC-hbr; config=1588; SizeLeng
th=13; IndexLength=3; IndexDeltaLength=3;
a=control:trackID=0
m=video 0 RTP/AVP 96
a=3GPP-Adaptation-Support:1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=420014;sprop-parameter-sets=J0IA
FKaCxMQ=,KM48gA==;
a=control:trackID=1
\n
但是依然无法多路推流和VLC播放,请问有谁知道如何解决吗??