Форум программистов, компьютерный форум, киберфорум
C++: OpenCV
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/30: Рейтинг темы: голосов - 30, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16

Mov файл не открывается VideoCapture (openCV)

17.09.2014, 20:40. Показов 6054. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не могу открыть видео-файл "c:/.../test.mov".
Код следующий:
C++
1
2
3
4
5
6
cv::VideoCapture capture (Dir.toNativeSeparators(fpath).toStdString());
capture >> frame;
        if( frame.empty() )  {
            printf("EMPTY OR NULL");
            break;//ends HERE!!!!!
        }
Первое - не могу понять, как считать код ошибки.
Второе - проверяю существования файл QDir ом. работает
Третье - В системе проигрывается MOV файл.
OpenCV собрана в MinGW, которая по сути линуксовая штука. Может быть QT не видит системных кодеков. Если да, то как то нужно, видимо, их подключать.
PS. В С варианте тоже пробовала и тоже не открывается.
Подобные вопросы люди задавали, но ответа почему-то нет.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.09.2014, 20:40
Ответы с готовыми решениями:

Что будет, если mov al,cs:string заменить на mov al,cs
1) В некоторой программе что-то реализуется. Вопрос: что будет если mov al,cs:string заменить на mov al,cs 2) Mov al, cs:symbol Что...

Access 2003 .mdb файл не открывается с ярлыка на него на файл сервере, но открывается если снач запус Access
Вирусов нет. Установлены все обновления Windows, Office. Есть сеть состоящая из 6 компьютеров - все подключены к одному...

Из командной строки файл вообще не открывается а если открыть через проводник, то открывается и сразу вылетает
masm model small stack 256 .data per_1 db 23 per_2 dw 9856 per_3 dd 9875645 per_4 dw 29857 .code main:

13
0 / 0 / 1
Регистрация: 18.08.2014
Сообщений: 13
17.09.2014, 23:02
я конечно не гений,
однако могу предположить, что правильно думаешь.
ты сделал оболочку, а ядро которое будет обрабатывать видео не подключил и не добавил

просто у меня была стычка на с++ билдере. писал браузер на базе хрома, дополнительно качал и компонент и ядро, собственно которое все обрабатывает.
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
18.09.2014, 09:31
1) Qt, а не QT
2) Не "линуксовая штука", а Unix компилятор.
3) "Может быть QT не видит системных кодеков"?! Вы вызываете OpenCV, при чем тут Qt?
4) Для работы с видео нужно подключить либу ffmpeg, которая идет в комплекте с opencv.
0
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16
18.09.2014, 10:29  [ТС]
Спасибо за разъяснения и уточнения. И все таки последний шаг:

Как мне эту библиотеку подключить? (я только разбираюсь с Qt, OpenCV и написанием свой программы обработки видео). Какой нибудь пример.
Может opencv_ffmpeg_64.dll нужно зарегестрировать в системе Windows? Или этого не нужно делать, а только прописать в .pro -файле команду (какую).

И кстати такой дополнительный вопрос. В Qt много опций сборки. Создается build-simplecard-Desktop_Qt_5_3_MinGW_32bit-Debug и build-simplecard-Desktop_Qt_5_3_MinGW_32bit-Release, внутри которых в свою очередь тоже папки Release и Debug. и вот когда я запускаю simplecard.exe, то вылетает ошибка - не находит ни одну dll, причем это касается и opencv-библиотке и Qt- библиотеки.
Из Qt-Creator же все запускается.
Где можно прочитать разъяснение к этим нюансам Qt.
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
18.09.2014, 10:33
Цитата Сообщение от Lunaplus Посмотреть сообщение
Как мне эту библиотеку подключить?
А другие opencv либы как вы подключали? Эту так же, через LIBS +=.
Только вам нужна 32 версия либы, а не 64.

Цитата Сообщение от Lunaplus Посмотреть сообщение
зарегестрировать в системе Windows
В PATH добавить что-ли? Нет.

Цитата Сообщение от Lunaplus Посмотреть сообщение
не находит ни одну dll
Qt Creator использует свои переменные окружения. А если вы сами запускаете exe, то все либы должны быть прописаны в PATH или лежать рядом с файлом.
0
0 / 0 / 1
Регистрация: 18.08.2014
Сообщений: 13
18.09.2014, 10:36
если я не ошибаюсь, то огромное количество примеров, стандартно, приведено в Qt.
Так-же вот здесь посмотри, тут много чего интересного.
0
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16
18.09.2014, 10:53  [ТС]
Так, поясняю свои вопросы.
1. В LIBS подключены
C++
1
2
3
4
5
6
7
8
9
10
 LIBS += -L"C:/OpenCvPro231/install/lib" -llibopencv_video231d -llibopencv_features2d231d \
-llibopencv_flann231d \
-llibopencv_gpu231d \
-llibopencv_highgui231d \
-llibopencv_imgproc231d \
-llibopencv_legacy231d \
-llibopencv_ml231d \
-llibopencv_objdetect231d \
-llibopencv_video231d \
-llibopencv_contrib231d
других там нет. Файлы собраны как .dll.a
Единственное, что есть в моей сборке opencv_ffmpeg_64.dll, лежит в папке не lib, a bin.
Что делать? Скачать где то 32 версию? Где?

