2013-02-15 131 views
1

我有一個客戶端程序和一個服務器程序。服務器在我的本地主機上,它有我的.mpeg視頻。RTP在JavaScript中實現RTSP

使用節點JS我應該從服務器流視頻。客戶端請求消息,例如播放/暫停/恢復/倒帶等,所以我想我必須使用RTSP來確定通過RTP發送的內容。但我不知道從哪裏開始。

我到目前爲止所使用的正是過濾郵件的正則表達式,例如在客戶端上有播放/暫停/設置等按鈕,所以我可以抓取該文本。我有一個開關。 但是,如果我設置了我應該做的事情?

P.S我不允許使用RTSP模塊或RTP模塊。總得從頭開始。

+2

你能改善這個標題嗎?這對我來說真的沒有意義。 – 2013-02-15 03:57:25

+0

你想讓我改進它嗎? – twix 2013-02-15 04:20:38

+0

你的問題是你的「RTP?JavaScript中的RTSP實現」 – 2013-02-15 04:22:53

回答

2

當通過電纜傳輸mpeg文件時,您將不得不分別處理RTSP和RTP。 RTSP用於信號發送,會話建立和啓動底層RTP流。如果你需要在node.js中執行此操作,我建議加載一個已經實現了RTSP/RTP的庫(創建你自己的是一項相當大的工作,但它是可行的以及)。

上裝載C++庫的一些信息在node.js中說:How can I use a C++ library from node.js?

所以基本上,從你的MPEG文件,你需要提取原始h264碼流。爲此,我建議使用ffmpeg或其他能理解mpeg文件結構的庫/代碼。然後你需要打包RTP包內的編碼幀;然後您將從服務器發送回客戶端。然後客戶端將編碼的幀解包到實際的幀中;然後在屏幕上解碼/顯示它們。

我建議您閱讀http://www.ietf.org/rfc/rfc3984.txt以獲取關於打包H264視頻的標準方法的信息。

這是所有非常普遍的方法,但它給你一個大致的想法。 希望這個信息有幫助,祝你好運。

+0

我們並未使用HTTP或HTML。 我有一個.EXE客戶......有下列選項 SETUP PLAY PAUSE TEARDOWN 當客戶按下設置發送RTSP消息服務器,我送RTSP消息回來,我創建了該客戶端的插口。 ,並使用UDP數據包發回RTP消息「200 OK」。 現在下一步是..如果客戶端點擊PLAY我需要獲取視頻並將其塊化爲幀,然後使用RTP發送它。 現在,這是我在哪裏。我需要明白這一點。mpeg文件已壓縮,我需要把它壓碎我假設我得使用fs? – twix 2013-02-22 17:11:39

+0

我認爲現在更好地瞭解您的設置。我肯定會推薦你的mpeg文件的HTTP直播。否則,您將不得不將RTSP/RTP支持添加到您的服務器;然後您必須從mpeg文件中提取音頻/視頻,然後在兩個單獨的RTP會話中流式傳輸音頻/視頻。希望有幫助。 – Aki 2013-02-22 17:41:01

+0

雖然我不被允許使用http。就像在項目描述中一樣,它說主要目標是實施RTP和RTSP。 他們更容易通過不包括音頻。我堅持從視頻文件中獲取字節數組。我必須閱讀視頻文件作爲字節 – twix 2013-02-22 21:14:55