Системный вызов не работает в C ++ для avconv

Я использую системный вызов в C ++ для записи коротких 30-секундных видеофайлов из последовательности изображений, виртуальная память в raspberry pi неуклонно растет, и системные вызовы также перестали работать через определенное время (appx после создания 300 видео).

 sprintf(cmdtorun, "avconv -framerate %d -i %s -c:v libvpx -qmin 20 -qmax 30 -an -threads 2 -c:a libvorbis -r %d %s",
this->getFPS(),imgseq,this->getFPS(),vidname);
int status;
if(status = system(cmdtorun)){
printf("system command cmdtorun failed: (%i) \n",status );
}
else printf("cmdtorun successful\n");

0

Решение

Проблема решается с помощью popen вместо системного вызова.

0

Другие решения

Других решений пока нет …