По поводу регистрации, раньше вроде как то reg32svr утилиткой dll регистрировали? Или уже отпала необходимость? В Path кстати есть c:\OpenCvPro231\install\bin; (как в системной переменной, так и в Qt в своем окружении.

А если вы сами запускаете exe, то все либы должны быть прописаны в PATH или лежать рядом с файлом.
- то есть в Path пути к dll прописаны, но они не видны.
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
18.09.2014, 10:56
Цитата Сообщение от Lunaplus Посмотреть сообщение
то есть в Path пути к dll прописаны, но они не видны.
Значит не верно прописаны.
32-х битный ffmpeg идет с сорцами opencv. opencv-2.4.9\3rdparty\ffmpeg\opencv_ffmpeg.dll переименовываем его в opencv_ffmpeg249.dll
0
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16
18.09.2014, 20:15  [ТС]
Спасибо всем за ответы,конечно, но вот нашла в доках opencv
Due to this OpenCV for video containers supports only the avi extension, its first version. A direct limitation of this is that you cannot save a video file larger than 2 GB. Furthermore you can only create and expand a single video track inside the container. No audio or other track editing support here.
То есть шансов открыть мой файл, который mov да еще и с аудио у меня нет.
Вопрос тогда, что дает библиотека ffmpeg? Позволяет ли она выходить за ограничения?

И тут же новый вопрос. Подскажите, есть ли в Qt функции для работы с виде, в том числе с mov.
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
18.09.2014, 20:23
OpenCV не умеет работать со звуком, это не его профиль.
Проблем с открытием видео файлов в OpenCV я не испытывал.

Цитата Сообщение от Lunaplus Посмотреть сообщение
Вопрос тогда, что дает библиотека ffmpeg?
Она вызывается когда вы используете VideoCapture, без нее не будет работать вообще.

Цитата Сообщение от Lunaplus Посмотреть сообщение
есть ли в Qt функции для работы с виде
что значить "работа с видео"?
0
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16
18.09.2014, 20:36  [ТС]
что значить "работа с видео"?
Это значит специальный объекты вроде QString, ну например QVideoCapture! Должно же быть что-то такое в Qt
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
18.09.2014, 20:44
Разве что QCamera.
0
0 / 0 / 0
Регистрация: 13.09.2014
Сообщений: 16
18.09.2014, 20:44  [ТС]
Ни в одном примере не видела, чтобы библиотеку ffmpeg подключали отдельно.
И вот подтверждение, что подключать ее отдельно не нужно.
Essentially, all the functionalities required for video manipulation is integrated in the VideoCapture C++ class. This on itself builds on the FFmpeg open source library. This is a basic dependency of OpenCV so you shouldn’t need to worry about this.
То есть, если VideoCapture находит, значит и ffmpeg видит. Значит проблема в другом.
ВОПРОС Как открыть файл, который в контейнере mov, да еще и со звуком, средствами Qt+OpenCV. Неужели такая сложная задача!!!
0
 Аватар для RazrFalcon
1403 / 1260 / 262
Регистрация: 10.11.2013
Сообщений: 3,763
18.09.2014, 22:31
Цитата Сообщение от Lunaplus Посмотреть сообщение
То есть, если VideoCapture находит, значит и ffmpeg видит. Значит проблема в другом.
Нет. VideoCapture подгружает ffmpeg при необходимости. Если ffmpeg нету, то файл даже не откроется.

Почему бы не использовать что-то типа:
C++ (Qt)
1
CvCapture *cap = cvCreateFileCapture(path.toStdString().c_str());
Цитата Сообщение от Lunaplus Посмотреть сообщение
Неужели такая сложная задача!!!
Qt - фреймворк для построения интерфейса, а не обработки видео.
OpenCV - библиотека машинного зрения/обработки изображений.

Вам не кажется что вы пытаетесь решить свою задачу неверными инструментами?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.09.2014, 22:31
Помогаю со студенческими работами здесь

Задержка при вызове cv::VideoCapture::read()
Написала (ну почти скопировала отсюда) видеоплеер. Сделала переход к следующему видео в плейлисте при завершении текущего. Заметила,...

Файл: Почему файл не открывается во время выполнения программы?
Почему файл не открывается во время выполнения программы? #include <conio.h> #include <stdio.h> #include <iostream.h> ...

Не открывается файл Документ Office Open XML (docx) - файл поврежден, поэтому его нельзя открыть
Посмотрите, пожалуйста кто может! очень важно:cry: документ , который не отрывается. помогите возобновить...плиз

неодин браузер не открывается,скайп не открывается, фильмы не показываются,не один антивирус не открывается и не устанавливается
здравствуйте ,ребята помогите,такая ситуация,я на ноутбуке хотел скачать какой то торрент...скачал..)) неодин браузер не...

Не открывается файл
На форме находится компонент OpenDialog. С помощью его я открываю текстовый файл и считываю его. memo->Lines->LoadFromFile(s); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru