簡體   English   中英

Live555MediaServer在每個新的連接處重新啟動流。 為什么將“ reuseSource”設置為true不能按預期工作?

[英]Live555MediaServer restarts the stream at every new connection. Why setting “reuseSource” to true is not working as expected?

Live555MediaServer可用於將視頻文件作為rtsp流進行流傳輸。 我有2個連接到服務器A和B的客戶端(vlc)。我想在兩個客戶端中看到確切的視頻流。 問題出在這里:我連接了A,十秒鍾后又連接了B。連接B時,我看到的視頻從頭開始,而A則保持流式傳輸。

我想要2個並發流進行同步。

live555文檔說,將reuseFirstSource設置為True應該可以。 因此,我嘗試在DynamicRTSSPServer:121上將reuseSource設置為true,但是它不起作用。 當我使用客戶端B連接到服務器時,視頻從頭開始重新播放。

布爾值const restartSource = True;

我希望看到2個並發流同步,即使其中一個相對於另一個開始延遲。

我終於找到了解決方法,以及為什么有這個“ bug”。

快速解答:將第67行的條件設置為false,即
if (smsExists && isFirstLookupInSession) {
變成
if (false) {

說明:每次啟動新會話時, isFirstLookupInSession變量都設置為true然后刪除並重新創建該會話。

我寫信給live555的支持,而Finlayson告訴我,我引述

“ LIVE555 Media Server”代碼始終旨在以這種方式工作,並且旨在成為未修改其代碼的“獨立設備”(例如,通過更改“ reuseFirstSource”的值)。

因此,通過Live555創建RTSP服務器的唯一解決方案是從testProgs示例開始創建自己的服務器。 此處提出的解決方法可能會產生不需要的行為,但是對於具有多個流的簡單rtsp服務器而言,這很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM