英语原文共 4 页,剩余内容已隐藏,支付完成后下载完整资料
在物联网设备中使用树莓派的音频实时视频流
1.K. Varun Kumar Reddy 2.P. Sabarish 3.S. Sonu 4.S. Shavali 5.S. Hari Krishnan
1,2,3是印度普塔帕蒂,梵文工程学院电子与通信工程系在读学生
4是印度普塔帕蒂,梵文工程学院电子与通信工程系助理教授
5是印度普塔帕蒂,梵语工程学院电子与通信工程系助理教授
*通讯作者:shaiksonu1920@gmail.com
摘要:本系统描述了一个基于树莓派的低成本视频直播系统的设计与实现。树莓派是一种基于Python编写的,将运动检测算法作为默认编程环境的单板机。此外,系统采用了运动检测算法,显著降低了存储使用量,节约了投资成本。运动检测算法在树莓派上实现,它使实时流媒体摄像机与音频检测工作,实时摄像机可以在任何浏览器上,甚至从移动设备上实时观看。
关键词:音频视频流,视频监控系统,运动检测,树莓派。
- 介绍
如今,数字技术的使用日益增加,人们需要数字技术来满足他们的需求和想要的低成本的预算。因此,本系统的开发考虑到了社会、教育、企业和当地用户的需求。本系统可以为每个人提供最低的成本预算。物联网预计将由超过500亿台设备组成,旨在解决我们数字社会大部分领域的问题,预计将包括各种多媒体内容,如现场音频和视频。本项目提出了一种在树莓派等硬件资源有限的设备约束下,在低时延(lt;200ms)场景下进行高清视频通信的解决方案。可以验证使用分布式物联网系统“明智之举”平台,在树莓派设备之间实现低延迟视频流是可能的。具体地说,我们实现了6 Mbps h . 1280times;720像素的视频设备之间以每秒25帧的总延迟181 ms在公共网络传输,其中分布式物联网通信平台的开销只占18ms的延迟。我们发现,在有限的物联网设备上,视频传输的最大瓶颈是视频编码,而不是分布式通信平台,因为视频编码占总时延的90%。
2. 相关工作
有一些研究和研究使用树莓派的实时视频流应用程序。其中一篇论文描述了树莓派2的实时视频流,使用python编程,使用摄像头捕获视频并处理数据,通过移动客户端传输到无线网络进行视频流。[1]
另一项研究是使用树莓派的监视系统,支持对象的运动检测使用的是python编程,这个监视系统使用运动传感器检测对象和一个摄像头连接到树莓派的视频流[2]。
另一篇论文,描述了音频流媒体视频直播以及使用树莓派,这个树莓派使用了一个麦克风和一个摄像头记录音频和捕获视频处理。这些视频和音频数据使用python和终端命令以及使用VLC编解码器,通过任意设备的浏览器来传输到无线网络[3]。
其他调查、研究和许多论文主要集中在使用任意设备在世界任何地方支持浏览器实时视频流监控系统。这些研究主要用于家庭安全,在人眼无法触及的敏感区域进行监控,利用实时视频流对敏感区域进行救援[4]。
3.系统架构
系统架构如图一所示。该架构使用了树莓派、摄像头、PIR运动传感器和USB麦克风。连接到树莓派的摄像头可以在物联网设备中使用树莓派的音频和视频直播,用于捕获视频。USB麦克风用于记录音频、对捕获的视频和音频进行处理和压缩。使用VLC, Python和终端命令,用户可以从任意安卓设备浏览器视频和音频流。PIR运动传感器可以检测到对象,并通过编写的Python程序将捕获的图像自动存储在桌面上。
图一 系统架构
本系统是一个嵌入式系统,利用树莓派等设备实现视频、音频流和物体的运动检测,过程如下:
A .音频流
要实现音频流通过服务器必须要有一个设备,这个设备用来记录音频但树莓派没有音频输入端口。因此,为了实现这一点,通过USB使用外部音频设备或转换器来记录音频。之后捕获的音频使用RTP(实时传输协议)协议传输到任何带有视频的浏览器。
B.流媒体视频
当摄像头模块连接到树莓派开始采集视频时,视讯流过程也同时开始。视频流所使用的操作和协议与音频流所使用的标准不同,主要使用的协议是HTTP(超文本传输协议)。
该系统的操作流程图如图二所示。
图二 操作流程图
系统的运行步骤如下:
- 树莓派先接入网络。这一步在流媒体中起着非常重要的作用,因为网络对于流媒体的用户客户端起着非常重要的作用。
- 摄像头开始拍摄视频,通过树莓派处理后发送视频数据进行直播。
- 麦克风通过树莓派的USB端口开始录音。
- 树莓派的音频被处理并发送到服务器进行视频直播。
- 用户或移动客户端现在可以通过任意浏览器或安卓设备访问带音频的实时视频流。
- 运动检测算法
用于检测物体的运动检测算法是使用python脚本和树莓派内置的摄像机库开发的,这使得控制摄像机非常简单。为了控制通用输入/输出口,使用了gpiozero库,它包含了最流行的组件(如按钮、led、运动传感器等)的类。
用于运动检测的Python脚本,只要有运动传感器检测到的运动,就可以检测对象。
该系统采用红外运动传感器对物体进行检测,可作为防盗探测器使用。Python运动检测脚本概述如下:
1.初始化树莓派摄像机。
2.当PIR运动传感器检测到运动时,用相机捕捉照片。
3.将树莓派相机拍摄的照片保存在手动创建的文件夹中。
4.以递增的方式命名捕获的照片,以便知道它们是按照什么顺序拍摄的。
5.使用python脚本通过按按钮停止相机。
使用Python脚本进行运动检测的基本流程图如图三所示。
图三 运动检测流程图
本系统使用的硬件和软件组成如下:
- 软件使用
1)树莓派操作系统
树莓派操作系统是针对树莓派优化的基于Debian的操作系统。它有Python, Scratch, Sonic Pi, Java和更多。操作系统有着一套基本的程序以及一些实用程序,通过树莓派微控制器运行。
本系统使用的是Raspbian NOOBS V.3.0.0。安装了2018年发布的新树莓派操作系统之一。
- VLC 媒体播放器
VLC媒体播放器是Video LAN项目开发的一款免费、开源的跨平台媒体播放软件和流媒体服务器,是一款便携式媒体播放器。它还支持各种网络流,同时还支持独立的视频和音频端口流。
E.硬件使用
1)树莓派
本系统采用树莓派3B 型单板计算机,部分关键特性如下:
·Broadcom BCM2835 SoC处理器携带有700MHz ARM1176JZF-S内核
·512MB内存
·Videocore 4 GPU,最高支持1920x1200分辨率
·5Mpix摄像头模块,支持全高清视频,每秒30帧
·MicroSD卡插槽,10/100Mbps以太网端口,4个USB 2.0端口,HDMI,音频/视频插孔,GPIO头,microUSB电源端口,DSI和CSI端口
·双降压电源3.3V和1.8V。
- 树莓派摄像头
使用的树莓派摄像头是一个500万像素的摄像头模块,可以捕捉1080p的视频和静止图像,可以通过CSI直接连接到树莓派(摄像头串行接口),然后启动最新版本的树莓派系统,就可以用相机了。这是一个固定焦点的5MP传感器,可以使用2592x1944的定格画面,也可以使用1080p30, 720p60和640x480p60/90。
3)运动传感器
本系统使用的运动传感器为PIR运动传感器,通过5V引脚操作。
4)监控显示
通过它来处理树莓派。
5) USB麦克风。
作为音频输入录音设备。
- USB电源适配器
树莓派的电源。
7)鼠标
处理树莓派桌面屏幕。
8)键盘
用于写命令的键盘。
4.实现与结果
将树莓派操作系统安装到SD卡中,将SD卡插入树莓派板并升级系统。将摄像机连接到树莓派板上,开启摄像机并安装所需软件,然后重启系统,操作步骤如下:
第一步:初始化树莓派板,连接显示器、键盘和鼠标。
第二步:将树莓派连接到网络。
第三步:将USB麦克风连接到USB接口。
第四步:在终端中编写音频代码。
第五步:通过代码运行,音频输入设备开始录制音频。
下图图4为代码运行情况,并显示代码执行过程中不同的录音参数。
图四 音频编码功能
第六步:将视频代码写入python终端。
第七步:通过python脚本运行,视频将被树莓派摄像机捕获。与音频代码类似,视频代码也开始运行,并显示相机捕获的视图。下图图五显示了运行时的视频捕获命令。
图五 视频代码功能
第八步:在安卓设备或笔记本电脑上打开任意浏览器,输入IP地址作为网络地址。
第九步:视频服务器可以开始工作了。
与视频代码类似,运动检测python脚本被写入python终端,当PIR运动传感器检测到运动时,它将在桌面上保存图像。
连接树莓派摄像头、运动传感器和USB麦克风的树莓派板硬件设置如下图图六所示。
图六 树莓派与设备的连接
安卓浏览器视频流的截图如图七所示。
图七 视频流的屏幕截图
该系统利用树莓派,用非常简单的方法实现了一个视频和音频服务器。该系统使用了16GB的存储卡,在满足操作系统和所有软件要求后,只使用了将近8GB的总内存。该系统的输出完成了大约80%的目标,因为它是一个低成本预算系统。当运动传感器检测灵敏和小的运动目标时,整个音频和视频服务器的实现有一定的滞后,但它未来可以克服这些使用完美的阈值运动检测算法和运动传感器。
5.结论
实时视频流和监控系统具有多种功能。系统的选择要考虑成本、视频质量等因素。所提出的系统是经济有效和对用户友好的。在军事、住宅、办公室、教育、防御和环境监测等不同领域都有应用。该系统可通过使用人脸检测和识别来跟踪特定的人,并通过使用远程先进的无线麦克风来减少音频延迟记录。
参考文献
[1] Video Server, techopedia.com
http://www.techopedia.com/definition/23872/videoserver.
[2] A. Deepa, R. Dharani, S. Kalaivani and P. Manju Parkavi, “Live video
streaming system using Raspberry pi with cloud server”, IJAICT, 2016.
[3] Ulf Jennehag, Stefan Forsstorm and Federico V. Fiordigigli, “Low delay
video streaming on the Internet of Things using Raspberry Pi”. Electronics, 2016.
[4] Fatma Salih et. al, “Raspberry pi as a Video Serve,” 2018.
[5] G. G Sivasankari Prerana et. al, “Live Video Streaming using Raspberry
Pi in IoT Devices,” 2017.
[6] Neel Oza, N. B. Gohil, “Implementation of Cloud Based Live Streaming Surveillance,” 2016.
[7] Recording Audio on the Raspberry Pi with Python and a USB microphone
available
https://makersportal.com/blog/2018/8/23/recording-audio-on-the-
raspberry-pi-with-python-and-a-u
剩余内容已隐藏,支付完成后下载完整资料
资料编号:[258361],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。