live555 调优

版权声明:转载请注明出处,多谢! https://blog.csdn.net/guo_lei_lamant/article/details/84302232

首先借鉴了网上的调优经验,如下:

  1. 参考自:live555: The input frame data was too large for our buffer size 解决方法
// live/liveMedia/MultiFramedRTPsource.cpp
increaseReceiveBufferTo(env, RTPgs->socketNum(), 2000000);

// live/liveMedia/StreamParser.cpp
const int BANK_SIZE = 1920*1080 ;		//网上这里有提到设置为 600,000

// live/liveMedia/MediaSink.cpp
unsigned OutPacketBuffer::maxSize = 600000;

  1. 参考自:live555 调优总结
// live/liveMedia/MultiFramedRTPSink.cpp
setPacketSizes((RTP_PAYLOAD_PREFERRED_SIZE), 8192);

// live/liveMedia/RTPInterface.cpp
increaseSendBufferTo(envir(), fGS->socketNum(), 512 * 1024);

// live/liveMedia/RTPInterface.cpp  此处需要先把下面两行注释掉
//if (!sendDataOverTCP(socketNum, framingHeader, 4, False)) break;
//if (!sendDataOverTCP(socketNum, packet, packetSize, True)) break;
   struct iovec iov[2];
   iov[0].iov_base = framingHeader;
   iov[0].iov_len = 4;
   iov[1].iov_base = packet;
   iov[1].iov_len = packetSize;
   writev(socketNum, iov, 2);

该参考资料中的调度优化未采用。


  1. Live555性能优化实践中的两种优化方法暂未采用。

// liveliveMedia/GenericMediaServer.cpp
increaseSendBufferTo(envir(), clientSocket, 512*1024);

猜你喜欢

转载自blog.csdn.net/guo_lei_lamant/article/details/84302232