6

我正在使用JCODEC创建我的屏幕活动视频。我不想使用 android NDK,因为我想在 JAVA 中这样做。我正在运行一个 for 循环来使用 SequenceEncoder 对图像进行编码。问题是循环运行时间过长,并且 log cat 给出了 GC_FOR_ALLOC 释放的消息。即使是 5 次迭代,循环也需要很多秒。所以我无法为我的活动拍摄适当的视频。我试图对代码进行更改,但没有帮助。请帮我解决一下这个。如果可能,建议其他选项。提前致谢。

File file = new File(Environment.getExternalStorageDirectory()+"/a.mp4");
SequenceEncoder encoder = new SequenceEncoder(file);
mview.setDrawingCacheEnabled(true);
// only 5 frames in total
for (int i = 1; i <= 5; i++) {
// getting bitmap from drawable path
mview.postInvalidate();
encoder.encodeNativeFrame(this.fromBitmap(mview.getDrawingCache()));
}
encoder.finish();
4

1 回答 1

3

你能看看这个教程。通过使用 FFMPEG,它可以工作。

https://github.com/vanevery/Android-MJPEG-Video-Capture-FFMPEG

于 2014-06-02T05:20:39.020 回答