xyzxgs 2015-08-27 01:27 采纳率: 0%
浏览 4782

直播live555 出现卡顿

自写MediaSubssion和Source
void H264FramedLiveSource::doGetNextFrame()
{
int popcount;

fFrameSize = ManStream.a[m];
m++;
if (fFrameSize > fMaxSize)  
{  
    fNumTruncatedBytes = fFrameSize - fMaxSize;  
    fFrameSize = fMaxSize;  
}  
else  
{  
    fNumTruncatedBytes = 0;  
} 

if (ManStream.myfifo.GetCount()>=fMaxSize)
{

    if (!ManStream.sended)
    {

        popcount = ManStream.myfifo.Pop(fTo,fMaxSize);

        ManStream.sended = true ;

    }


nextTask() = envir().taskScheduler().scheduleDelayedTask(10,(TaskFunc*)FramedSource::afterGetting, this);


return;

}

  • 写回答

1条回答

  • 求是猫 2015-08-28 12:42
    关注

    直通预览卡顿有三种原因:
    1. 来自于视频源的卡顿;
    优化视频采集和打包发送部分;

    1. 来自于网络传输的卡顿;
      查下网络环境,如果是公网的话需要做特殊处理;

    2. 来自于播放器的卡顿;
      注意播放器的缓存;

    另外:你是使用什么编码芯片或者编码器呢,使用什么编码??还有播放器??

    评论

报告相同问题?