树莓派相机模组v2在2016年发布,采用800万像素的Sony IMX219的传感器。
支持1080p30, 720p60和VGA90录像模式,拍照模式最大支持3280*2464的图像分辨率。
相机模组采用CSI接口与树莓派相连接,获取图像数据支持MMAL和V4L api, 也支持第三方库如ffmpeg。

树莓派系统中提供了至少拍照raspstill、录像raspivid两个工具,本文介绍这两个工具的使用。

硬件安装

相机模组

安装之后,运行抓图工具,如raspistill -o image.jpg,出现报错

相机已经安装,但是初始化组件时失败。后面需要使用sudo raspi-config进行配置。同时,查看系统的设备,并没有指示相机的/dev/video0设备

树莓派系统配置

执行命令:sudo raspi-config,使能摄像头,按照图示顺序操作:



操作完成后重启树莓派,再次查看视频设备,出现了 /dev/video0

测试拍照功能

再次运行拍照命令 raspistill -o image.jpg
完成后,使用file image.jpg查看图片信息:

可以直观看到当前图像文件的基本信息,图像分辨率为3280*2464 ≈ 800W,宽高比为3280/2464= 1.331 ≈ 4:3。

复制到windows下查看图片。

测试录像功能

raspivid仅支持录制h264裸流视频文件,例如 raspivid -o video.h264 -t 10000 -w 1280 -h 720 ,表示录制10秒、图像分辨率为1280*720的视频保存为video.h264。

使用file命令查看文件信息

复制文件到windows视频VLC播放,查看媒体信息

用到命令说明

拍摄时长,只要通过 “-t” 选项来设置你想要的长度就行了(单位是毫秒)
图像分辨率,使用 “-w” 和 “-h” 选项将分辨率降为 1280x720等等
码率, 默认是12Mbps ,通过”-b”来指定,例如150Kbps, 设置为 “-b 1200000”
帧率,默认是25fps,通过”-fps”来指定,例如5fps, 设置为 “-fps 5”
gop,通过”-g”来指定,通常设定为 1fps、2fps等
H264 profile,可选baseline、main、high
H264 level,可选4、4.1、4.2
强制每个I帧添加PPS、SPS, 设置"-ih"即可


Raspberry Pi Camera Module官方说明

https://www.raspberrypi.org/documentation/raspbian/applications/camera.md

新的网址 https://www.raspberrypi.org/documentation/accessories/camera.html

FFmpeg推流测试

1、ffmpeg官网安装下载

下载ffmpeg-git-armhf-static.tar.xz,解压放入/usr/bin中,可以直接使用fmpeg命令进行录像拍照等功能。

推流测试,例如执行ffmpeg -i /dev/video0 -f flv rtmp://192.168.3.86:9092/live/raspi

推流默认视频分辨率为1024*768,存在问题:

  • 终端显示的帧率始终不到5fps,cpu占用巨高;
  • vlc拉流播放延迟30s以上,降低分辨率也基本改善

2、使用树莓派官方提供的ffmpeg

卸载上一步安装的ffmpeg,使用sudo apt-get install ffmpeg命令安装树莓派提供的ffmpeg工具。

安装后,可以使用硬编码器h264_omx, 实现硬件加速。

推流执行命令修改,效率有明显改善。

ffmpeg -i /dev/video0 -vcodec h264_omx -f flv rtmp://192.168.3.86:9092/live/raspi

使用如下方法

ffmpeg -f v4l2 -c:v h264_mmal -pix_fmt yuv420p -i /dev/video0 -s 1280x720 -r 30 -c:v copy -b:v 4000k -f flv rtmp://192.168.3.86:9092/live/raspi

不能修改分辨率,使用如下方法
raspivid -o - -t 0 -w 1280 -h 720 -fps 25 -b 4000000 -g 50 --nopreview | ffmpeg -re -i - -f h264 -vcodec copy -g 50 -f flv rtmp://192.168.3.86:9092/live/raspi
正常,但是延迟10s左右! -_-!

ffmpeg -f v4l2 -input_format yuv420p -i /dev/video0 -vcodec h264_omx -b:v 2000000 1111111.h264
再加上 preset 和 tune基本满足要求。

