При использовании cvCreateVideoWriter()
необходимо учитывать 2 важных момента:
Вашему приложению необходимы права для создания файлов и возможности их записи. Убедитесь, что вы установили необходимые разрешения для каталога для этого.
2-й аргумент функции - это код кодека, используемый для сжатия кадров. Например, CV_FOURCC('P','I','M','1')
- это кодек MPEG-1, а CV_FOURCC('M','J','P','G')
определяет motion-jpeg.
Типичный вызов может выглядеть так:
CvVideoWriter *writer = cvCreateVideoWriter("video.avi", CV_FOURCC('M','J','P','G'), fps, size, 0);
if (!write)
{
// handle error
}
Я предлагаю вызвать cvCreateVideoWriter с разными кодеками. Возможно, ваша платформа не поддерживает ту, которую вы используете сейчас.
Я не знаю, включает ли флаг в сборке по умолчанию для Android флаг HAVE_FFMPEG
, но необходимо установить ffmpeg, и лучше убедиться, что этот флаг включен при компиляции OpenCV.