MJPG简介:
  MJPG是MJPEG的缩写,但是MJPEG还可以表示文件格式扩展名.
  MJPEG
  全名为 “Motion Joint Photographic Experts Group”,是一种视频编码格式,
  Motion JPEG技术常用与闭合电路的电视摄像机的模拟视频信号“翻译”成视频流,并存储在硬盘上。典型的应用如数字视频记录器等。MJPEG不像MPEG,不使用帧间编码,因此用一个非线性编辑器就很容易编辑。MJPEG的压缩算法与MPEG一脉相承,功能很强大,能发送高质图片,生成完全动画视频等。但相应地,MJPEG对带宽的要求也很高,相当于T-1,MJPEG信息是存储在数字媒体中的庞然大物,需要大量的存储空间以满足如今多数用户的需求。因此从另一个角度说,在某些条件下,MJPEG也许是效率最低的编码/解码器之一。
  MJPEG 是 24-bit 的 “true-color” 影像标准,MJPEG 的工作是将 RGB 格式的影像转换成 YCrCB 格式,目的是为了减少档案大小,一般约可减少 1/3 ~ 1/2 左右。
  MJPEG与MJPG的区别:
  1、mjpeg是视频,就是由系列jpg图片组成的视频。
  2、MJPG是MJPEG的缩写,但是MJPEG还可以表示文件格式扩展名.

1.硬件与驱动

1.1用到的工具材料

  • 树莓派3B+
  • PC电脑
  • USB摄像头

1.2检查是否存在USB摄像头设备

输入以下指令:

pi@raspberrypi:~ $ lsusb

可以看到usb摄像头的一些信息。见红框;

或则输入:

pi@raspberrypi

可以看到 红框中有 video0 设备 也可以说明 usb摄像头 正常运行

2 .安装MJPG-Streamer

依次通过以下命令 安装 (直接复制粘贴即可)

pi@raspberrypi:~ $ sudo apt-get install cmake libjpeg8-dev
pi@raspberrypi:~ $ wget https://github.com/jacksonliam/mjpg-streamer/archive/master.zip
pi@raspberrypi:~ $  unzip master.zip pi@raspberrypi:~ $ cd mjp*g-* pi@raspberrypi:~/mjpg-streamer-master $ cd mjpg-*
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental $ make
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimentalsudo make install
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental cd $home
pi@raspberrypi:~ $

上面的包源已经发生变化 可前往 https://github.com/Five-great/mjpg-streamer 下载并解压

或者 通过 git 方式 无需解压

git clone  https://github.com/Five-great/mjpg-streamer.git

执行如下操作

pi@raspberrypi:~ $ sudo apt-get install cmake libjpeg8-dev
pi@raspberrypi:~ $ git clone https://github.com/Five-great/mjpg-streamer.git
pi@raspberrypi:~ $ cd mjp*g-*
pi@raspberrypi:~/mjpg-streamer-master $ cd mjpg-*
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental $ make
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimentalsudo make install
pi@raspberrypi:~/mjpg-streamer-master/mjpg-streamer-experimental cd $home
pi@raspberrypi:~ $

一路没报错 就安好了

下面我们先来分析一下mjpg_streamer这个功能的结构:

Mjpg_streamer.c /* 主程序主要运行如下几个部分 */
input_init(); /* 输入相关的初始化 */

output_init(); /* 输出相关的初始化 */
input_run(); /* 运行输入函数,采集输入数据*/
output_run(); /* 输出初函数,把数据收集起来通过网络socket发送出去 */

3.启动 MJPG-Streamer

3.1 输入以下命令

pi@raspberrypi: ~ $ /usr/local/bin/mjpg_streamer -i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 1280x720" -o "/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www"

见到如下便是成功了

3.2参数说明:

-i "/usr/local/lib/mjpg-streamer/input_uvc.so -n -f 30 -r 1280x720"

-i 输入

input_uvc.so:UVC输入组件

-f 30 :表示30帧

-r 1280*720 :分辨率

-y :YUV格式输入(有卡顿),不加表示MJPG输入(需要摄像头支持)

-o "/usr/local/lib/mjpg-streamer/output_http.so -p 8080 -w /usr/local/share/mjpg-streamer/www"

-o 输出

output_http.so :网页输出组件

-w www : 网页输出

-p 8080 :端口 8080

-d 1000 : 时间1S

4.实时视频接收

1)可以直接打开网址 http://<树莓派ip>:<port>/javascript.html

2) 创建一个.html 文件 就可以访问

index.html

<!DOCTYPE html>

视频效果:

