你好,
我们是从事 Java 项目的学生,我们必须:
- 从网络摄像头捕获视频流
- 将此流与视频文件合并(我们取每个像素颜色的平均值,因此两个流是叠加的)
- 使用 RTP 或 RTSP 在网络上传输此合并的结果(理论上,它将被 2 个 Android 平板电脑接收)。
非常重要的一件事是所有这些操作都应该是实时的(或几乎是实时的)。应该在网络摄像头捕获视频的同时接收 RTP 流。
为此,我们使用 Java Media Framework (JMF) API。第一点和第二点已经成功实现:每秒,来自网络摄像头的 30 个BufferedImage与来自视频文件的30 个BufferedImage合并。结果显示在经典的 JFrame 上(我们只使用 Swing 和 JMF),而且效果非常好。
我们还要做第三点。通过 RTP 发送视频流并不难。 但问题是:由于第 1 点和第 2 点,我们没有视频流,而是一系列 BufferedImages。我们知道如何从这些 BufferedImage 中获取视频文件。但它只是硬盘上录制的视频文件,无法在网络上实时发送。那么我们如何从这些 BufferedImage 中制作一个可以通过 RTP 直接发送的动态流呢?
在此先感谢您的帮助。