0
我想在nodejs中構建一個經歷URL列表的小腳本,並且檢查是否有實際運行的音頻直播流。如何在給定的URL後面檢查音頻直播流是否處於活動狀態?
這些URL可以是直接mp3直播流或直接連接到.m3u文件的HLS直播流URL。
如何在JavaScript中執行此檢查?簡單地檢查是否沒有404是不夠的。
我想在nodejs中構建一個經歷URL列表的小腳本,並且檢查是否有實際運行的音頻直播流。如何在給定的URL後面檢查音頻直播流是否處於活動狀態?
這些URL可以是直接mp3直播流或直接連接到.m3u文件的HLS直播流URL。
如何在JavaScript中執行此檢查?簡單地檢查是否沒有404是不夠的。
這裏棘手的是,即使源可能已關閉,服務器仍可能會返回其緩衝的數據。事實上,這是非常普遍的。服務器會緩存20-30秒的數據,並且會在連接時發送給你。使用HLS時,問題更加嚴重,因爲通常會有大量的HLS段位於磁盤上。
您需要連接並從流中讀取數據,然後有一種計時器,您可以確定是否獲取更多數據。你可以把它放在你的HLS或HTTP進程客戶端之後,並處理兩者。連接並開始流式傳輸數據。每次您收到大量數據時,請記下時間。定期檢查從上次到上次收到數據的時間。如果它已經過了20秒左右,那麼很可能是這個流不能正常運行。