繁体   English   中英

在JAVA中保护流音频/视频

[英]Secure streaming audio/video in JAVA

我正在为我的大学做项目,但遇到了一些问题。 这是一个团队项目,因此我们设计了一个应用程序,其核心功能是从几台摄像机(我们的目标服务器是IP摄像机)安全地流AV。 我们认为JMF对我们来说还不够,因此我们发现具有JAVA API的OpenCV库非常适合我们,因为JAVA是我们选择的语言,但是我知道C ++之类的语言可以更好地完成此类工作,但是我们没有足够的经验,还有一点时间。

我们目前已完成的工作:

  • 我们已经找到并测试了ZRTP协议实现ZRTP4J,并且希望将其用于安全传输(没有人应该能够听到对话,现在我们也在考虑认证,因此我们将授权调用方)
  • 我们可以使用OpenCV从网络摄像头捕获帧,但是使用该协议的JMF实现通过RTP传输帧时存在问题
  • 我们可以使用Xuggler库将捕获的帧序列编码为特定格式,并将其打包到媒体容器中

换句话说,我们有OpenCV捕获的帧,我们希望将捕获的帧与麦克风捕获的音频混合,并通过RTP协议将其发送,该协议在传输层使用UDP。 问题是如何正确执行此操作? 在输出流和解复用器之前,我们应该使用一些复用器吗? 或者,也许我们应该有2种不同的流,首先是视频流,然后是音频流?

JMF本身是另一个问题。 我们必须关心其适用于RTP传输的AV格式,并且它的API很粗糙,而且掌握它对我们来说要花费很多时间,而且这个库过时了而且不再开发了,这一事实根本不会激发我们的兴趣。 你们中的某人可以指出一些经过测试,验证的JAVA RTP实现吗? 我们也对其他主张持开放态度,也许我们在设计的更多方面犯了错误。

先感谢您! 休伯特

在流视频和音频帧中无需使用多路复用器和多路分配器。 您应该使用2个流,一个用于视频,另一个用于音频。 我建议您阅读RFC3550。

也许您可以尝试这个Java RTP库jlibrtp

ZRTP4J是用于密钥协商的库。 您仍然需要SRTP库来加密和解密数据包。 SRTP库可以使用从ZRTP获得的密钥。 我找到了一个使用SRTP的开源项目jitsi-jingle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM