Я пытаюсь использовать opencv videoWriter для получения видеофайла. Но я получаю следующую задачу:OpenCV VideoWriter не работает
>[libx264 @ 0x132b680] broken ffmpeg default settings detected
>[libx264 @ 0x132b680] use an encoding preset (e.g. -vpre medium)
>[libx264 @ 0x132b680] preset usage: -vpre <speed> -vpre <profile>
>[libx264 @ 0x132b680] speed presets are listed in x264 --help
>[libx264 @ 0x132b680] profile is optional; x264 defaults to high
>Could not open codec 'libx264': Unspecified error!!! Output video could not be opened
У меня есть libx264 в моей системе, поэтому я предполагаю, что это последняя строка просто побочный эффект
Код я пытаюсь запустить пример, взятый из How to write video file in OpenCV 2.4.3 ,
int main (int argc, char *argv[]){
// Load input video
VideoCapture input_cap("testi.mp4");
if (!input_cap.isOpened())
{
std::cout << "!!! Input video could not be opened" << std::endl;
return -1;
}
// Setup output video
cv::VideoWriter output_cap("testo.mp4",
input_cap.get(CV_CAP_PROP_FOURCC),
input_cap.get(CV_CAP_PROP_FPS),
cv::Size(input_cap.get(CV_CAP_PROP_FRAME_WIDTH),
input_cap.get(CV_CAP_PROP_FRAME_HEIGHT)));
if (!output_cap.isOpened())
{
std::cout << "!!! Output video could not be opened" << std::endl;
return -1;
}
// Loop to read from input and write to output
cv::Mat frame;
while (true)
{
if (!input_cap.read(frame))
break;
output_cap.write(frame);
}
input_cap.release();
output_cap.release();
return 0;
}
Я нашел пост с подобной проблемой How to get stream info from opened file in ffmpeg?, но никто еще не ответил правильно.
Я нашел, что людям говорят, что если opencv использует старый fmmpeg вместо libav, это не так, потому что это новая сборка, а у моего ubuntu нет ffmpeg.