Ошибка при записи кадров FFmpegFrameRecorder из javacv
Создаю свой формат файлов видео, пишу утилиту для конвертации mp4 в новый формат. Использую JavaCV от bytedeco. При попытке записи фреймов в файл, получаю краш утилиты:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f0703599d60, pid=30284, tid=30285
#
# JRE version: OpenJDK Runtime Environment (14.0.2+12) (build 14.0.2+12-Debian-1.1)
# Java VM: OpenJDK 64-Bit Server VM (14.0.2+12-Debian-1.1, mixed mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
# Problematic frame:
# C [libavformat.so.58+0x152d60] av_write_frame+0x2e0
#
# No core dump will be written. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" before starting Java again
#
# An error report file with more information is saved as:
# /неважно/какой/путь/до/hs_err_pid30284.log
#
# If you would like to submit a bug report, please visit:
# https://bugs.debian.org/openjdk-14
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
Аварийный останов
Собственно, сам код:
try (FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(os, width, height, 0)) {
recorder.setFrameRate(20);
recorder.setFrameNumber(frames);
recorder.start();
for (int frame = 0; frame < frames; frame++) {
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
image.setRGB(0, 0, width, height, MapPalette.imageToInts(converter.convert(grabber.grab())), 0, width);
recorder.record(converter.convert(image));
}
r.stop();
}
Из-за чего может такое происходить? Если нужны ещё детали - просите