Поддержка кодеков OpenCV2

Я читаю в видео файлах с openCV, я использую следующий простой код, чтобы сделать это.

std::string arg = argv[1];
    VideoCapture capture(arg); //try to open string, this will attempt to open it as a video file
    if (!capture.isOpened()) {
        cerr << "Failed to open video file!\n" << endl;
        help(argv);
        system("Pause");
        return 1;
    }

Я могу загрузить и управлять несколькими видео, но у меня есть проблемы с другими. Я полагаю, что это связано с проблемами кодека. Я могу воспроизводить видео, используя Win Media Media старого стиля, поэтому кодеки в системе, но я думаю, что не доступны в OpenCV?

Кто-нибудь знает, какие кодеки и видео формат определенно будут воспроизводиться на opencv и что является хорошим вариантом для конвертации видео в эти форматы?

Большое спасибо

1 ответ

Действительно, поддерживаемый кодек OpenCV зависит от вашей платформы и доступных кодеков.

Это руководство Создание видео с помощью OpenCV четко объясняет видеокодек OpenCV. Хотя он предназначен для записи видео, я думаю, что основной принцип такой же, как и при чтении видео.

Функция C++: double VideoCapture::get(int propId) можно получить свойство кодека вашего загруженного видео, установив propId = CV_CAP_PROP_FOURCC, Интерпретацию FOURCC можно найти на этом сайте. Если у вас есть проблемы с чтением видео.avi, весьма вероятно, что коды не установлены на вашей платформе.

Другие вопросы по тегам