LINUX.ORG.RU

вопрос про mjpegtools (liblavrec.c)


0

0

есть задача, в mjpegtools входит комадна lavrec, когда эта команда 
работает, то она пишет видуо файл с устройства видеозахвата. 
Необходимо во время записи делать скриншоты с экрана. Для этого(для 
mjpegtools-1.6.1) в строке 734 была закоментирована строчка 

settings->stats->num_frames += count; и вставлен вместо неё следующий код:

   /* Update counters. Maybe frame its written only once,
    * but size*count is the save guess
    */

//   settings->stats->num_frames += count;
   settings->bytes_output_cur += size*count;
while (count-- > 0) {
  if (settings->stats->num_frames++ % 10 == 0) {
  lav_file_t *jpg_file;
  jpg_file = lav_open_output_file("/mnt/ramdisk/1/snapshot.jpg", 'j',
  settings->width, settings->height,Y4M_ILACE_NONE,
  (info->video_norm==1? 30000.0/1001.0 : 25.0), 0, 0, 0);
  lav_write_frame(jpg_file, buff, size, 1);
  lav_close (jpg_file);

  }
}
   /*
        * If the user has specified flushing of file buffers
        * flush every time the specified number of unflushed frames has
        * been reached.
        */


Соовтетственно, этим кодом каждые 10 фреймов на диск в оперативной 
памяти сохраняется фрейм. Ну и дальше с ним что то делается и т.п.

Ну, вобщем, иногда происходит kernel panic выражающийся в том, что 
мигают три кнопки на клавиатуре и все остальное висит. Если в этот 
момент записи запущены Иксы и в них xawtv для просмотра того, что 
пишется, то картинка с видеокамеры замечательно просматривается и 
записывается.

 Железо не виновато(было сменено три компьютера) точно... но как 
отловить этот кернел-паник - я не знаю, короче, че делать, куда рыть 
куда копать... по видимому, происходит утечка памяти гдето, но где - 
черт его знает.

Спасибо!
☆☆

> то картинка с видеокамеры замечательно просматривается и записывается

соврал, картинка меняется, т.е. оверлей идет, но компьютер висит и ничего не происходит... :(

Причем оно может работать двое суток писать видео и вдруг зависнет. Или иногда минут через 10 зависает. :(

vilfred ☆☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.