rtp多播在win7上失败,但在Ubuntu上成功,live555已经修改

时间:2015-08-24 03:15:23

标签: rtsp multicast rtp live555

我修改了sendto函数所在的live555源代码。

我在sendto函数之后添加了一个多播。

int bytesSent = sendto(socket, (char*)buffer, bufferSize, 0, (struct sockaddr*)&dest, sizeof dest); 
//zhouhua add below 
if(zhou_init == 0){ 
    zhou_init = 1; 
    memset(&mcast_addr,0,sizeof(mcast_addr)); 
    mcast_addr.sin_family = AF_INET; 
    mcast_addr.sin_addr.s_addr = inet_addr("224.0.0.251"); 
    mcast_addr.sin_port = htons(5004); 
}
int k = sendto(socket, (char*)buffer, bufferSize,0,(struct sockaddr*)&mcast_addr, sizeof(mcast_addr)); 
printf("k = %d\n", k); 
//zhou end 

当我播放rtsp流时它会起作用。当我播放sdp文件时,它会播放多播视频。

但是,在win7上,我无法通过vlc播放器获得任何响应。

而wireshark在win7和ubuntu上获得相同的组播数据。

为什么它不适用于win7?

1 个答案:

答案 0 :(得分:0)

我找到了。我应该更改sdp文件。 IP参数应该写在文件末尾。