利用LIBRTMP直播時 更改傳送資料的包大小

2021-06-16 10:09:30 字數 768 閱讀 8387

rtmp *r;  //提前申請的

rtmppacket pack;

rtmppacket_alloc(&pack, 4);

pack.m_packettype = rtmp_packet_type_chunk_size;

pack.m_nchannel = 0x02;

pack.m_headertype = rtmp_packet_size_large;

pack.m_ntimestamp = 0;

pack.m_ninfofield2 = 0;

pack.m_nbodysize = 4;

intnval = 1024; //希望指定的大小

pack.m_body[3] = nval & 0xff; //大字節序

pack.m_body[2] = nval >> 8;

pack.m_body[1] = nval >> 16;

pack.m_body[0] = nval >> 24;

r->m_outchunksize = nval;

//we send packet 1024 bytes

rtmp_sendpacket(r,&pack,1);

rtmppacket_free(&pack);

要注意的是 通道用2,一般**資料是4。流id用0。訊息型別是rtmp_packet_type_chunk_size了,還必須指定m_outchunksize ,否則協議沒有自動修改,傳送還是會錯誤,改過來之後傳送正常了。再看輸出的log,已經用1024傳送了。

利用LIBRTMP直播時 更改傳送資料的包大小

rtmp r 提前申請的 rtmppacket pack rtmppacket alloc pack,4 pack.m packettype rtmp packet type chunk size pack.m nchannel 0x02 pack.m headertype rtmp packet ...

使用librtmp庫發布直播流

rtmp協議與flv封包格式基本相同 本來就是一家公司的嘛 將flv檔案解析出型別,時間戳,資料大小,資料區 對應寫的rtmp包的位置進行傳送即可 rtmpdump官網 庫版本 2.4 下圖,左邊傳送到伺服器,右側可正常 模擬的是實時流,發完該流也就結束了 include include inclu...

直播獲獎 2023年2 9更

題目 題目描述 noi2130 即將舉行,為了增加觀賞性,ccf 決定逐一評出每個選手的成績,並直播即時的獲獎分數線。本次競賽的獲獎率為 w 即當前排名前 w 的選手的最低成績就是即時的分數線。更具體地,若當前已評出了 p 個選手的成績,則當前計畫獲獎人數為 max 1,p w 其中 w 是獲獎百分...