2014-10-17 71 views
1

我正在爲我的大學做項目,但我遇到了一些問題。這是一個團隊項目,所以我們設計了一個應用程序,其核心功能是從少數攝像機(我們的目標目標是IP攝像機)安全流AV。我們認爲JMF對我們來說還不夠,所以我們發現了具有JAVA API的OpenCV庫對我們來說很理想,因爲JAVA是我們選擇的語言,但是我意識到像C++這樣的語言會爲這種工作做得更好,但我們沒有足夠的經驗和一點時間。用JAVA安全流式傳輸音頻/視頻

我們已經完成了現在:

  • 我們已經發現並測試ZRTP協議實現ZRTP4J,我們希望用它爲安全傳輸(應該沒有人能夠聽到的對話,現在我們也想着認證,所以我們將授權調用者)
  • 我們可以捕獲使用的OpenCV從攝像頭幀,但我們有一個使用此協議
  • 的JMF實現通過RTP發送它的問題幀的拍攝順序,我們可以編碼爲特定的格式使用Xuggler庫並將其包裝到媒體中容器

換句話說,我們有OpenCV捕獲的幀,我們希望用捕獲的麥克風音頻多路複用捕獲的幀並通過在傳輸層使用UDP的RTP協議發送它。問題是如何正確地做到這一點?我們是否應該在輸出流和分路器之前使用一些複用器?或者,也許我們應該有兩個不同的流,第一個是視頻,第二個是音頻?

JMF本身是其他問題。我們必須關心其適用於RTP傳輸的AV格式,而且它的API非常粗糙,並且掌握它需要我們很多時間,而且這個庫已經過時並且沒有開發出來並不會激勵我們。你們中的某人能否指出一些經過驗證的,用於JAVA的RTP實現?我們也開放其他命題,也許我們在設計的更多點上是錯誤的。

預先感謝您! Hubert

回答

0

在流視頻和音頻幀中不需要使用複用器和分路器。您應該使用2個流,一個用於視頻,另一個用於音頻。我建議你閱讀RFC3550。

也許你可以試試這個Java RTP庫jlibrtp

ZRTP4J是密鑰協商的庫。你仍然需要一個SRTP庫來加密和解密數據包。 SRTP庫可以使用從ZRTP獲得的密鑰。我找到了一個使用SRTP的開源項目jitsi-jingle