如何使用 Android Java 录制直播?

How can I record a live stream with Android Java?

现在我正在使用 vitamio librairy.

在 Surface 上显示实时流

我想录制它以便稍后观看,因为信号来自无人机。

现在我使用 jcodec 定期保存一系列位图 :

 SequenceEncoder enc = new SequenceEncoder(new File("filename"));
// GOP size will be supported in 0.2
// enc.getEncoder().setKeyInterval(25);
for(...) {
    BufferedImage image = ... // Obtain an image to encode
    enc.encodeImage(image);
}
enc.finish();

我的问题是:

此外,我仍然需要找到一种方法来混合它。我调查了 Mp4Parser,但没有取得多大成功。

为什么不使用数据输入流:

DataInputStream in = new DataInputStream (recording.getInputStream());
FileOutputStream videoFile = new FileOutputStream(targetFile);
int len;
byte buffer[] = new byte[8192];

while((len = in.read(buffer)) != -1) {
    videoFile.write(buffer, 0, len);
}

videoFile.close();

然后,您可以播放文件中的视频。