其实我需要做一个简单的任务 在由表面视图创建的视频中添加徽标
首先,我将徽标图像转换为字节数组并成功完成 在下一阶段需要将徽标字节数组添加到OnPreviewFrame方法的参数Byte [] xxx
我怎样才能添加这两个字节数组
是否可以使用表面视图进行视频录制,并在视频的一角使用我的静态应用程序徽标。
关注我的代码:
@Override
public void onPreviewFrame(byte[] data, Camera camera) {
Camera.Parameters parameters = camera.getParameters();
if (yuvIplimage != null && recording) {
if (nextFrametime == -1) {
nextFrametime = startTime;
}
if (System.currentTimeMillis() >= nextFrametime) {
videoTimestamp = 1000 * (System.currentTimeMillis() - startTime);
// Put the camera preview frame right into the yuvIplimage
// object
yuvIplimage.getByteBuffer().put(data);
try {
// Get the correct time
recorder.setTimestamp(videoTimestamp);
// Record the image into FFmpegFrameRecorder
recorder.record(yuvIplimage);
recordError = false;
} catch (FFmpegFrameRecorder.Exception e) {
recordError = true;
nextFrametime = -1;
frameCount = 0;
Log.v(LOG_TAG, e.getMessage());
e.printStackTrace();
}
nextFrametime = startTime
+ (long) ((1000.0 / 15) * (++frameCount));
}
}
}
答案 0 :(得分:0)
您可能希望在预览帧的顶部添加叠加层,这是您制作的视频的水印类型。如果使用 ffmpeg on native level 处理此问题,您将获得最佳结果,但对于JavaCV,请参阅 tutorial 。