【imx6ull】视频监控项目(usb摄像头+ffmepeg)

2023-11-02


前言

参考视频:
韦东山老师手把手带你从0开始自己做一个视频监控系统


1、总体方案介绍

这篇文章写的很好,很容易理解了,就不造轮子了
正点原子imx6ull开发板视频监控项目实战系列1: 总体方案介绍

2、配置v4l2驱动与UVC驱动

  1. 因为正点原子的内核源码默认没有开启,UVC设备类驱动,需要自己配置并编译
    在这里插入图片描述

  2. 插入usb摄像头,控制台输出设备信息,证明UVC驱动已经编译成功

    usb 1-1.3: New USB device found, idVendor=0c45, idProduct=64ab usb
    1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb
    1-1.3: Product: Integrated_Webcam_HD usb 1-1.3: Manufacturer: 170428-
    uvcvideo: Found UVC 1.00 device Integrated_Webcam_HD (0c45:64ab)
    input: Integrated_Webcam_HD as
    /devices/platform/soc/2100000.aips-bus/2184200.usb/ci_hdrc.1/usb1/1-1/1-1.3/1-1.3:1.0/input/input3 usb 1-1.4: new high-speed USB device number 4 using ci_hdrc usb 1-1.4:
    New USB device found, idVendor=0bda, idProduct=8179 usb 1-1.4: New USB
    device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1.4: Product:
    802.11n WLAN NIC usb 1-1.4: Manufacturer: Realtek

  3. 查看/dev/video*,有视频类设备文件,证明UVC驱动已经编译成功

3、v4l2应用编程测试摄像头

  1. 测试方案

    将从摄像头获取的图像投射到RGB566显示屏

  2. 移植libjpeg

    因为我的摄像头只支持图像格式:MJPEG,YUV422,而显示屏只支持RGB565,所以需要使用工具将MJPEG转码为RGB565。

  3. v4l2+framebuf应用编程

    特此将libjpeg+v4l2+frambuff+移植过程分享出来

4、ffmepg移植

  1. 简介

    正点原子imx6ull开发板视频监控项目实战系列3:
    ffmpeg

    这篇文章介绍了ffmepeg的用途和对摄像头的拉流方式

  2. 移植
    因为正点原子的文档没有对ffmpeg详细移植步骤,在网络上找了好几个移植描述,但是并不正确,只有这个才是适合我的板子的.
    以下是我做的运行脚本,可直接拷走使用,切记16,17行内容不能分行分行运行,回报错误
    FFmpeg移植-迅为IMX6ULL开发板

      1 #!/bin/bash
      2 ./configure \
      3 --cross-prefix=arm-linux-gnueabihf- \
      4 --enable-cross-compile \
      5 --target-os=linux \
      6 --cc=arm-linux-gnueabihf-gcc \
      7 --arch=arm \
      8 --prefix=/home/sheldon/linux/tool/ffmpeg-install \
      9 --enable-shared \
     10 --disable-static \
     11 --enable-gpl \
     12 --enable-nonfree \
     13 --disable-ffplay \
     14 --enable-swscale \
     15 --enable-pthreads \
     16 --disable-armv5te --disable-armv6 --disable-armv6t2 --disable-x86asm \
     17 --disable-stripping --enable-libx264 \
     18 --extra-cflags=-I/home/sheldon/linux/tool/x264_install/include/ \
     19 --extra-ldflags=-L/home/sheldon/linux/tool/x264_install/lib/ --extra-libs=-ldl
    
    

