Получить видео из кадров в Xuggler - PullRequest
1 голос
/ 29 декабря 2011

Я пытаюсь закодировать список изображений в видео с помощью xuggler. У меня есть массив буферизованных изображений. Я использую следующий код.

public void encodeImage(BufferedImage originalImage, long timestamp) 
{

    //  BufferedImage worksWithXugglerBufferedImage = convertToType(originalImage, BufferedImage.TYPE_3BYTE_BGR);

    BufferedImage worksWithXugglerBufferedImage = convertToType(originalImage, BufferedImage.TYPE_3BYTE_BGR);

    IPacket packet = IPacket.make();
    IConverter converter = ConverterFactory.createConverter(worksWithXugglerBufferedImage, IPixelFormat.Type.YUV420P);

    IVideoPicture outFrame = converter.toPicture(worksWithXugglerBufferedImage, timestamp * 1000);
    outFrame.setQuality(0);


    outStreamCoder.encodeVideo(packet, outFrame, 0);

    if (packet.isComplete()) 
        outContainer.writePacket(packet); 

}

Проблема в том, что он возвращает мне следующую ошибку ..

[WARN] [NioProcessor-1] com.xuggle.xuggler - Got error: picture is not of the same width as this Coder (../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:1204)
[WARN] [NioProcessor-1] com.xuggle.xuggler - Got error: picture is not of the same width as this Coder (../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:1204)
[WARN] [NioProcessor-1] com.xuggle.xuggler - Got error: picture is not of the same width as this Coder (../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:1204)
[WARN] [NioProcessor-1] com.xuggle.xuggler - Got error: picture is not of the same width as this Coder (../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:1204)
[WARN] [NioProcessor-1] com.xuggle.xuggler - Got error: picture is not of the same width as this Coder (../../../../../../../csrc/com/xuggle/xuggler/StreamCoder.cpp:1204)

Ошибка сгенерирована из-за outFrame, я проверил ширину и высоту созданной рамки, и картинка одинакова. Может ли кто-нибудь помочь мне здесь или дать мне подсказку ..

Я использовал источник, представленный здесь. Спасибо.

http://wiki.xuggle.com/Encoding_Video_from_a_sequence_of_Images

1 Ответ

0 голосов
/ 29 декабря 2011

Проблема в том, сэр, вы должны неправильно устанавливать высоту и ширину своего выноса.например,

outStreamCoder.setHeight(height);
outStreamCoder.setWidth(width); 

Вы должны правильно указать здесь высоту вашего видео и вашу ширину.

...