[英]getting error in CODEC_ID_MPEG1VIDEO and PIX_FMT_YUV420P
我正在尝试创建一个将图像转换为视频的代码。 我已经冲浪了很多,找到了一些使用javacv的方法。 现在我在这些行中得到变量not found错误。
recorder.setCodecID( CODEC_ID_MPEG1VIDEO);
recorder.setPixelFormat( PIX_FMT_YUV420P);
我也已将所有jar文件导入到我的库中,但仍然收到此错误。 一些快速的帮助将不胜感激。 我已经通过以下链接将javacv导入到我的工作区中。
package com.example.photoaday;
import static com.googlecode.javacv.cpp.opencv_core.cvReleaseImage;
import static com.googlecode.javacv.cpp.opencv_highgui.cvLoadImage;
import static com.googlecode.javacv.cpp.opencv_highgui.cvShowImage;
import static com.googlecode.javacv.cpp.opencv_highgui.cvWaitKey;
import static com.googlecode.javacv.cpp.opencv_imgproc.CV_GAUSSIAN;
import static com.googlecode.javacv.cpp.opencv_imgproc.cvSmooth;
import com.googlecode.javacv.FFmpegFrameRecorder;
import com.googlecode.javacv.cpp.opencv_core;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
public class Recordvideo extends Activity {
// @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.create);
opencv_core.IplImage img = cvLoadImage("/sdcard/folder/img1.jpg");
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("/sdcard/folder/test.mpeg",200,150);
try {
recorder.setCodecID( CODEC_ID_MPEG1VIDEO);
recorder.setFrameRate(30);
recorder.setPixelFormat( PIX_FMT_YUV420P);
recorder.start();
for (int i=0;i<100;i++)
{
recorder.record(img);
}
recorder.stop();
}
catch (Exception e){
e.printStackTrace();
}
}
}
我假设您的编译器给出如下错误
错误:未在此范围内声明“ CODEC_ID_MPEG1VIDEO”
错误:未在此范围内声明“ PIX_FMT_YUV420P”
那么错误的解决方案是
更改:将“ CODEC_ID_MPEG1VIDEO”更改为“ AV_CODEC_ID_MPEG1VIDEO”
更改:将“ PIX_FMT_YUV420P”更改为“ AV_PIX_FMT_YUV420P”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.