gpt4 book ai didi

java - 我想将图像序列转换为 SD 卡中的视频

转载 作者:行者123 更新时间:2023-12-01 05:03:45 25 4
gpt4 key购买 nike

我想使用 ffmpeg 将图像序列转换为 android SD卡中的视频...如何在 android 中使用下面的行... ffmpeg -f image2 -i img%4d.png video.mp4。

我尝试这一行 File dir = new File("/mnt/sdcard");

           // create a process and execute notepad.exe and currect environment

try {

Process p = Runtime.getRuntime().exec("ffmpeg -f image2 -i img%4d.png video_test.mp4",null,dir);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

但我收到 java.io.ioException 环境为空,目录为空错误....

最佳答案

它在 android javacv/opencv 上工作。所以试试这个代码,

              String path =SCREENSHOT_FOLDER2; 

File folder = new File(path);


listOfFiles = folder.listFiles();
if(listOfFiles.length>0)
{









iplimage = new opencv_core.IplImage[listOfFiles.length];


for (int j = 0; j < listOfFiles.length; j++) {

String files="";

if (listOfFiles[j].isFile())
{
files = listOfFiles[j].getName();

}


String[] tokens = files.split("\\.(?=[^\\.]+$)");
String name=tokens[0];

System.out.println(" j " + name);




iplimage[j]=cvLoadImage("/mnt/sdcard/images/"+name+".png");


}

}



File videopath = new File(SCREENSHOT_FOLDER3);
videopath.mkdirs();
newFFmpegFrameRecord recorder = new newFFmpegFrameRecord(SCREENSHOT_FOLDER3+"video"+System.currentTimeMillis()+".mp4",320,480);

try {
recorder.setCodecID(CODEC_ID_MPEG4); //CODEC_ID_MPEG4
//CODEC_ID_MPEG1VIDEO
recorder.setBitrate(sampleVideoBitRate);
recorder.setFrameRate(10);
recorder.setPixelFormat(PIX_FMT_YUV420P); //PIX_FMT_YUV420P


recorder.start();

int x = 0;
int y = 0;
for (int i=0;i< 300 && x<iplimage.length;i++)

{

recorder.record(image[x]);

if (i>(y+10)) {
y=y+1;
x++;
}

}
recorder.stop();
}
catch (Exception e){
e.printStackTrace();
}

关于java - 我想将图像序列转换为 SD 卡中的视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13005975/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com