减少USB 1.1 2.0 端口驱动程序延时_树莓派 USB摄像头 实现网络监控( MJPG-Streamer)...相关推荐

  1. 减少USB 1.1 2.0 端口驱动程序延时_毫州USB水杯,创意氢水壶批发

    佛山市普脉经生物科技有限公司为您详细解读hbsOEp毫州USB水杯的相关知识与详情,那么富氢水到底有何感化呢? 正在细胞程度上,氢是地球上丰硕.多样化的元素之一.据研究表白,氢气首先感化是抗氧化.人体 ...

  2. 减少USB 1.1 2.0 端口驱动程序延时_旅行伴侣 紫米65W单USB-C口PD快充头 双十一不可错过数码单品好物...

    作为即将来临的一年一度购物狂欢节-双十一想必大家再熟悉不过,那么如何买到让自己称心如意.实惠好用的产品一度成为难倒购物狂人的一大壁垒.特别是在数码圈,各色各样琳琅满目的数码产品更是让购买者眼花缭乱,, ...

  3. 另外一种方式:用USB摄像头实现网络监控

    另外一种方式:用USB摄像头实现网络监控 joyhope 5 主题 0 好友 300 积分 二级RPier 该用户从未签到 银元 75 块 声望 2 点 票子 178 张 精华 0   发消息 沙发 ...

  4. linux普通用户libusb访问usb,linux – 使用libusb-1.0作为非root用户访问USB设备

    我试图在RHEL5上作为非root用户与USB设备连接.该设备是一个GPIO接口(其文档可在 http://www.xdimax.com/sub20/sub20.html找到),它使用libusb-1 ...

  5. 树莓派+USB摄像头进行网络监控—MJPG-Streamer

    一.硬件材料 1.树莓派3或3B+ 2.电脑 3.USB摄像头 二.检查树莓派是否已加载USB摄像头 输入命令行 also usb 或者输入 ls /dev 三.安装NJPG-Streamer 依次输 ...

  6. linux usb 总线驱动程序,Linux下的USB总线驱动

    一.USB理论 1.      USB概念概述 USB1.0版本速度1.5Mbps(低速USB) USB1.1版本速度12Mbps(全速USB)  USB2.0版本速度480Mbps(高速USB) U ...

  7. usb hub区分端口_树莓派上 USB 子系统拓扑浅析

    [注释]以下实验基于 RaspberryPi 3B. 参考 "树莓派官网"对 USB 子系统的描述如下: The number and type of USB ports on R ...

  8. esxi.主机配置上联端口_为什么现代的电脑机箱仍然具有USB 2.0端口?

    esxi.主机配置上联端口 With USB 3.0 becoming more prevalent with each passing year now, you may have found yo ...

  9. 将设备插入usb2.0端口_将鼠标插入USB 3.0端口有什么好处?

    将设备插入usb2.0端口 When you are serious about online gaming, you look for every edge that you can find. T ...

最新文章

  1. ABP官方文档翻译 9.2 Entity Framework Core
  2. oracle Schema Object Dependencies
  3. pytorch 笔记:torchsummary
  4. Linux打印指定的行范围
  5. yolov4论文_YOLOv4论文详细解读
  6. Linux: Nginx proxy_pass域名解析引发的故障
  7. 第一个一千行总结-数据结构C复习--知识点总结1--一到四章
  8. 三星识别文字_比亚迪电子助力三星Galaxy Note 10系列霸气首发!
  9. 面试官系统精讲Java源码及大厂真题 - 25 整体设计:队列设计思想、工作中使用场景
  10. Mybatis if标签和where标签结合巧妙使用
  11. sqlserver 导入mysql,在项目中迁移MS SQLServer到Mysql数据库,实现MySQL数据库的快速整合...
  12. ERP通用附件管理功能设计与实现
  13. H.264的编解码流程
  14. HDU - 2567 寻梦
  15. cad.net 利用win32api实现不重复打开dwg路径的文件夹(资源管理器)
  16. UML图 | 让你快速学会使用 Visio 绘制时序图(顺序、序列),再也不用担心文档画图问题啦!!
  17. ShowWindow 函数
  18. pyDicom基本使用操作dicom文件
  19. cocos编写农场偷菜小游戏的总结
  20. 在建设和培养技术团队,要有前瞻性

热门文章

  1. VR廉政教育三维H5交互沉浸式展厅可以用来做什么?
  2. vue中添加附件以及表单内表格动态添加的功能实现
  3. 自旋锁和系统锁的使用场景
  4. 深度学习入门极简教程(二)
  5. 2018现如今有哪些歌曲适合婚礼上唱
  6. VC++常用数据类型及其操作详解(非常经典,共同分享)
  7. 二叉树(根节点到任意结点的路径)
  8. xshell 上传文件 速度为0的解决方法
  9. word 表格 划线 画线 横线 原理
  10. 5的2分之1怎么用计算机,【3558的二分之一次方怎么用计算器资讯】3558的二分之一次方怎么用计算器足球知识与常识 - 足球百科 - 599比分...