播放端请求关键帧的地方(pli fir):
调用函数来发送请求:
RequestKeyFrame()
丢失包过多
void NackModule::AddPacketsToNack()
{
if (nack_list_.size() + num_new_nacks > kMaxNackPackets) {
nack_list_.clear();
RTC_LOG(LS_WARNING) << "NACK list full, clearing NACK"
" list and requesting keyframe.";
keyframe_request_sender_->RequestKeyFrame();//重传队列里面超过 kMaxNackPackets(1000)个rtp包要重传(要重传的rtp包过多) 干脆直接向推流端请求关键帧
return;
}
}
获取帧数据超时
bool VideoReceiveStream::Decode() {
if (st