使用javacv和ffmpeg或备用lib创建1080p视频

时间:2012-07-14 21:28:57

标签: opencv ffmpeg video-capture video-processing javacv

JavaCV中有一个选项可以从图像中捕获1080p视频吗? 如果我使用FFmpegFrameRecorde,我只能找到480p。

或者是否有替代Java库? 我想用它来创建一种来自图片的视频(具有缩放和旋转效果)

问候

// EDIT

好, 现在我测试了一个非常简单的代码:

    FrameRecorder  recorder = FFmpegFrameRecorder.createDefault("out.avi", 1920, 1080);
    recorder.start();
    recorder.record(iplImage);
    recorder.stop();

它的确有效!但文件非常大(10秒左右,大约300MB ......)

现在我想添加一个像xvid这样的编解码器。我得到了以下的感觉:

com.googlecode.javacv.FrameRecorder$Exception: codec not found

但我安装了xvid paket。我必须将编解码器添加到特殊文件夹中,例如ffmpeg bin?

1 个答案:

答案 0 :(得分:3)

好, 现在我测试mp4编解码器,一切正常:)

// UPDATE

for JavaCV 0.2

    FrameRecorder recorder = FFmpegFrameRecorder.createDefault("out.avi", 1920, 1080);
    recorder.setCodecID(CODEC_ID_MPEG4);
    recorder.setPixelFormat(PIX_FMT_YUV420P);
    recorder.start();
            .....
    recorder.stop();

for JavaCV 0.3

    FrameRecorder recorder = FFmpegFrameRecorder.createDefault("out.avi", 1920, 1080);
    recorder.setVideoCodec(CODEC_ID_MPEG4);
    recorder.setFrameRate(fps);
    recorder.setFormat("avi");
    recorder.start();
            .....
    recorder.stop();