0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动

完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>

3天内不再提示

Linux编程_网页视频监控项目

DS小龙哥-嵌入式技术 2022-09-17 15:45 次阅读

【摘要】 介绍Linux下HTTP服务器搭建,完成网页图片显示,网页视频显示。

任务1: 网页视频监控项目

目的: 使用浏览器访问开发板的USB摄像头图像数据,实时刷新到达视频的效果。

1.​HTTP协议: 如何传输数据,让浏览器显示?

2.​线程的并发执行: 多个浏览器同时访问摄像头数据。

3.​USB摄像头编程: 如果获取摄像头的数据。

1.1 如何显示一张静态的图片

HTTP协议: 文本协议-----报文: 字符串。

HTTP服务器基本的交互的步骤:

1.​先创建HTTP服务器

2.​使用浏览器(HTTP客户端)访问HTTP服务器:

(1)​第一次请求的路径是: / :表示询问: 你需要我做什么?

(2)​HTTP服务器收到请求之后,先向HTTP客户端发送应答报文。

再发送需要浏览器处理的数据: 数据类型、数据长度。 :表示分配给浏览器需要做的任务

如果需要浏览器显示一张图片,浏览器在收到任务之后,会解析任务,再次向服务器发送请求:

请求图片(图片的资源路径):

HTTP服务器收到请求之后,先向HTTP客户端发送应答报文。

再发送需要浏览器处理的数据: 数据类型、数据长度。

1.2 采集摄像头数据、显示动态图片

1. 采集摄像头数据: 开一个新的线程

2. 需要将摄像头的数据编码为JPG格式—jpglib只能将RGB数据压缩成JPG格式保存到文件。

需要使用改进的算法,将JPG图像压缩存放到内存里。

3.​需要考虑资源共享: 线程互斥锁+条件变量

(1)​线程1: 负责采集摄像头的数据,并进行编码压缩jpg图像

(2)​线程2(主线程): 负责等待HTTP客户端连接(浏览器),处理与浏览器之间的交互过程。

pYYBAGMlO2GAdjHYAADUqpM_-IU324.png

​云服务器: 本身就是一个虚拟电脑

1.​登录: 使用ssh远程登录。

2.​买云服务器: 送一个公网IP地址。

3.​也可以购买一个域名。www.1234.com

今天的代码基础之上实现:

跨网段网页视频监控。

poYBAGMlO2GABXVEAADqi_-m3-g598.pngpoYBAGMlO2KAd5ufAAGLE_1ScZA202.png

int on = 1;

if(setsockopt(http_server_fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) < 0)

{

printf("setsockopt(SO_REUSEADDR) 设置错误!\n");

exit(-1);

}

//这样可以保证: 端口关闭之后,立即可以再次使用

1.3 解决TCP服务器退出时,产生退出信号终止进程

signal.h中的宏定义SIG_DFL及SIG_IGN

SIG_DFL,SIG_IGN 分别表示无返回值的函数指针,指针值分别是0和1,

这两个指针值逻辑上讲是实际程序中不可能出现的函数地址值。

SIG_DFL:默认信号处理程序

SIG_IGN:忽略信号的处理程序

/*

往一个已经接收到FIN的套接中写是允许的,接收到的FIN仅仅代表对方不再发送数据。

并不能代表我不能发送数据给对方。

往一个FIN结束的进程中写(write),对方会发送一个RST字段过来,TCP重置。

如果再调用write就会产生SIGPIPE信号

*/

signal(SIGPIPE,SIG_IGN);

1.4 HTTP服务器搭建_显示一静态JPG图片

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include  
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#define HTTP_SERVER_PORT 1237  /*HTTP服务器端口号*/
int http_server_fd; /*HTTP服务器套接字*/
/*
函数功能: 处理退出的信号
*/
void exit_sighandler(int sig)
{
	/*关闭服务器套接字*/
	close(http_server_fd);
	sleep(2);
	
	//退出进程
	exit(1);
}

/*
函数功能: 向HTTP客户端发送文件数据
*/
void HTTPClient_SendFileData(int client_fd,char *type,char *file)
{
	int file_fd;
	int read_len;
	struct stat file_buf;
	unsigned char buffer[1024];
	file_fd=open(file,O_RDONLY);
	if(file_fd<0)
	{
		printf("%s文件打开失败!\n",file);
		return;
	}
	
	/*1. 获取文件的状态信息*/
	stat(file,&file_buf);
	//printf("%d\n",file_buf.st_size);
	
	/*2. 构造报文头*/
	sprintf(buffer,"HTTP/1.1 200 OK\r\n" \
				   "Content-type:%s\r\n" \
				   "Content-Length:%d\r\n" 
				   "Server: wbyq\r\n" \
				   "\r\n",type,file_buf.st_size);
	
	read_len=strlen(buffer);
	
	/*2. 发送数据*/
	do
	{
		if(write(client_fd,buffer,read_len)<=0)break;
	}while((read_len=read(file_fd,buffer,sizeof(buffer)))>0);
}

