Перейти к содержимому
Compvision.ru
Qubert

Запись в файл с вебкамеры, а именно проблема излишнего размера самого файла

Recommended Posts

Здравствуйте!

Проблема описана в названии самой темы, тоесть:

при записи в видео файл, я использую следующий код С++ :

#include <cv.h>

#include <highgui.h>

#include <stdio.h>


int main(int argc, char* argv[])

{

        cvNamedWindow("capture");



        CvCapture *capture = cvCreateCameraCapture(CV_CAP_ANY);

        assert(capture!=0);


        const char *filename = "capture.avi";


        double fps = 7;


        CvSize size = cvSize(640, 480);


        CvVideoWriter *writer = cvCreateVideoWriter(filename, CV_FOURCC('I','U','Y','V'), fps, size);

        assert(writer!=0);


        IplImage *frame=0;


        while(true){


                frame = cvQueryFrame( capture );


                cvWriteFrame(writer, frame);


                cvShowImage("capture", frame);  

                char c = cvWaitKey(1);

                if (c == 27) { 

                        break;

                }

        }


        cvReleaseCapture( &capture );

        cvReleaseVideoWriter(&writer);

        cvDestroyWindow("capture");

        return 0;

}

я записываю его в формат avi, но я думаю, что особое внимание нужно уделить менно 4-х буквенным кодекам в функции CV_FOURCC('I','U','Y','V')

в самом примере были CV_FOURCC('X','V','I','D'), но, когда создавался файл, его размер был = 0, и только при изменении этого 4-х буквенного кода все нормально записалось, но видео продолжительностью около 1 минуты у меня весит аж 135 мб...как можно сделать так, чтобы его размер был меньше, а лучше самый минимальный?!

я пробовал менять формат и 4-х буквенный код, в соответсвии с ним, но файл вообще даже не создавался !

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Кодеки надо поставить, например:

K-Lite Mega Kodec Pack

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

все равно не помогает

я попробовал поменять формат на flv а буквы поменять на F L V 1

файл даже не создается

а, если оставить avi, а буквы поменять на D I V X файл создастся, но размер = 0 точно также

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Qubert

Интерфейс для записи основан на FFMPEG. Причём FFMPEG был взят и давным давно и прикручен к OpenCV. С тех пор FFMpeg интерфейс поменял, а в OpenCV его не обновляли.

Появилась приставка opencv_

opencv_ffmpeg.dll

или

opencv_ffmpeg_64.dll

имеютс?

Если нет то OpenCV будет цеплять vfw.

vfw устарел и Microsoft не советует его использовать.

Да и кодеки для него не распространены поставляются только в Mega K-Lite Kodec Pack.

Нужна именно Mega. FULL, STANDART не годятся.

  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Qubert

Интерфейс для записи основан на FFMPEG. Причём FFMPEG был взят и давным давно и прикручен к OpenCV. С тех пор FFMpeg интерфейс поменял, а в OpenCV его не обновляли.

Появилась приставка opencv_

opencv_ffmpeg.dll

или

opencv_ffmpeg_64.dll

имеютс?

Если нет то OpenCV будет цеплять vfw.

vfw устарел и Microsoft не советует его использовать.

Да и кодеки для него не распространены поставляются только в Mega K-Lite Kodec Pack.

Нужна именно Mega. FULL, STANDART не годятся.

я Mega и качал вот отсюда http://codecguide.com/download_k-lite_codec_pack_mega.htm ! его ведь просто устанавливаешь и все?

я просто с этим дело никогда не имел !

спасибо !

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

VFW поддерживает только файлы '*.avi' и '*.mpeg' Из кодеков тоже негусто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я оттуда и брал эти 4-х буквенные кодеки, изначально

когда поставил k-lite mega codec pack, теперь видео файл с кодом I,U,Y,V даже не работает...тоесть все файлы у меня весят 0 кб

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×