• 大小: 473KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-06-04
  • 语言: 其他
  • 标签: v4l  QT  

资源简介

Linux下的v4l视频采集播放程序,外加QT界面,可用于视频检控官及安防系统

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

#define START   0
#define CAMERO_LCD   1
#define CAMERO_GRAB    2
#define DISPLAY_MP3      4
#define DISPLAY_MP3_CAMERO_LCD   5  

#define START_X execl(“/opt/cat_eyes/jpeg_lcd“ “jpeg_lcd“ “/opt/cat_eyes/picture/chushihua.jpg“ NULL)
#define START_ABSENCE_X execl(“/opt/cat_eyes/jpeg_lcd“ “jpeg_lcd“ “/opt/cat_eyes/picture/miqi.jpg“ NULL)
#define START_LUXIANG_X execl(“/opt/cat_eyes/jpeg_lcd“ “jpeg_lcd“ “/opt/cat_eyes/picture/luxiang.jpg“ NULL)

#define CAMERO_LCD_X execl(“/opt/cat_eyes/jpeg_display“ “jpeg_display“ NULL)
#define DISPLAY_MP3_X execl(“/usr/bin/madplay“ “madplay“ “/opt/cat_eyes/1.mp3“ NULL)
#define CAMERO_GRAB_X execl(“/opt/cat_eyes/grab“ “grab“ NULL) 

int absence = 0;              //外出标志                 
int stat_val;
int flag = START;                 //标志位
int buttons_fd;            //按键的设备文件描述符
int key_value;            //键值
pthread_t thread_id;
pid_t pid_kill;           //将要杀掉的进程的ID

pid_t pid_child;

void key1_process()
{
  if(absence == 0)
    {
      if(flag == START)         
        {
          pid_child = fork();
          if(pid_child < 0)
            {
             perror(“Process creation failed\n“);
             exit(1); 
            } 
           else if(pid_child == 0)
            {
               DISPLAY_MP3_X;       //执行MP3进程  
            } 
           else
            {
               flag = DISPLAY_MP3;
               kill(pid_killSIGINT);
               pid_kill = pid_child;    
               waitpid(pid_kill (int *)0 0);   
               pid_child = fork();
               if(pid_child < 0)
                {
                  perror(“Process creation failed\n“);
                  exit(1); 
                 } 
               else if(pid_child == 0)
                 {
                   CAMERO_LCD_X;
                 }
               else
                 {
                    flag = DISPLAY_MP3_CAMERO_LCD;    
                    pid_kill = pid_child;
                    waitpid(pid_child (int*)0 0);   //等待DISPLAY_QT_X进程结束
                    pid_child = fork();
                    if(pid_child < 0)
                     {
                       perror(“Process creation failed\n“);
                       exit(1); 
                     } 
                   else if(pid_child == 0)
                    {
                       START_X;;         
                    }
                   else
                    {
                       flag = START;
                       pid_kill = pid_child;
                    }
                 }
            }
       }
    }   
  else if(absence == 1)
   {
       if(flag == START)         //如果不处于DISPLAY_MP3状态
        {
          pid_child = fork();
          if(pid_child < 0)
            {

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2012-08-17 10:45  v4l2采集显示程序\
     目录           0  2012-08-17 10:45  v4l2采集显示程序\cat_eyes\
     文件       10463  2010-09-16 17:40  v4l2采集显示程序\cat_eyes\cat_eyes
     文件        9387  2010-09-16 17:40  v4l2采集显示程序\cat_eyes\cat_eyes.c
     目录           0  2012-08-17 10:45  v4l2采集显示程序\cat_eyes_main\
     文件        8277  2010-09-16 17:40  v4l2采集显示程序\cat_eyes_main\cat_eyes_main
     文件        5613  2010-09-16 17:40  v4l2采集显示程序\cat_eyes_main\cat_eyes_main.c
     目录           0  2012-08-17 10:45  v4l2采集显示程序\date_time\
     文件          11  2010-09-16 17:40  v4l2采集显示程序\date_time\visitor_time_1
     文件          12  2010-09-16 17:40  v4l2采集显示程序\date_time\visitor_time_2
     文件          12  2010-09-16 17:40  v4l2采集显示程序\date_time\visitor_time_3
     文件          12  2010-09-16 17:40  v4l2采集显示程序\date_time\visitor_time_4
     文件          12  2010-09-16 17:40  v4l2采集显示程序\date_time\visitor_time_5
     目录           0  2012-08-17 10:45  v4l2采集显示程序\grap\
     文件       12947  2010-09-16 17:40  v4l2采集显示程序\grap\grab
     文件        5261  2010-09-16 17:40  v4l2采集显示程序\grap\grab.c
     文件        5438  2010-09-16 17:40  v4l2采集显示程序\grap\v4l.h
     目录           0  2012-08-17 10:45  v4l2采集显示程序\jpeg_display\
     文件       14730  2010-09-16 17:40  v4l2采集显示程序\jpeg_display\jpeg_display
     文件        1860  2010-09-16 17:40  v4l2采集显示程序\jpeg_display\jpeg_display.c
     文件        3722  2010-09-16 17:40  v4l2采集显示程序\jpeg_display\lcd.h
     文件        5438  2010-09-16 17:40  v4l2采集显示程序\jpeg_display\v4l.h
     目录           0  2012-08-17 10:45  v4l2采集显示程序\jpeg_lcd\
     文件       11002  2010-09-16 17:40  v4l2采集显示程序\jpeg_lcd\jpeg_lcd
     文件        1648  2010-09-16 17:40  v4l2采集显示程序\jpeg_lcd\jpeg_lcd.c
     文件        3722  2010-09-16 17:40  v4l2采集显示程序\jpeg_lcd\lcd.h
     目录           0  2012-08-17 10:45  v4l2采集显示程序\Qt_pic\
     文件         261  2010-09-16 17:40  v4l2采集显示程序\Qt_pic\main.cpp
     文件        1600  2010-09-16 17:40  v4l2采集显示程序\Qt_pic\main.o
     文件        9515  2010-09-16 17:40  v4l2采集显示程序\Qt_pic\Makefile
     文件           0  2010-09-16 17:40  v4l2采集显示程序\Qt_pic\moc_Qt_pic.cpp
............此处省略20个文件信息

评论

共有 条评论