/*
函数功能: 处理HTTP客户端的线程
*/
void *pthread_Handler_HTTP_Client(void *dev)
{
	int Clientfd;
	unsigned char buffer[1024];
	unsigned char *p=buffer;
	struct pollfd fds;
	int poll_state; /*poll函数的状态值*/
	int recv_len;   /*接收的数据长度*/
	if(dev==NULL)
	{
		pthread_exit(NULL); /*终止线程*/
	}
	Clientfd=*(int*)dev; /*保存客户端套接字描述符*/
	free(dev); /*释放空间*/
	
	/*1. 接收客户端的请求报文*/
	fds.fd=Clientfd;
	fds.events=POLLIN;
	while(1)
	{
		/*等待数据*/
		poll_state=poll(&fds,1,100);
		if(poll_state<=0)break; /*数据接收完毕就退出*/
		recv_len=read(Clientfd,p,1024);
		p+=recv_len;
		if(p-buffer>1024)break;
	}
	
	//printf("buffer=%s\n",buffer);
	
	/*1. 判断请求的路径*/
	if(strstr(buffer,"GET / HTTP/1.1"))
	{
		HTTPClient_SendFileData(Clientfd,"text/html","index.html");
	}
	else if(strstr(buffer,"GET /image.jpg HTTP/1.1"))
	{
		HTTPClient_SendFileData(Clientfd,"image/jpeg","123.jpg");
	}
	else if(strstr(buffer,"GET /favicon.ico HTTP/1.1"))
	{
		HTTPClient_SendFileData(Clientfd,"image/x-icon","123.ico");
	}
	
	close(Clientfd);
}
/*
HTTP服务器创建:
1. 创建socket套接字
2. 绑定端口号: 服务器创建
3. 设置监听端口的数量: 服务器最大等待连接的客户端总数量
4. 等待客户端连接
*/
int main(int argc,char **argv)
{
	/*1. 绑定将要捕获的信号*/
	signal(SIGINT,exit_sighandler);
	signal(SIGSEGV,exit_sighandler);
	
	/*2. 创建套接字*/
	http_server_fd=socket(AF_INET,SOCK_STREAM,0);
	if(http_server_fd<0)
	{
		printf("HTTP服务器:创建套接字创建失败!\n");
		return -1;
	}
	
	/*3. 绑定端口号*/
	struct sockaddr_in server_addr;
	memset(&server_addr,0,sizeof(struct sockaddr_in));
	server_addr.sin_family=AF_INET; //IPV4
	server_addr.sin_port=htons(HTTP_SERVER_PORT); //需要填大端格式的端口号数据
	server_addr.sin_addr.s_addr=0;//inet_addr("192.168.18.3");
	/*0=inet_addr("0.0.0.0") ---表示本地所有IP地址*/
	if(bind(http_server_fd,(struct sockaddr *)&server_addr,sizeof(struct sockaddr_in))!=0)
	{
		printf("HTTP服务器:绑定端口号失败!\n");
		return -2;
	}
	
	/*4. 设置监听客户端连接的数量*/
	listen(http_server_fd,50);
	
	/*5. 等待客户端连接:阻塞*/
	struct sockaddr_in client_addr;
	int addrlen=sizeof(struct sockaddr_in);
	pthread_t thread_id; /*线程的ID*/
	int *client_fd=NULL; /*保存客户端的套接字描述符*/
	while(1)
	{
		client_fd=(int*)malloc(sizeof(int));
		if(client_fd==NULL)
		{
			printf("存放客户端的套接字描述符,空间申请失败!\n");
			break;
		}
		*client_fd=accept(http_server_fd,(struct sockaddr *)&client_addr,&addrlen);
		if(*client_fd<0)
		{
			break;
		}
		
		/*6. 创建新的线程*/
		if(pthread_create(&thread_id,NULL,pthread_Handler_HTTP_Client,(void*)client_fd)!=0)
		{
			printf("创建处理HTTP客户端线程失败!\n");
			break;
		}
	}
	
	/*7. 关闭服务器套接字*/
	close(http_server_fd);
	return 0;
}

1.5 网页视频监控的项目代码_多线程处理

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include  
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include "yuv_to_jpeg.h"

#define UVC_VIDEO_DEVICE "/dev/video15"  /*UVC摄像头设备节点*/
int uvc_video_fd; /*存放摄像头设备节点的文件描述符*/
int video_stop_stat=1; /*视频停止状态: 1表示正常执行,0表示退出*/

unsigned char *video_memaddr_buffer[4]; /*存放的是摄像头映射出来的缓冲区首地址*/
int Image_Width;  /*图像的宽度*/
int Image_Height; /*图像的高度*/
unsigned char *jpg_video_buffer=NULL; /*转换之后的JPG数据缓冲区首地址*/
unsigned int jpg_video_size; /*存放当前JPG数据缓冲区的大小*/
pthread_mutex_t mutex; /*互斥锁*/
pthread_cond_t cond;  /*条件变量*/

#define HTTP_SERVER_PORT 1235  /*HTTP服务器端口号*/
int http_server_fd; /*HTTP服务器套接字*/

/*
函数功能: 处理退出的信号
*/
void exit_sighandler(int sig)
{
	video_stop_stat=0; //让摄像头采集线程自动退出
	sleep(2);
	
	/*关闭服务器套接字*/
	close(http_server_fd);
	
	//退出进程
	exit(1);
}

