一、安装所需软件

sudo apt-get install gphoto2 v4l2loopback-utils v4l2loopback-dkms ffmpeg

二、Video4Liunx 配置

  • 1.安装完所需的软件后,通过usb将相机链接到pc,相机应设置电脑控制开状态

    终端输入以下命令
sudo modprobe v4l2loopback exclusive_caps=1 max_buffers=2
  • 2.手动加载内核模块(通过modprobe)意味着modprobe 每次重新启动时都必须记住。为确保在系统启动时启用此模块,你需要编辑配置文件/etc/modules;并创建一个新的模块配置文件/etc/modprobe.d/dslr-webcam.conf:

    /etc/modules:

    • 在/etc/modules文件末尾添加dslr-webcam一个新行,如果这个文件全都是注释,只需要在最后一行添加 dslr-webcam。
    sudo vi /etc/modules
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored. dslr-webcam

    使用sudo 创建一个新文件 /etc/modprobe.d/dslr-webcam.conf

    sudo vi /etc/modprobe.d/dslr-webcam.conf
    • 将以下内容添加到该文件中,并保存
    # Module options for Video4Linux, needed for our DSLR Webcam
    alias dslr-webcam v4l2loopback
    options v4l2loopback exclusive_caps=1 max_buffers=2
  • 3.重启后出现perform MOK management

    系统版本:Ubuntu 20.04

    (1)当进入蓝色背景的界面perform mok management后,选择enroll mok,

    (2)进入enroll mok界面,选择continue,

    (3)进入enroll the key 界面 ,选择yes,

    (4)接下来输入你在安装驱动时输入的密码,

    (5)之后跳到蓝色背景的界面perform mok management选择第一个reboot

三、gPhoto2 DSLR测试

  • 1.列出自动检测到的摄像机及其连接的端口。
gphoto2 --auto-detect

  • 2.相机状态摘要
gphoto2  --summary

  • 3.显示在 libgphoto2 数据库中指定的相机和驱动程序能力。用于 --summary 查询摄像机概览。
gphoto2 --abilities

  • 4.gphoto2相关命令
gphoto2

四、DSLR网络摄像头视频测试

  • 捕获一张照片并保存到当前路径下
gphoto2 --capture-image-and-download

  • 相机流式传输视频
gphoto2 --stdout --capture-movie | ffmpeg -i - -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0

# 从相机的图像传感器捕获日期gphoto2
# 将该数据导入ffmpeg,这将 mjpeg 流从中获取ghoto2并将其公开给 Video4Linux 环回设备
  • 推流到srs服务器
# 高清流(libx264或者h264)
gphoto2 --stdout --capture-movie | ffmpeg -re -i - -vcodec libx264 -f flv rtmp://127.0.0.1:1935/myapp/test