总结

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【imx6ull】视频监控项目(usb摄像头+ffmepeg) 的相关文章

  • 使用请求验证 SSL 证书

    我正在尝试验证 SSL 但它不起作用 我在浏览器上访问了我想要访问的机密网站 在 Chrome 上 我单击了储物柜 gt 证书 gt 详细信息 gt 复制到文件 gt base64 gt cert cer 我的代码是 test reques
  • 翠儿。让流永远运行

    我对 tweepy python 库比较陌生 我想确保我的流 python 脚本始终在远程服务器上运行 因此 如果有人能够分享如何实现这一目标的最佳实践 那就太好了 现在我正在这样做 if name main while True try
  • 在 Python 中使用 Selenium 处理“接受 Cookie”弹出窗口

    我一直在尝试用硒抓取这个房地产网站的一些信息 但是 当我访问该网站时 我需要接受 cookie 才能继续 这仅在机器人访问网站时发生 而不是在我手动执行时发生 当我尝试通过 xpath 或 id 查找相应的元素时 正如我在手动检查页面时找到
  • Django:如何测试“HttpResponsePermanentRedirect”

    我正在为我的 django 应用程序编写一些测试 在我看来 它使用 HttpResponseRedirect 重定向到其他一些网址 那么我该如何测试呢 姜戈TestCase类有一个方法assertRedirects https docs d
  • 为什么 .setGeometry() 不改变 QWidget 实例的大小?

    我想使用 QWidget 更改 QPushButton 的大小 setGeometry https doc qt io qtforpython 5 PySide2 QtWidgets QWidget html PySide2 QtWidge
  • 如何从 PyCharm 项目中获取我的“exe”[重复]

    这个问题在这里已经有答案了 通过 PyCharm 在 Python 上编写一些项目 我想从中获取一个exe文件 我尝试过 另存为 gt XXX exe 但是 当我尝试执行它时出现错误 此类操作系统不支持该文件 附注 我有win7 x64 它
  • Python BeautifulSoup XML 解析

    我编写了一个简单的脚本来使用 BeautifulSoup 模块解析 XML 聊天日志 标准 soup prettify 工作正常 只是聊天日志中有很多绒毛 您可以在下面看到我正在使用的脚本代码和一些 XML 输入文件 Code import
  • 可以在 TensorFlow 中使用排名相关作为成本函数吗?

    我正在处理偶尔充满异常值的极其嘈杂的数据 因此我主要依靠相关性来衡量我的神经网络的准确性 是否可以明确使用诸如等级相关性 斯皮尔曼相关系数 之类的东西作为我的成本函数 到目前为止 我主要依赖 MSE 作为相关性的代理 我现在面临三个主要障碍
  • 如何限制Django CreateView中ForeignKey字段的选择?

    我有一个沿着这些思路的模型结构 models py class Foo models Model class Bar models Model foo models ForeignKey Foo class Baz models Model
  • Python igraph:从图中删除顶点

    我正在使用安然电子邮件数据集 并尝试删除没有 enron com 的电子邮件地址 即我只想拥有安然电子邮件 当我尝试删除那些没有 enron com 的地址时 一些电子邮件由于某些原因被跳过 下面显示了一个小图 其中顶点是电子邮件地址 这是
  • 定义函数后对其进行修饰?

    I think答案是否定的 但我似乎找不到明确的说法 我有以下情况 def decorated function function functools wraps function def my function print Hello s
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • 创建一个类似于 Tkinter 的表

    我希望创建类似于 Tkinter 中的表格的东西 但它不一定是这样的 例如 我想创建标题 Name1 Name2 Value 并在每个标题下面有几个空白行 然后 我希望稍后用我计算的值或名称的字符串值填充这些行 因此是标签 对于 Name2
  • 在径向(树)网络x图中查找末端节点(叶节点)

    给定下图 是否有一种方便的方法来仅获取末端节点 我所说的端节点是指那些具有一个连接边的到节点 我认为这些有时被称为叶节点 G nx DiGraph fromnodes 0 1 1 1 1 1 2 3 4 5 5 5 7 8 9 10 ton
  • Python:计算数据帧列中所有行中特定字符的实例数

    我有一个包含列 toaddress ccaddress body 的数据框 df 我想迭代数据帧的索引 以获取 toaddress 和 ccaddress 字段中电子邮件地址的最小 最大和平均数量 这是通过计算这两列中每个字段中的 和 的实
  • Matplotlib Scatter - ValueError:RGBA 序列的长度应为 3 或 4

    我正在尝试为我的功能绘制图表 但不断收到此错误 ValueError RGBA sequence should have length 3 or 4 每当我只有 6 种形状时 代码就可以完美运行 但现在我将其增加到 10 种 它就不起作用了
  • Airflow Python 单元测试?

    我想为我们的 DAG 添加一些单元测试 但找不到任何单元测试 有 DAG 单元测试框架吗 有一个端到端的测试框架存在 但我猜它已经死了 https issues apache org jira browse AIRFLOW 79 https
  • Scipy 稀疏 Cumsum

    假设我有一个scipy sparse csr matrix代表下面的值 0 0 1 2 0 3 0 4 1 0 0 2 0 3 4 0 我想就地计算非零值的累积和 这会将数组更改为 0 0 1 3 0 6 0 10 1 0 0 3 0 6
  • 全局变量是 None 而不是实例 - Python

    我正在处理Python 中的全局变量 代码应该可以正常工作 但是有一个问题 我必须使用全局变量作为类的实例Back 当我运行应用程序时 它说 back is None 这应该不是真的 因为第二行setup 功能 back Back Back
  • 异步和协程与任务队列

    我一直在阅读有关 python 3 中的 asyncio 模块的内容 以及更广泛地了解 python 中的协程的内容 但我不明白是什么让 asyncio 成为如此出色的工具 我的感觉是 你可以用协程做的所有事情 通过使用基于多处理模块 例如

