Кодирование изображений в видео с ошибками 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.