Кодирование изображений в видео с ошибками JCodec

Мне нужно закодировать несколько изображений (из которых у меня есть полный путь) в видео определенного FPS на Android.

Испытания: Как создать видео из массива изображений в Android?

Почему я не смог заставить его работать: я добавил зависимость Jcodec в файл gradle (

compile 'org.jcodec:jcodec:0.2.3'
compile 'org.jcodec:jcodec-android:0.2.2'

)

Затем я вставил код в функцию, и вот что я получаю: Как вы можете видеть, мне удалось импортировать SequenceEncoder (import org.jcodec.api.SequenceEncoder;), но он не распознает буферизованное изображение (я думаю, это потому, что я должен использовать Bitmap)

И это дает мне ошибку в SequenceEncoder.

Также не распознает метод encodeImage.

Затем я попытался с кодом, который я нашел на веб-сайте JCodec:

SeekableByteChannel out = null;
    try {
        out = NIOUtils.writableFileChannel("/tmp/output.mp4");
        // for Android use: AndroidSequenceEncoder
        AWTSequenceEncoder encoder = new AWTSequenceEncoder(out, Rational.R(25, 1));
        for (...) {
            // Generate the image, for Android use Bitmap
            BufferedImage image = ...;
            // Encode the image
            encoder.encodeImage(image);
        }
        // Finalize the encoding, i.e. clear the buffers, write the header, etc.
        encoder.finish();
    } finally {
        NIOUtils.closeQuietly(out);
    }

Но он не распознает AWTSequenceEncoder и, следовательно, методы encodeImage и finish.

Что я делаю неправильно?

1 ответ

Решение

Хорошо, я нашел ответ на проблему, технически именно в ответах на этот вопрос: как создать видео из массива изображений в Android?

Но имеет только два голоса, несмотря на то, что я работал только один, и, как я выяснил, единственный, кто должен работать. Вы не можете использовать BufferedImages в Android, в то время как большинство проголосовавших это делают, а SequenceEncoder, который я не нашел, заменяется AndroidSequenceEncoder.

Другие вопросы по тегам