ubuntu 中将DSLR相机用作网络摄像头的更多相关文章

  1. 基于opencv网络摄像头在ubuntu下的视频获取

     基于opencv网络摄像头在ubuntu下的视频获取 1  工具 原料 平台 :UBUNTU12.04 安装库  Opencv-2.3 2  安装编译运行步骤 安装编译opencv-2.3  参 ...

  2. Ubuntu安装DroidCamX网络摄像头

    1.安装依赖项 sudo apt-get install gcc make linux-headers-`uname -r` 2.安装 cd /tmp/ bits=`getconf LONG_BIT` ...

  3. 抓住“新代码”的影子 —— 基于GoAhead系列网络摄像头多个漏洞分析

    PDF 版本下载:抓住“新代码”的影子 —— 基于GoAhead系列网络摄像头多个漏洞分析 Author:知道创宇404实验室 Date:2017/03/19 一.漏洞背景 GoAhead作为世界上最 ...

  4. 项目实战:Qt+Ffmpeg+OpenCV相机程序(打开摄像头、支持多种摄像头、分辨率调整、翻转、旋转、亮度调整、拍照、录像、回放图片、回放录像)

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  5. Android IOS WebRTC 音视频开发总结(八十五)-- 使用WebRTC广播网络摄像头视频(下)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  6. Android IOS WebRTC 音视频开发总结(八十三)-- 使用WebRTC广播网络摄像头视频(上)

    本文主要介绍WebRTC (我们翻译和整理的,译者:weizhenwei,校验:blacker),最早发表在[编风网] 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:bl ...

  7. Ubuntu中启用关闭Network-manager网络设置问题!

    Ubuntu中启用关闭Network-manager网络设置问题! [Server版本] 在UbuntuServer版本中,因为只存有命令行模式,所以要想进行网络参数设置,只能通过修改/etc/net ...

  8. ubuntu 12.04 "系统的网络服务与此版本的网络管理器不兼容

    ubuntu 12.04 "系统的网络服务与此版本的网络管理器不兼容“ 2013-05-10 21:18 2271人阅读 评论(0) 收藏 举报 今天上午在实验室一顿乱整,不知道整坏了什么, ...

  9. TVideoGrabber如何将网络摄像头影像实时发布到网络

    在TVideoGrabber中如何将网络摄像头影像实时发布到网络?如何设置正在运行TVideoGrabber的一台电脑,同时通过另一台电脑在网络中实时的观看在线视频呢? 在这里称发送视频流的电脑为“m ...

  10. ubuntu下使用nethogs监控网络流量

    NetHogs是一款小巧免费的开源命令行工具,用来按进程或程序实时统计网络带宽使用率. 对于使用类似于“repo tool”.“depot_tools”等工具checkout源码时非常有用,可以查看当 ...

随机推荐

  1. choices参数

    目录 一:choices参数 1.choices参数作用 2.列举: 3.choices效果 二:choices使用 1.创建字段类型 2.验证choices 3.使用测试脚本 4.将manage.p ...

  2. JAVA中的注解可以继承吗?

    前言 注解想必大家都用过,也叫元数据,是一种代码级别的注释,可以对类或者方法等元素做标记说明,比如Spring框架中的@Service,@Component等.那么今天我想问大家的是类被继承了,注解能 ...

  3. Javascript | 模拟mvc实现点餐程序

    MVC模式是一个比较成熟的开发模式.M是指业务模型,V是指用户界面,C则是控制器,使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.其中,View的定义比较清晰,就是用 ...

  4. C#代码扫描工具Sonarqube + Win10+SqlServer2017

    在之前的公司, 看到有用过代码扫描工具, 扫描C#代码, 最近公司也有考虑做这个,于是我便独自研究了一下,这里给大家做个分享 网上找了很多资料, 主要有以下问题: 1. Sonarqube用的是 旧版 ...

  5. [常用工具] git基础学习笔记

    git基础学习笔记,参考视频:1小时玩转 Git/Github 添加推送信息,-m= message git commit -m "添加注释" 查看状态 git status 显示 ...

  6. LeetCode-02 两数相加(Add Two Numbers)

    描述 给出两个非空的链表用来表示两个非负的整数.其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和. 您 ...

  7. Windows下使用vscode连接Linux服务器进行C++代码运行与调试

    参考链接: vscode + SSH 配置 https://blog.csdn.net/irober/article/details/112724986 launch.json + tasks.jso ...

  8. .NET周报【1月第2期 2023-01-13】

    国内文章 [ASP.NET Core]按用户等级授权 https://www.cnblogs.com/tcjiaan/p/17024363.html 本文介绍了ASP.NET Core如何按照用户等级 ...

  9. Java基础学习笔记-关键字、标识符、分隔符

    标识符(identifier),我的理解呢,简单来说就是一个常量或者变量的名字啦 命名规则: 只能以 字母..$ 这三种开头,后面的话就可以由字母..$和数字组成 不能用Java中的关键字 不能包含空 ...

  10. java 进阶P-3.3+P-3.4

    Array list的操作 ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素.ArrayList 继承了 AbstractList , ...