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

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

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

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

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

)

Затем я вставил код в функцию и получил следующее: Кодирование изображений в видео с ошибками JCodec Как видите, мне удалось импортировать 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.

Что я делаю не так?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 155
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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

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