關於客戶端和伺服器端live555的一點bug修改

2021-07-27 09:36:26 字數 1318 閱讀 9682

客戶端主要出錯資訊:

multiframedrtpsource error: hit limit when reading incoming packet over tcp. increase \"max_packet_size\"

rtcpinstance error: hit limit [1450,1450] when reading incoming packet over tcp. increase "maxrtcppacketsize"

live555原始碼修改記錄

伺服器端:

針對1080p高畫質h264位元速率過大,需要修改live/mediaserver/dynamicrtspserver.cpp檔案中第117行

outpacketbuffer::maxsize = 1024*1024; // allow for some possibly large h.264 frames

針對伺服器傳送的rtp包出錯,傳送時超出系統tcp buffer大小,需修改:live/livemedia/rtpinte***ce.cpp senddataovertcp()函式

修改為makesocketblocking(socketnum);

int sendsuccess = loopsend(socketnum,data,datasize);

makesocketnonblocking(socketnum);

if(sendsuccess == datasize)

else

需新增loopsend()函式

int loopsend(int sock, u_int8_t const* buf, unsigned int sndsize)

sendlen += ret;

remian -= ret;

}return sndsize;

}客戶端**健壯性加強

修改live/livemedia/rtpinte***ce.cpp 中tcpreadhandler1()函式

在case awaiting_size2:中

unsigned short size = (fsizebyte1<<8)|c;後新增rtp和rtcp包的大小判斷

新增**如下:

if(fstreamchannelid == 0x00)

if(size > 20000) //lcy add 20000為"max_packet_size"值的大小(rtp包的最大值)

if(fstreamchannelid == 0x01)

if(size > 1450) //lcy add 1450為"maxrtcppacketsize"值的大小(rtcp包的大小)

**:

C 客戶端和伺服器端

1 c s 客戶端應用程式 winform wpf 平級 資料是存放在其他的電腦上或伺服器上 資料的加工是在使用者的電腦上執行的,會對使用者的電腦配置有所要求 2 b s 網頁端應用程式 asp.net 統稱 asp.net webform asp.net mvc 平級 使用者傳送乙個請求到iis伺...

客戶端AI和伺服器端AI

玩家控制角色的方法除了滑鼠鍵盤實時操作外,還應該新增ai輔助。如自動尋路,自動打怪就是一些簡單實用的ai.ai分客戶端ai和伺服器端ai.ai包括預設的ai和使用者自定義ai。使用者自定義ai指令碼一般用於客戶端。如果想用於伺服器端,必須由技術人員鑑定通過才允許,防止惡意指令碼。自定義ai指令碼鑑定...

客戶端跳轉和伺服器端跳轉

response應用之傳值 一 客戶端傳值,跳轉到其他頁 response.sendredirect other.jsp?value helloworld 此種傳值只是頁面之間的跳轉,並且只有在本頁面執行完成後才跳轉。不能傳遞request.setattribute 值。二 伺服器端傳值,reque...