/*
函数功能: 向HTTP客户端发送文件数据
*/
void HTTPClient_SendFileData(int client_fd,char *type,char *file)
{
	int file_fd;
	int read_len;
	struct stat file_buf;
	unsigned char buffer[1024];
	file_fd=open(file,O_RDONLY);
	if(file_fd<0)
	{
		printf("%s文件打开失败!\n",file);
		return;
	}
	
	/*1. 获取文件的状态信息*/
	stat(file,&file_buf);
	//printf("%d\n",file_buf.st_size);
	
	/*2. 构造报文头*/
	sprintf(buffer,"HTTP/1.1 200 OK\r\n" \
				   "Content-type:%s\r\n" \
				   "Content-Length:%d\r\n" 
				   "Server: wbyq\r\n" \
				   "\r\n",type,file_buf.st_size);
	
	read_len=strlen(buffer);
	
	/*2. 发送数据*/
	do
	{
		if(write(client_fd,buffer,read_len)<=0)break;
	}while((read_len=read(file_fd,buffer,sizeof(buffer)))>0);
}
/*
函数功能: 发送数据流
*/
void SendVideoData(int Clientfd)
{
	int image_size;
	unsigned char *image_data; 
	unsigned char buffer[1024];
	
	/*1. 构造报文头: 回应浏览器请求,并告诉浏览器接下来需要使用长连接*/
	sprintf(buffer, "HTTP/1.0 200 OK\r\n" \
					"Server: wbyq\r\n" \
					"Content-Type: multipart/x-mixed-replace;boundary=" "boundarydonotcross" "\r\n" \
					"\r\n" \
					"--" "boundarydonotcross" "\r\n");
	if(write(Clientfd,buffer,strlen(buffer))<0)
	{
		return;
	}
	
	/*2. 循环发送数据流: JPG图片*/
	image_data=malloc(Image_Width*Image_Height*3);
	if(image_data==NULL)
	{
		printf("循环发送数据流缓冲区申请失败!\n");
		return;
	}
	while(video_stop_stat)
	{
		//阻塞方式等待条件变量,等待成功并上锁
		pthread_cond_wait(&cond,&mutex);
		
		image_size=jpg_video_size; //保存图片的大小
		memcpy(image_data,jpg_video_buffer,image_size);
		
		//互斥锁解锁
		pthread_mutex_unlock(&mutex);
		
		/*2.1 构造报文头: 告诉浏览器发送数据类型和数据的长度*/
		sprintf(buffer,"Content-type:%s\r\n" \
					   "Content-Length:%d\r\n"\
					   "\r\n","image/jpeg",image_size);
		if(write(Clientfd,buffer,strlen(buffer))<0)
		{
			break;
		}
		
		/*2.2 发送实际的数据*/
		if(write(Clientfd,image_data,image_size)<0)break;
		
		/*2.3 发送间隔符号*/
		sprintf(buffer,"\r\n--" "boundarydonotcross" "\r\n"); //间隔符号
		if(write(Clientfd,buffer,strlen(buffer))<0)
		{
			break;
		}
	}
	free(image_data); //释放空间
}
/*
函数功能: 处理HTTP客户端的线程
*/
void *pthread_Handler_HTTP_Client(void *dev)
{
	int Clientfd;
	unsigned char buffer[1024];
	unsigned char *p=buffer;
	struct pollfd fds;
	int poll_state; /*poll函数的状态值*/
	int recv_len;   /*接收的数据长度*/
	if(dev==NULL)
	{
		pthread_exit(NULL); /*终止线程*/
	}
	Clientfd=*(int*)dev; /*保存客户端套接字描述符*/
	free(dev); /*释放空间*/
	
	/*1. 接收客户端的请求报文*/
	fds.fd=Clientfd;
	fds.events=POLLIN;
	while(1)
	{
		/*等待数据*/
		poll_state=poll(&fds,1,100);
		if(poll_state<=0)break; /*数据接收完毕就退出*/
		recv_len=read(Clientfd,p,1024);
		p+=recv_len;
		if(p-buffer>1024)break;
	}
	
	//printf("buffer=%s\n",buffer);
	
	/*1. 判断请求的路径*/
	if(strstr(buffer,"GET / HTTP/1.1"))
	{
		HTTPClient_SendFileData(Clientfd,"text/html","index.html");
	}
	else if(strstr(buffer,"GET /?action=stream HTTP/1.1"))
	{
		SendVideoData(Clientfd); //发送视频流数据
	}
	else if(strstr(buffer,"GET /favicon.ico HTTP/1.1"))
	{
		HTTPClient_SendFileData(Clientfd,"image/x-icon","123.ico");
	}
	
	close(Clientfd);
}
/*
函数功能: UVC摄像头初始化
返回值: 0表示成功
*/
int UVCvideoInit(void)
{
	/*1. 打开摄像头设备*/
	uvc_video_fd=open(UVC_VIDEO_DEVICE,O_RDWR);
	if(uvc_video_fd<0)
	{
		printf("%s 摄像头设备打开失败!\n",UVC_VIDEO_DEVICE);
		return -1;
	}
	
	/*2. 设置摄像头的属性*/
	struct v4l2_format format;
	memset(&format,0,sizeof(struct v4l2_format));
	format.type=V4L2_BUF_TYPE_VIDEO_CAPTURE; /*表示视频捕获设备*/
	format.fmt.pix.width=320;  /*预设的宽度*/
	format.fmt.pix.height=240; /*预设的高度*/
	format.fmt.pix.pixelformat=V4L2_PIX_FMT_YUYV; /*预设的格式*/
	format.fmt.pix.field=V4L2_FIELD_ANY; /*系统自动设置: 帧属性*/
	if(ioctl(uvc_video_fd,VIDIOC_S_FMT,&format)) /*设置摄像头的属性*/
	{
		printf("摄像头格式设置失败!\n");
		return -2;
	}
	
	Image_Width=format.fmt.pix.width;
	Image_Height=format.fmt.pix.height;
		
	printf("摄像头实际输出的图像尺寸:x=%d,y=%d\n",format.fmt.pix.width,format.fmt.pix.height);
	if(format.fmt.pix.pixelformat==V4L2_PIX_FMT_YUYV)
	{
		printf("当前摄像头支持YUV格式图像输出!\n");
	}
	else
	{
		printf("当前摄像头不支持YUV格式图像输出!\n");
		return -3;
	}

	/*3. 请求缓冲区: 申请摄像头数据采集的缓冲区*/
	struct v4l2_requestbuffers req_buff;
	memset(&req_buff,0,sizeof(struct v4l2_requestbuffers));
	req_buff.count=4; /*预设要申请4个缓冲区*/
	req_buff.type=V4L2_BUF_TYPE_VIDEO_CAPTURE; /*视频捕获设备*/
	req_buff.memory=V4L2_MEMORY_MMAP; /*支持mmap内存映射*/
	if(ioctl(uvc_video_fd,VIDIOC_REQBUFS,&req_buff)) /*申请缓冲区*/
	{
		printf("申请摄像头数据采集的缓冲区失败!\n");
		return -4;
	}
	printf("摄像头缓冲区申请的数量: %d\n",req_buff.count);

	/*4. 获取缓冲区的详细信息: 地址,编号*/
	struct v4l2_buffer buff_info;
	memset(&buff_info,0,sizeof(struct v4l2_buffer));
	int i;
	for(i=0;i
                     -->
               
  • 视频监控
    +关注

    关注

    17

    文章

    1633

    浏览量

    63481
  • Linux
    +关注

    关注

    83

    文章

    9019

    浏览量

    204307
  • 服务器
    +关注

    关注

    10

    文章

    5803

    浏览量

    81232
  • HTTP
    +关注

    关注

    0

    文章

    342

    浏览量

    29706
收藏 人收藏

    评论

    相关推荐

    LINUX环境编程指南资料合集

    程、多线程、IPC、同步互斥等,全文同样图文并茂,确保每一个知识点都能在图画中得到解答。  第 6 章是 Linux 应用编程的高级部分,在前面章节的基础上着重介绍了跟 Linux视频相关的概念和
    发表于 07-11 15:30

    远程手机实时监控视频

    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 深圳市中现科技有限公司研制的专业软件、硬件可广泛用于手机直播、手机实时监控视频、手机远程监控系统
    发表于 02-03 10:26

    家庭视频监控的技术前景及方案应用

    对家庭安全防范的意识得到空前强化。家庭网络视频监控,凭借着技术上与IP网络的无缝兼容以及所提供的远程实时视频处理能力和其他网络应用,一出现就以每年40%的增长速度迅速成为市场增长最快的一个产品,其
    发表于 02-26 16:40

    手机视频监控|收件视频监控系统|

    的发展,人们对自己的生活关注度也会越来越高,各类行业的监控自然需求也不断增加,比如,家庭里边有老人或者小孩需要关注,厂房监控,车载监控等等。由成都宇鸿科技自主研发的YH系列3G视频服务器,可用于家庭监控
    发表于 08-19 17:22

    基于嵌入式Linux的网络视频监控系统研究

    基于嵌入式Linux的网络视频监控系统研究
    发表于 08-20 09:37

    嵌入式Linux网络视频监控系统研究与实现

    嵌入式Linux网络视频监控系统研究与实现
    发表于 08-20 10:00

    stm32的局域网内视频监控课题

    小弟刚入门stm现在在弄一个 stm32F103+OV7670+ENC28J60的局域网内网页视频监控摄像头已经可以在LCD屏上显示图像了ENC28J60网卡也可以连接上PC了 可以在网页上控制板上
    发表于 12-10 17:13

    如果用裸机能实现视频监控,并通过无线网络传到手机上吗

    向各位大神求教,如果用裸机能实现视频监控,并通过无线网络传到手机上吗,我linux没学过,有人建议我从裸机编程开学,但是老师要求出成果啊~~
    发表于 03-10 19:20

    高清视频监控离我们有多远

    高清视频监控离我们有多远高清视频监控及其产品正越来越多地充斥中我们的视野,在可见的将来,估计监控将在很多程度上对视频监控应用模式产生影响。一直以来,以CCD为代表的图像传感器技术经过不断的发展、完善
    发表于 09-26 15:18

    韦东山linux视频教程【非常详细】

    零基础学习,给大家推荐一下ARM裸机开发实战嵌入式Linux驱动篇——深度开发之现场从零编写工作中的驱动嵌入式Linux项目篇:数码相框&视频监控&电源管理
    发表于 01-01 20:56

    韦东山linux视频

    实战嵌入式Linux驱动篇——深度开发之现场从零编写工作中的驱动嵌入式Linux项目篇:数码相框&视频监控&电源管理
    发表于 12-21 23:49

    移动视频语音通话/全平台视频监控/视频直播源码出售

    客户端、移动客户端,Web监控客户端。移动端支持android ios端, 手机端支持对视频的放大/缩小/旋转等云台控制支持web网页端(无需安装任何插件打开网页即可浏览。)各个平台都支持详尽的视频
    发表于 03-19 15:53

    移动视频语音通话/全平台视频监控/视频直播源码转让

    android ios端, 手机端支持对视频的放大/缩小/旋转等云台控制支持web网页端(无需安装任何插件打开网页即可浏览。)各个平台都支持详尽的视频监控功能是一套完整的可直接运营的视频监控平台抛去
    发表于 05-18 13:09

    【OK210申请】WEB远程视频实时监控系统

    的路程, 同时利用OK210做一个远程视频监控项目描述:1.先熟悉开发板硬件电路,进行基本例程的测试 (第1周)2.开始搭建编译环境;搭建交叉开发环境 (第2至3周)3.对基础例程与硬件进行深入
    发表于 06-25 14:05

    【OK210申请】摄像头_WIFI_3G_ALSA驱动_视频监控

    申请理由:我使用过2440、210和4412开发板,对C,C++编程都比较熟练,Linux的学习也比较多,对Linux也比较熟悉,所以我个人有一定的优势。通过实现视频监控的功能的过程提高自己的能力和
    发表于 06-27 22:47

    【OK210申请】基于嵌入式Linux的远程视频监控系统

    申请理由:贵公司,你好,我是来自福建省一所高校的电子信息工程的学生,我的项目是基于嵌入式Linux的远程视频监控系统,但是一直苦于寻找合适的开发板来学习Linux以及开发我的项目,这个项目是作为我
    发表于 06-28 12:41

    【OK210申请】智能家居视频监控系统

    申请理由:对于一个电子爱好者来说,在玩转STM32之后,我把眼光放在案LINUX上面,希望够自己能够电子设计的这条路上有突破。项目描述:使用有线的方式,做一个监控集成,能智能的开启和关闭视频监控
    发表于 07-17 14:26

    【实战项目一:嵌入式视频监控系统】【初学必学】

    网页视频监控系统实战项目(驱动移植部分一)2.【创科之龙】嵌入式网页视频监控系统实战项目(驱动移植部分二)3.【创科之龙】手把手移植servfox移植服务器端----已录制完毕4.【创科之龙】嵌入式网页
    发表于 07-19 18:18

    【OK210申请】视频监控系统

    申请理由:用开发板做一个视频监控系统, 视频监控系统是安全防范系统的组成部分,它是一种防范能力较强的综合系统。视频监控以其直观、方便、信息内容丰富而广泛应用于许多场合。应用性较强。项目描述:在
    发表于 07-25 23:44

    【OK210申请】基于OK210开发板的视频网络监控设备

    申请理由:最近想要完成一下视频网络监控设备的开发,为后期工作需要做准备,之前学过嵌入式,移植过u-boot ,Linux内核,rootfs,项目描述:完成了Linux系统在ARM平台Nand
    发表于 07-29 09:06

    【OK210申请】基于arm嵌入式的监控智能小车的设计与实现

    小车的设计与实现该项目的的功能是:1、手机app操作小车的运动2、手机app可观看到小车摄像头发回的视频手机app实现用到的是Qt开发环境手机移动终端对小车的控制是基于linux网络编程以及
    发表于 08-03 09:40

    labview生成的应用程序有没有网页监控的功能?

    各位大神、大佬,请教一下。我现在有一个利用labview做一个风电远程监控项目,要在风机旁边控制室内用一台电脑建一个服务器,服务器是用labview编成的安装文程序;在远程可以打开网页,访问服务器,对风机进行监控。请问如何解决?
    发表于 08-27 09:13

    【学院新上线课程】加薪必备项目教程:视频监控

    价值的·找工作多次碰壁,希望能快速拥有一定嵌入式项目经验,从而找到满意工作的·工作中需要了解和接触视频监控方面的 那本课程将会非常适合您!它有几个特点:1/涉及三大块知识:摄像头驱动及使用、声卡驱动
    发表于 03-09 20:20

    模拟摄像机和网络监控摄像机画面嵌入网页直播

    的模拟视频信号转换成数字信号,进而将其储存在计算机里。 模拟摄像机所需要的硬件和软件: 监控设备硬件软件备注 模拟摄像机1. 视频采集卡1. 800Li直播编码软件1. 嵌入网页观看2. 硬件服务器
    发表于 06-16 11:09

    【终极福利】《利用LabVIEW轻松玩转远程视频监控》04 LabVIEW编程本质

    `【终极福利】《利用LabVIEW轻松玩转远程视频监控》04 LabVIEW编程本质本教程利用LabVIEW轻松实现远程电脑屏幕监控、远程视频监控、远程键盘监控、后台运行等功能。 实现效果如下所示
    发表于 06-26 07:47

    linux详细资料视频教程

    【整理】韦东山视频教程集合整理出来,一起学习ARM裸机开发实战嵌入式Linux驱动篇——深度开发之现场从零编写工作中的驱动嵌入式Linux项目篇:数码相框&视频监控&电源管理
    发表于 08-27 14:14

    【NanoPC-T4试用申请】智能场景监控系统

    项目名称:智能场景监控系统试用计划:1.申请理由:本人熟悉Ubuntu Linux操作系统,熟悉ARM嵌入式QT编程,熟悉Opencv的使用,之前在公司用TI的AM3522(Cortex-A8)编写
    发表于 09-12 16:48

    为什么USB摄像头Motion监控网页会不显示

    :8081,不显示视频监控的界面,闪一下,根本打不开网页,但是有时会提示下载文件。输入ip:8080可以进入配置查看的界面。
    发表于 07-18 02:31

    基于最新DaVinci平台的视频监控服务器的设计与实现

    本设计以TI公司DaVinci系列芯片作为硬件平台,结合嵌入式Linux操作系统,实现了基于TMS320DM355的视频服务器。本文阐述了各硬件模块的选型与功能,以及服务器的软件架构与实现。同时给出
    发表于 07-19 06:19

    如何利用B/S模式设计嵌入式视频监控系统?

    的安防系统中[2]。本文设计了一种具有用户零维护、价格低廉、性能稳定等特点的嵌入式视频监控系统。该系统以ARM处理器S3C2440和嵌入式Linux操作系统为核心平台,通过USB摄像头采集视频
    发表于 07-30 06:24

    什么是移动视频监控技术?

    随着移动通信技术的飞速发展和移动通信网络技术的广泛应用,移动视频监控技术(mobile video supervision,MVS)也随之得到发展。相比于有线视频监控技术,MVS具有更高的应用灵活性,适合移动监控和远程监控,部署方便。因此,MVS系统在防暴、军事、气象、环保等
    发表于 08-09 06:52

    项目分享】教你如何运用Arduino通过网页实时控制伺服电机

    `本项目将教你如何通过Arduino结合Websocket在网页浏览器上控制伺服电机。所需元件Arduino UNO x 1PHPoC Wifi扩展板 x 1伺服电机 x 1导线若干介绍为了将
    发表于 09-26 11:16

    视频监控防雷器怎么安装?

    主要用于视频监控系统对视频监控设备(电源线、云台控制线、视频线)的防护;广泛应用于银行视频监控系统,小区安防系统; 学校、企业、道路安全防护等视频监控设备。
    发表于 11-05 09:02

    Linux下组态,快速实现监控系统

    `基于紫金桥跨平台跨平台实时数据库,可Linux系统下快速实现一个监控系统。1、组态流程和传统windows组态差不多,所以上手很快。2、不仅软件支持跨平台,工程也支持跨平台,windows和
    发表于 12-23 15:46

    嵌入式Linux平台怎么实现视频采集发送端?

    随着嵌入式技术的迅猛发展和Linux在信息行业中的广泛应用,视频采集与传输系统作为远程视频监控、可视电话会议和工业自动控制领域的一项核心技术,近年来已经得到了飞速的发展。本文在基于嵌入式Linux
    发表于 03-16 07:57

    智能交通视频监控系统

    让ITS通讯更高效、更安全智能交通视频监控一般由收费站监控、道路治安卡口监控、隧道监控、停车广场、服务 区、变电所监控等部分组成。
    发表于 05-08 08:04

    Linux视频资料

    根据自己的需求找自己需要的资料主题:快速上手linux 视频资料讲解内容:环境搭建、常见linux命令链接:http://www.makeru.com.cn/live/1392_197.html?s
    发表于 06-08 10:18

    视频监控融入到远程物联网平台的问题

    如题,目前在油田现场,通常使用IOT智能仪表将现场的流量、压力、温度传输至物联网客户端,如果将视频监控这个功能融入(类似于网页的子菜单),这样改造大概需要准备多大的人力物力,耗费多少时间,如果重新
    发表于 03-23 21:36

    求一个基于ARM-Linux和CDMA的远程视频监控系统

    求一个基于ARM-Linux和CDMA的远程视频监控系统
    发表于 05-27 06:37

    求分享一种Linux嵌入式视频直播监控系统的设计和实现方案

    本文介绍了一种Linux嵌入式视频直播监控系统的设计和实现方案。
    发表于 06-03 07:00

    视频监控市场有哪些新特点?视频监控主要问题有哪些?

    视频监控相关技术进展怎样?视频监控市场有哪些新特点?视频监控主要问题有哪些?
    发表于 06-03 06:37

    如何在视频监控系统中使用FPGA进行视频处理?

    如何在视频监控系统中使用FPGA进行视频处理?
    发表于 06-07 06:12

    视频监控系统的现状如何?智能视频监控系统有哪些应用实例?

    视频监控系统的现状如何?智能视频监控系统实施的难点是什么?智能视频监控系统有哪些应用实例?
    发表于 06-07 06:51

    请问怎样去设计一种远程视频监控系统?

    一种基于ARM-Linux和CDMA的远程视频监控系统设计
    发表于 06-08 10:34

    物联网温湿度显示控制项目网页、Android双端显示&搭载linux平台网关&MQTT通信)精选资料分享

    一个小型物联网项目网页端使用django,手机端Android开发,云服务器搭载数据库+mqtt服务器,底层esp32使用microPython开发,有独立设计的物联网网关搭在linux上实现mqtt消息订阅发送以及数据存储,做到物到户的通信。
    发表于 07-27 06:29

    【教程】宋宝华move to Linux 3·x for ARM(视频教程+PPT课件+项目源代码)

    move to Linux 3·x for ARM,最全的学习资料,涵盖了系统移植的视频教程、PPT课件、项目源代码。回复帖子查看资料下载链接:[hide][/hide]
    发表于 08-19 11:50

    教你做一个用嵌入式linux开发板和web端来实现的视频监控系统

    本文章将教你做一个用嵌入式linux开发板和web端来实现的视频监控系统。代做/辅导:毕业设计/课程设计(QQ:914406940)知识点:嵌入式 Linux V4L2 socket Web
    发表于 11-05 07:38

    嵌入式视频监控的相关资料分享

    嵌入式视频监控目前,嵌入式系统在视频监控中的应用越来越广泛。伴随着网络的强大功能,视频监控更侧重网络监控方案,要求体积小、远程化、成本低、功耗小、操作界面人性化等。本系统基于嵌入式Linux 平台
    发表于 11-08 07:10

    嵌入式智能家居项目视频监控相关资料分享

    嵌入式智能家居项目视频监控Video content is taking over the Internet. The trend began long ago and the most
    发表于 12-23 07:36

    什么是Linux系统编程

    系统编程框架学习方法、内核向用户空间提供的接口或者说是函数,系统调用接口,学习这些接口的功能以及相关的参数和返回值等。嵌入式学习之Linux系统编程视频教程在线观看
    发表于 12-23 07:30

    linux应用编程和网络编程视频分享

    linux进程全解-3.4.linux应用编程和网络编程第4部分 互联网课程...
    发表于 12-23 08:27

    Linux下驱动的使用

    图片的保存4、浏览功能的实现三、视频监控代码分析1、实时监控2、抓拍图片3、浏览四、家电控制1、家电控制内容2、LED控制方法3、Linux下驱动的使用三、整合项目一、视频监控基础1、摄像头USB摄像头,支持YUYV格式。YUV , JPG,RGB2、v4l2V
    发表于 02-16 07:19

    网页视频播放器代码

    网页视频播放器代码
    发表于 01-10 11:23 102次下载
    <b>网页</b><b>视频</b>播放器代码

    Linux嵌入式视频直播监控系统

    本文以嵌入式处理器和Linux 为开发平台,利用嵌入式软件开发技术,Linux 下图像采集技术,MPEG-4 压缩技术,RTP 传输技术,Linux 帧缓冲机制等设计并实现了嵌入式视频直播监控
    发表于 08-13 10:02 12次下载

    基于LINUX与H.264的安全视频监控系统

    采用DSP TMS320C6711和ARM920T, 设计并实现了支持H.264加密的安全视频监控系统。提出了一种将高级加密标准AES与H.264相结合的安全视频加密系统设计方案,并在ARM—Linux嵌入式平台下予
    发表于 08-29 08:39 18次下载

    Linux动态扩展MPEG-4智能视频监控系统

    介绍了一种基于Linux 操作系统的动态扩展MPEG-4 智能视频监控系统。该智能视频监控系统采用主从设计方式实现动态扩展。采用运动物体检测跟踪算法对被监控物体进行智能检测和跟
    发表于 12-23 15:34 33次下载

    Linux下C编程电子书

    Linux下C编程电子书 网络编程摘要  通过使用套接字来达到进程间通信目的编程就是网络编程。  代码,开发工具,数据库,服务器架设和网页设计这5部
    发表于 03-10 14:11 145次下载

    基于ARM9的网络视频监控系统设计与实现

    针对传统监控系统无法联网、维护困难、成本高等不足,运用嵌入式技术和图像处理技术,设计了一种基于ARM9的网络视频监控系统。系统在Linux平台下利用Video4Linux进行视频图像采集,
    发表于 07-25 14:56 44次下载
    基于ARM9的网络<b>视频</b><b>监控</b>系统设计与实现

    ARM_Linux实现无线视频监控系统

    ARM_Linux实现无线视频监控系统资料
    发表于 11-18 16:35 3次下载

    LINUX网络编程

    linux开发编程教程资料——LINUX网络编程,感兴趣的小伙伴们可以看一看。
    发表于 08-23 16:23 8次下载

    Linux网络编程

    linux开发编程教程资料——Linux网络编程,感兴趣的小伙伴们可以看一看。
    发表于 08-23 16:23 19次下载

    linux-网络编程-socket编程

    linux开发编程教程资料——linux-网络编程-socket编程,感兴趣的小伙伴们可以看一看。
    发表于 08-23 16:23 16次下载

    视频监控系统改造项目技术方案

    视频监控系统改造项目技术方案
    发表于 02-07 18:32 1次下载

    基于嵌入式视频监控服务器的搭建

    为实现对商店、车库等小范围区域的监控,设计了一个基于嵌入式Linux视频监控系统,基于ARM+Linux的嵌入式系统作为监控系统的服务器,完成视频数据的采集、存储和传输:以PC、手机或者PDA等
    发表于 11-13 10:37 8次下载
    基于嵌入式<b>视频</b><b>监控</b>服务器的搭建

    LINUX系统教程之如何在Linux系统下进行编程

    本文档的主要内容详细介绍的是LINUX系统教程之如何在Linux系统下进行编程主要内容包括了:程序开发过程 ,Linux编程环境和开发工具 ,Linux下C语言编程Linux下C++语言编程Linux下JAVA语言
    发表于 12-18 19:09 9次下载

    基于ARM和Linux的嵌入式远程视频监控系统的设计

    基于ARM和Linux的嵌入式远程视频监控系统的设计(嵌入式开发板如何刷程序)-本文根据大楼电梯视频监控系统的要求,提出了一种基于嵌入式技术的网络视频监控系统实现方案。系统以嵌入式 Linux
    发表于 07-30 12:56 7次下载
    基于ARM和<b>Linux</b>的嵌入式远程<b>视频</b><b>监控</b>系统的设计

    基于嵌入式Linux视频监控系统毕业论文

    基于嵌入式Linux视频监控系统毕业论文(培训嵌入式开发软件)-基于嵌入式Linux视频监控系统毕业论文
    发表于 07-30 13:46 25次下载
    基于嵌入式<b>Linux</b><b>视频</b><b>监控</b>系统毕业论文

    韦东山第3期嵌入式Linux项目-视频监控-1-v4l2视频框架分析

    韦东山第3期嵌入式Linux项目-视频监控-1硬 件 :电脑、 JZ2440 开发板、 UVC 摄像头(推荐使用) 系 统 : Ubuntu9.10// 即光盘提供的那个虚拟机系统Uboot
    发表于 11-02 09:21 17次下载
    韦东山第3期嵌入式<b>Linux</b><b>项目</b>-<b>视频</b><b>监控</b>-1-v4l2<b>视频</b>框架分析

    毕设教程:基于嵌入式Linux和Web实现的视频监控系统(Arm/树莓派/jetson)

    本文章将教你做一个用嵌入式linux开发板和web端来实现的视频监控系统。代做/辅导:毕业设计/课程设计(QQ:914406940)知识点:嵌入式 Linux V4L2 socket Web
    发表于 11-02 14:21 14次下载
    毕设教程:基于嵌入式<b>Linux</b>和Web实现的<b>视频</b><b>监控</b>系统(Arm/树莓派/jetson)

    嵌入式视频监控

    嵌入式视频监控目前,嵌入式系统在视频监控中的应用越来越广泛。伴随着网络的强大功能,视频监控更侧重网络监控方案,要求体积小、远程化、成本低、功耗小、操作界面人性化等。本系统基于嵌入式Linux 平台
    发表于 11-02 21:06 31次下载
    嵌入式<b>视频</b><b>监控</b>

    Linux编程入门

    Linux编程入门
    发表于 02-16 14:55 5次下载

    基于嵌入式Linux视频的网络监控系统设计

    基于嵌入式Linux视频的网络监控系统设计 摘要:介绍了一种采用Browser/Server结构、在视频服务器上内置一个嵌入式Web服务器、基于嵌入式Linux视频的网络监控系统。重点
    发表于 10-13 14:39 532次阅读
    基于嵌入式<b>Linux</b><b>视频</b>的网络<b>监控</b>系统设计

    基于ARM的移动视频监控系统

    基于ARM的移动视频监控系统 摘要:将嵌入式Linux和无线网络引入到视频监控系统,阐述了系统的硬件组成;介绍了USB无线网卡驱动实现的过程;从嵌入式Linux开发环境的
    发表于 03-27 10:24 743次阅读
    基于ARM的移动<b>视频</b><b>监控</b>系统

    基于嵌入式Web网页控制的远程监控模块

    基于嵌入式Web网页控制的远程监控模块
    发表于 05-27 16:13 1787次阅读
    基于嵌入式Web<b>网页</b>控制的远程<b>监控</b>模块

    基于ARM的视频监控系统的设计

    提出一种基于ARM 嵌入式开发平台视频监控的实现方案。通过V4L2 在Linux 下构建视频图像采集和显示,然后使用servfox 和spcaview 构建视频服务器,系统可在Linux 和Windows 操作系统下通过窗口
    发表于 11-05 01:56 2685次阅读
    基于ARM的<b>视频</b><b>监控</b>系统的设计

    基于ARM11+Linux的无线视频监控系统

    本文设计了一种基于ARM11+Linux 系统组成的无线视频监控系统。为提高运算速度,系统采用ARM11 微处理器S3C6410 作为主处理器,采用OV9650 摄像头作为图像采集设备,用硬编码方式对图像数
    发表于 08-07 14:37 1.3w次阅读
    基于ARM11+<b>Linux</b>的无线<b>视频</b><b>监控</b>系统

    基于Linux嵌入式Web太阳能视频监控系统

    综合考虑本系统采用B/S方式。监控系统以ARM11微处理器(SC6410)为硬件核心,嵌入式Linux为软件核心的综合平台方案。在此平台上设计了基于Linux嵌入式Web太阳能监控系统。此监控系统以
    发表于 03-30 14:20 1421次阅读
    基于<b>Linux</b>嵌入式Web太阳能<b>视频</b><b>监控</b>系统

    基于嵌入式Linux的无线视频监控系统设计

    视频捕获模块是整个视频采集终端的核心。它通过嵌入式Linux操作系统调度V4L (video4linux)和影像设备驱动程序来完成视频捕获。V4L 是Linux影像系统与嵌入式影像
    发表于 03-30 13:33 2539次阅读
    基于嵌入式<b>Linux</b>的无线<b>视频</b><b>监控</b>系统设计

    新型城市视频监控项目模式:安防PPP

    安防PPP是一种新型城市视频监控项目模式:1.政府及社会资本以一定比例成立项目公司;2.项目公司全程参与项目融资、投资、建设和运维;3.项目初始资金来自政府财政补贴、银行贷款、其他股权类投资等;4.项目营运资金来自政府按项目进度给予的
    发表于 05-01 15:52 1873次阅读
    新型城市<b>视频</b><b>监控</b><b>项目</b>模式:安防PPP

    基于嵌入式Linux平台构建视频监控系统的设计过程详解

    目前,嵌入式系统在视频监控中的应用越来越广泛。伴随着网络的强大功能,视频监控更侧重网络监控方案,要求体积小、远程化、成本低、功耗小、操作界面人性化等。本系统基于嵌入式Linux 平台上利用USB 摄像头采集视频图像,通过视频图像压缩及结合网络进行
    发表于 09-11 17:50 1268次阅读
    基于嵌入式<b>Linux</b>平台构建<b>视频</b><b>监控</b>系统的设计过程详解

    Linux和CDMA的远程视频监控系统

    关键词:arm , CDMA , linux , 视频监控 CDMA(码分多址)无线网络具有覆盖面广,高效、低成本的特点,CDMA网络的数据传输速率可达200kb/s,这里开发的嵌入式远程视频监控
    发表于 03-06 17:48 253次阅读

    Linux下线程编程

    Linux下线程编程
    的头像 发表于 08-24 15:42 1381次阅读

    Linux下摄像头应用编程

    V4L2是Video for linux2的简称,为linux中关于视频设备的内核驱动。在Linux中,视频设备是设备文件,可以像访问普通文件一样对其进行读写,摄像头在/dev/video*下,如果
    的头像 发表于 08-26 21:39 1354次阅读
    <b>Linux</b>下摄像头应用<b>编程</b>

    Linux下基于HTTP网页视频监控

    超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。请求和响应消息的头以ASCII形式给出;而消息内容则具有一个类似MIME的格式。这个简单模型是早期Web成功的有功之臣,因为它使开发和部署非常地直截了当。
    的头像 发表于 08-31 08:56 1513次阅读
    <b>Linux</b>下基于HTTP<b>网页</b><b>视频</b><b>监控</b>

    Linux驱动开发_视频广告机开发、Linux进程编程介绍

    介绍Linux下进程编程、进程的创建、进程通信、完成广告机项目代码。
    的头像 发表于 09-17 15:49 479次阅读
    <b>Linux</b>驱动开发_<b>视频</b>广告机开发、<b>Linux</b>进程<b>编程</b>介绍

    Linux开发_介绍目录编程、标准文件编程

    介绍Linux下目录编程、标准文件编程Linux系统文件接口编程、GDB调试等知识点。
    的头像 发表于 09-17 15:42 443次阅读
    <b>Linux</b>开发_介绍目录<b>编程</b>、标准文件<b>编程</b>

    如何在Linux端完成搜索、截图、访问网页等功能

    看看我们如何在Linux端,完成搜索、截图、访问网页等等功能
    发表于 12-27 12:14 627次阅读

    下载硬声App