使用树莓派和USB摄像头模块构建一个紧凑,低成本的IP摄像头系统
扫描二维码
随时随地手机看文章
有很多项目在网上实现一个简单的网络摄像头与覆盆子。最常见的实现是使用motion sw,但性能非常非常差。使用Open CV和c++可以实现高性能和优化的软件。
我在树莓上首选的C/ c++ IDE是Code::Blocks。它是一个免费的、开源的集成开发环境(IDE),专为C、c++和Fortran设计。它具有可定制的界面、强大的调试工具和对多个编译器的支持,使其成为初学者和有经验的开发人员的理想选择。它基于插件的体系结构允许跨平台的轻松扩展和适应性。
在开始软件准备之前,还有最后2个步骤:连接USB摄像头和安装丢失的数据包。
创建Code::块项目
进入菜单File->New- > Project,选择Console Application
单击Go
选择c++并单击Next
插入项目标题和文件夹,然后单击Next
选择GNU GCC作为编译器并单击Finish
构建选项项目代码::Block
进入菜单Project——> Build Options,在链接器设置中添加以下库
在“搜索目录”中增加/usr/include/opencv4
现在我们可以编辑main.cpp文件了
RTP软件描述
为了简化参数配置,有一个名为stream_config.txt的配置文件。创建一个文件stream_config.txt,并添加以下代码行
其中前3个用于配置视频流,ip和端口用于定义接收地址,后2个用于定义编解码器
主要有。cpp和以下内容包括
主要功能很简单,首先我们需要检查连接的摄像头
之后,我们可以加载流配置参数
初始化相机分辨率
配置并打开ffmpeg
现在可以获取帧并开始流
在关闭之前,我们必须释放所有资源
测试与VLC视频局域网
在Windows PC上,我最喜欢的视频软件是VLC视频局域网。可以创建一个配置文件来打开视频流。
创建一个新的文件流。SDP和添加这些线
其中IP4是树莓的ip地址,而H264定义视频编解码器。保存并单击文件。
左边是在树莓上获得的本地流,而右边是VLC视频局域网捕获的流。
本文编译自hackster.io