树莓派CSI相机使用相关推荐

  1. java读取pi_(树莓派csi相机)使用Java从raspivid-stdout读取h...

    我想编写一个Java应用程序,它从树莓派csi相机读取h264流. csi摄像机的接口是命令行c程序" raspivid",该程序通常将捕获的视频写入文件. 使用选项" ...

  2. 他给女朋友做了个树莓派复古相机,算法代码可自己编写,成本不到700元丨开源...

    点击上方"视学算法",选择加"星标"或"置顶" 重磅干货,第一时间送达 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 手机拍照 ...

  3. 他给女朋友做了个树莓派复古相机,算法代码可自己编写,成本不到700元

    本文经AI新媒体量子位(公众号 ID: QbitAI)授权转载,转载请联系出处本文约1300字,建议阅读5分钟本文介绍了使用树莓派复古相机开源自己编写算法的故事. 手机拍照不够爽,带个单反又太重? 试 ...

  4. opensll、libcurl库安装的使用,树莓派CSI摄像头的配置,树莓派调用智能API平台实现人脸识别、树莓派配置中文环境

    接着上一节人工智能翔云平台介绍: 人工智能OCR识别: OCR 是英文Optical Character Recognition的缩写,意思是光学字符识别,也可简单地称为文字识别,是文字自动输入的一种 ...

  5. 【AI简报20210514期】开源项目树莓派复古相机、L4自动驾驶新闻速递

    嵌入式AI 1. 地平线L4级自动驾驶芯片流片成功,预计2022年量产上市 原文: https://www.163.com/dy/article/G9I96HCO05508TBC.html 5月9日消 ...

  6. 树莓派csi摄像头和usb摄像头_树莓派zero wh使用csi摄像头模块

    某宝上不到20块钱的500w树莓派csi摄像头着实有点让人心动,我们就来说说如何使用. 我们可以先按照下面的文章来配置树莓派zero wh的无线网和usb网络. 然后我们连接到树莓派,使用raspi- ...

  7. Nvdia Jetson 上CSI相机和USB相机使用对比

    1. 优缺点对比 USB相机: · 优:很容易整合,内核支持标准UVC协议 · 优:可以做很多的离线的图像工作(曝光控制,帧率等). · 优:提供输入/中断功能,可为您节省计算应用程序时间(例如,在新 ...

  8. 如何给女朋友做个树莓派复古相机?

    本文转载自程序员极客实验室 手机拍照不够爽,带个单反又太重? 试试做个树莓派复古相机,还能自己编写处理算法的那种-- 成本不到700元. 没错,颜值很高,拍出来的照片也能打: 你也可以快速上手做一个. ...

  9. 树莓派csi摄像头安装过程

    注意:使用树莓派自带扁线摄像头时,切记不要带电插拔!!!!! 1.购买CSI摄像头的网址链接如下:[树莓派Zero摄像头500万像素 Raspberry Pi Zero W相机配15CM排线],復zん ...

最新文章

  1. 项目材料用到的词组积累
  2. java集成网站微信,微博,qq登录
  3. 继续着茫茫碌碌的日子
  4. poj3268(最短路)
  5. 编程入门python语言是多大孩子学的-Python 适合初学编程的人学吗?
  6. C++Primer笔记-----day04
  7. 解密谷歌机器学习忍者项目,如此培养人工智能人才
  8. Android应用开发—Android 消息处理机制:HandlerMessage
  9. bios设置 联想m8000t_Ideapad 700-17笔记本使用bios设置u盘启动方法介绍【图文详解】...
  10. 远离神经网络这个黑盒,人工智能不止这一条路可走
  11. 栈增长方向与大端/小端问题
  12. idea增强for循环
  13. 服务器延迟和时间偏移怎么设置,服务器时间经常不对如何处理
  14. UE4 挂载在Actor上的ParticleSystem特效无法与Actor的RootComponent对齐的问题
  15. 调试错误,请回到请求来源地,重新发起请求。 错误代码 insufficient-isv-permissions 错误原因: ISV权限不足,建议在开发者中心检查对应功能是否已经添加
  16. 荣耀 android 5.0 root,华为荣耀畅玩5C获取EMUI5.0 安卓7.0系统的root教程
  17. 遇到的算法题--02(斗牛)
  18. 微信豆有什么作用?微信豆怎么用?附攻略
  19. Python编程:loguru管理日志输出
  20. ffmpeg rtmp推流代码示例

热门文章

  1. 什么是Windows Virtual PC?
  2. PostgreSQL的新书介绍
  3. 流氓软件新技术,8749病毒详细分析报告
  4. 使用TI PDK example的步骤
  5. 计算机病毒英文文献,计算机病毒外文翻译翻译英文外文外文翻译计算机病毒外文翻英文文献计算机.doc...
  6. 高级算法设计2020fall
  7. Fluent验证案例43:平板边界层转捩
  8. linux上打开psd格式图片--gimp
  9. 从零开始编写自己的JavaScript框架(一)
  10. java exe指的是什么,3.Java程序的执行过程中用到一套JDK工具,其中java.exe是指(5.0分)...