Я пытаюсь сделать видео .mp4
файл из группы изображений с использованием FFmpegFrameRecorder в составе более крупной программы, поэтому я создал тестовый проект, в котором я пытаюсь сделать видеовыход из 100 экземпляров одного кадра со скоростью 25 кадров в секунду. Кажется, что программа работает. Однако каждый раз, когда я запускаю его, изображение кажется красноватым. Как будто к нему был применен красный фильтр.JavaCV FFmpegFrameRecorder Video output reddish color
Вот фрагмент кода:
public static void main(String[] args) {
File file = new File("C:/Users/Diego/Desktop/tc-images/image0.jpg");
BufferedImage img = null;
try {
img = ImageIO.read(file);
} catch (IOException e1) {
e1.printStackTrace();
}
IplImage image = IplImage.createFrom(img);
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder("C:/Users/Diego/Desktop/tc-images/test.mp4",1920,1080);
try {
recorder.setVideoCodec(13);
recorder.setFormat("mp4");
recorder.setPixelFormat(0);
recorder.setFrameRate(25);
recorder.start();
for (int i=0;i<100;i++){
recorder.record(image);
}
recorder.stop();
}
catch (Exception e){
e.printStackTrace();
}
}
Я был бы признателен, если бы кто-нибудь сказал мне, что случилось. Заранее благодарю за любую помощь.
Большое спасибо! Это сработало отлично. Стоит отметить, что это работало только тогда, когда я установил формат пикселей так же, как вы сказали, что сделал, а не так, как я это делал. –
Быстрый вопрос о последующих действиях, есть ли способ, которым вы знаете, добавить аудиофайл к выходному видео? –