2016-06-09 3 views
0

J'essaie de faire un fichier vidéo .mp4 dans un groupe d'images en utilisant FFmpegFrameRecorder dans le cadre d'un programme plus grand, donc j'ai mis en place un projet de test dans lequel j'essaie de faire une sortie vidéo de 100 instances du même cadre à 25fps. Le programme semble fonctionner. Cependant, chaque fois que je l'exécute, l'image semble être rougeâtre. Comme si un filtre rouge avait été appliqué dessus.JavaCV FFmpegFrameRecorder Sortie vidéo couleur rougeâtre

est ici l'extrait de code:

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(); 
    } 
} 

Je vous en serais reconnaissant si quelqu'un me dit ce qui ne va pas. Merci d'avance pour votre aide.

Répondre

0

Avait un problème similaire .. Il semble que mon problème n'était pas de définir le pixelFormat correctement. Je l'ai finalement mis à

org.bytedeco.javacpp.avutil.AV_PIX_FMT_RGB32_1 

et il exporte maintenant correctement!

En fait ce que je vois dans mon code, je n'appelle recorder.setPixelFormat();

Au lieu de cela, je mets le format de pixels lors de l'enregistrement comme ceci:

recorder.record(image,org.bytedeco.javacpp.avutil.AV_PIX_FMT_RGB32_1); 

Si cela ne fonctionne pas, je voudrais essayer les différents formats at the source code of the avutil class!

+0

Merci beaucoup! Cela a fonctionné parfaitement. Il vaut la peine de noter cependant que cela a fonctionné seulement quand j'ai placé le format de pixel de la même manière que vous avez dit que vous avez fait au lieu de la façon dont je le faisais. –

+0

Question de suivi rapide, y a-t-il un moyen que vous connaissez d'ajouter un fichier audio à la vidéo de sortie? –