FMLE同時推多路流到SRS異常,推1路則正常。

2021-10-01 02:22:32 字數 2414 閱讀 9479

根據日誌對源**進行跟蹤分析。

cleanup when unpublish只在void srssource::on_unpublish()中列印。

這個類方法在release_publish(source)中被呼叫的。

進一步追蹤發現:

//上乙個publish還未結束,又來乙個publish造成前乙個publish被釋放了??    

// 作者的注釋表明,這個地方是有缺陷的,要修改。

}進一步查,下面這段分支**是關鍵。感覺是接連收到兩條發布命令,srs把後一條當作前一條的重發布了。

// for republish, continue service

if (srs_error_code(err) == error_control_republish)

顯然,問題在於:srs對於fmle的一次connect,publish兩個以上stream_url的情況不能處理。

接下來是如何修改srs**處理這種情況呢?

訊息處理主體:

srs_error_t srsrtmpconn::handle_publish_message(srssource* source, srscommonmessage* msg)

srs_error_t srsprotocol::decode_message(srscommonmessage* msg, srspacket** ppacket)

發第二路流時有很多ignore message.

[2019-09-06 05:25:55.134][trace][26902][104] source url=/test/12-12, ip=::ffff:107.150.28.246, cache=1, is_edge=0, source_id=-1[-1]

[2019-09-06 05:25:55.134][trace][26902][104] amf command=fcpublish

[2019-09-06 05:25:55.134][trace][26902][104] amf command=createstream

[2019-09-06 05:25:55.634][trace][26902][104] amf command=publish

[2019-09-06 05:25:55.634][trace][26902][104] fmle publish start:error_code=0, stream_id=1, desc=success

[2019-09-06 05:25:56.398][trace][26902][104] ignore message type=0x12

[2019-09-06 05:25:56.398][trace][26902][104] protocol in.buffer=0, in.ack=2500000, out.ack=2500000, in.chunk=128, out.chunk=60000

[2019-09-06 05:25:56.398][trace][26902][104] ignore message type=0x9

[2019-09-06 05:25:56.398][trace][26902][104] ignore message type=0x9

[2019-09-06 05:25:56.398][trace][26902][104] ignore message type=0x12

[2019-09-06 05:25:56.399][trace][26902][104] ignore message type=0x12

這是因為應答了第一路流後,就開始發資料報訊息了。

帶內信令,處理起來是麻煩啊!這個問題只有慢慢來解決了。

個推mastersecret 個推

例項 function igtnotificationtemplatedemo template new igtnotificationtemplate 應用應用 template set transmissiontype 1 透傳訊息型別 template set transmissioncont...

三星將推Tizen 3 0系統 同時發布一新機

作為三星專為穿戴裝置 電視和z系列手機打造的系統,tizen系統雖然並不火爆,但這些年以來一直也在不斷發展。據外媒報道,tizen 3.0系統即將推出,而三星也將為其打造一款智慧型機。三星將推tizen 3.0系統 gsmarena 這款新品的內部名稱為pride,代號為sm z250f,將首先在印...

(概率DP)正向推概率,反向推期望

這個思想真是太經典了!為什麼要正向推概率,反向推期望呢?事件a在另外乙個事件b已經發生條件下的發生概率。條件概率表示為p a b 讀作 在b條件下a的概率 然後,我們再看看什麼是貝葉斯公式。算了,我就不扯了,自己點進去看吧。現在,正文來了。拿飛行棋來說,可以先看看hdu 4405 aeroplane...