随机推荐

  • Http的GET请求与POST请求调用接口

    GET请求 public static String doGet Map
  • FFmpeg,Fplay,clion调试环境搭建

    本系列 以 ffmpeg4 4 源码为准 本文主要讲解如何搭建 ffplay 的CLion调试环境 ffmpeg 在 Linux 环境下更好调试 本文系统是 Ubuntu 18 首先下载 FFmpeg n4 4 1 zip 虽然 FFmpe
  • ESP8266与网络服务器实时通讯

    目前 所有已呈现的通信都是基于请求响应方法的 其中一个实体正在发送请求 另一实体正在发送回响应 但是在某些情况下 您需要ESP8266模块与服务器之间的实时通信 而不仅仅是事务 实时通讯协议 ESP8266流数据 要从ESP8266流传输数
  • 【Ranger】编译问题An Ant BuildException has occured: exec returned: 1

    先看一下报错的信息 ERROR Failed to execute goal org apache maven plugins maven antrun plugin 1 7 run generate version annotation
  • 数学建模竞赛常考四大模型总结【预测模型、分类模型、优化模型、评价模型】

    目录 1 预测模型 1 1 神经网络预测 1 2 灰色预测 1 3 拟合 插值预测 线性回归 1 4 时间序列预测 1 5 马尔科夫链预测 1 6 微分方程预测 1 7 Logistic 回归 逻辑回归 1 8 线性回归 总结 应用场景 2
  • centos7中iptables配置log日志记录所有流量

    CentOS 7 0默认使用的是firewall作为防火墙 使用iptables必须重新设置一下 1 直接关闭防火墙 systemctl stop firewalld service 停止firewall systemctl disable
  • c语言编译器mingw的使用说明,C语言编译器MINGW的使用说明

    在mingw环境中生成和使用dll都是十分方便的 1 生成dll gcc g shared o test dll test c 一直用VS 看现在Eclipse很火 便想弄一下玩玩 用到了MINGW 继而用到了GCC 对GCC相当的不熟悉
  • [JS] Flatten array

    拍平数组 这个在lodash里也是很常见的方法 那自己实现一个看看 普通拍平 const flatten arr gt concat arr map v gt Array isArray v v v 测试 flatten 1 2 3 4 5
  • 【历史上的今天】1 月 16 日:互联网工程任务组(IETF)成立;AMD 收购 NexGen;eBay 的第一位员工出生

    整理 王启隆 透过 历史上的今天 从过去看未来 从现在亦可以改变未来 今天是 2022 年 1 月 16 日 在 25 年前的今天 国家电力公司组建成立 电力是运作着我们生活的基本 国家电力公司成立于 1997 年 1 月 16 日 于 2
  • Text-To-Speech(TTS)语音朗读

    Text To Speech TTS 语音朗读 更新 2010 04 08 来源 互联网 字体 大 中 小 TextToSpeech简称 TTS 是Android 1 6版本中比较重要的新功能 将所指定的文本转成不同语言音频输出 它可以方便
  • 微软消息队列-MicroSoft Message Queue(MSMQ)队列的C#使用

    什么是MSMQ Message Queuing MSMQ 是微软开发的消息中间件 可应用于程序内部或程序之间的异步通信 主要的机制是 消息的发送者把自己想要发送的信息放入一个容器中 我们称之为Message 然后把它保存至一个系统公用空间的
  • 大一上期Python考前复习

    初识Python考试前复习 Python介绍 基本语法 1 赋值语句 2 del语句 3 if 语句 4 for循环语句 4 while循环语句 4 1循环下的语句 数据类型 1 数据可变性 2 数据类型 2 1 格式化输出 3 列表 字典
  • 初阶C语言(1)-6200字带你初识C语言

    目录 前言 如何创建一个项目 第一个C语言程序 基本数据类型 变量与常量 字符串与转义字符 选择语句 循环语句 函数 数组 操作符 关键字 常量和宏 指针 结构体 前言 本节旨在初步认识C语言 有的知识在之后会详细讲 C语言是一门面向过程的
  • Java+SSM+Vue 毕业设计 房屋出租出售管理系统(含源码+论文)

    文章目录 1 项目简介 2 实现效果 2 1 界面展示 3 设计方案 3 1 概述 3 2 系统流程 3 2 1 系统开发流程 3 2 2 操作流程 3 3 系统结构设计 4 项目获取 1 项目简介 Hi 各位同学好呀 这里是M学姐 今天向
  • STL之lexicographical_compare

    lexicographical compare and lexicographical compare 3way the latter is not part of the C standard 功能 Returns true if the
  • pip豆瓣源

    豆瓣源地址 https pypi douban com simple 使用方法 pip install 需要的包名 i https pypi douban com simple 豆瓣源也解决了我使用清华源或阿里源的时候Anaconda下载的
  • 字符数组学习

    有关办公中内容读取和写入的 是很常见的 需要通过移位和偏移 计算每次的地址 再累加运算 一种是字符数组 另一种是字符串常量 它们在内存中的存储位置不同 字符数组可以读取和修改 而字符串常量只能读取不能修改 比如这样字符串 NOVO4CCC6
  • 网络5层体系结构中的数据传输过程

    5层网络体系结构 应用层 运输层 网络层 网际层 数据链路层 物理层 物理层 主要任务 考虑怎样才能在连接各种计算的传输媒体上传输数据比特流 数据链路层 mac层 主要任务 在同一个局域网中 分组怎样从一个主机传送到另一个主机 不经过路由器
  • Java 介绍与环境搭建

    文章目录 Java 介绍与环境搭建 Java 背景介绍 Java 背景故事 Java 三大平台 Java SE Java ME Java EE Java 跨平台工作原理 平台与跨平台 跨平台工作原理 JDK 下载和安装 下载 JDK 安装
  • 【imx6ull】视频监控项目(usb摄像头+ffmepeg)

    文章目录 前言 1 总体方案介绍 2 配置v4l2驱动与UVC驱动 3 v4l2应用编程测试摄像头 4 ffmepg移植 总结 前言 参考视频 韦东山老师手把手带你从0开始自己做一个视频监控系统 1 总体方案介绍 这篇文章写的很好 很容易理