{"id":13847823,"url":"https://github.com/babosa/EasyCamera","last_synced_at":"2025-07-12T11:32:43.844Z","repository":{"id":217354641,"uuid":"84723253","full_name":"babosa/EasyCamera","owner":"babosa","description":"云平台组件：EasyCamera云摄像机方案,支持云直播、云控制、云录像、云回放的摄像机方案！EasyCamera保持与EasyCMS长连接，注册在EasyCMS上。当有EasyClient客户端发出视频播放、云台控制、语音喊话等指令时，EasyCMS会将相应的指令转发给对应的EasyCamera设备，EasyCamera根据指令办事。iOS平台代码迁移在 https://github.com/EasyDarwin/EasyCamera_iOS","archived":false,"fork":false,"pushed_at":"2017-07-13T02:33:58.000Z","size":14626,"stargazers_count":129,"open_issues_count":3,"forks_count":99,"subscribers_count":27,"default_branch":"master","last_synced_at":"2024-08-09T23:01:41.955Z","etag":null,"topics":["dropcam","easycamera","easyclient","easydarwin","ipcamera"],"latest_commit_sha":null,"homepage":"http://www.easydarwin.org","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/babosa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-03-12T12:20:34.000Z","updated_at":"2024-08-07T07:49:39.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff8fc270-641a-447f-b5da-87336412047a","html_url":"https://github.com/babosa/EasyCamera","commit_stats":null,"previous_names":["babosa/easycamera","easydarwin/easycamera"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babosa%2FEasyCamera","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babosa%2FEasyCamera/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babosa%2FEasyCamera/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/babosa%2FEasyCamera/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/babosa","download_url":"https://codeload.github.com/babosa/EasyCamera/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225820303,"owners_count":17529138,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dropcam","easycamera","easyclient","easydarwin","ipcamera"],"created_at":"2024-08-04T19:00:32.716Z","updated_at":"2025-07-12T11:32:43.834Z","avatar_url":"https://github.com/babosa.png","language":"Java","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# EasyCamera #\r\n\r\n### ！！！EasyCamera是配套EasyDarwin云平台使用的，是平台整体的设备部分，类似于萤石、360水滴、小米、i耳目、Dropcam这种云摄像机方案的模式和流程！ ###\r\n\r\n\r\n**EasyCamera** 并不是做摄像机硬件方案，或者说EasyCamera是硬件芯片无关的云平台对接方案，我们是在摄像机方案商方案的基础上，通过摄像机方案商提供的SDK在摄像机ARM系统内部与摄像机主服务进行交互，包括实时音视频、云台控制、联动报警等功能，我们在摄像机内部植入EasyCamera程序，一边通过SDK与摄像机主服务交互(获取音视频数据、控制云台、联动报警等交互)，一边与EasyDarwin流媒体云平台(EasyCMS、EasyDarwin、EasyRMS等云服务器)对接，上传数据、接受指令控制，形成一套云摄像机方案.\r\n\r\nEasyCamera服务支持Windows平台/ARM摄像机(目前已经有国内多家摄像机方案支持接入，包括雄迈、海芯威视、普顺达等)，支持Android/iOS移动设备(开发中)对接到EasyDarwin开源流媒体云平台，我们定制的摄像机采海思HI3518C/HI3518E、智源GM8126方案，支持RTSP、Onvif、Web管理、配套SDK工具，作为开发辅助的硬件工具，我们提供了全套完备的程序和文档，既可以用于流媒体学习，又可以用于方案移植参考，更可以直接用于项目中，购买最新参考设备可以在：[http://www.easydarwin.org/camera](http://www.easydarwin.org/camera \"EasyCamera摄像机购买\")，用户也可以将我们参考摄像机的SDK部分替换成自己摄像机的硬件SDK，移植非常方便；\r\n\r\n## EasyCamera包括 ##\r\n\r\n- **SDK** 摄像机版本及SDK调用示例\r\n- **SRC** EasyCamera开源程序\r\n\r\n## 视频教程 ##\r\nEasyCamera开源摄像机解决方案：编译、配置、部署：[http://edu.csdn.net/course/detail/2502/39197](http://edu.csdn.net/course/detail/2502/39197 \"EasyCamera\")\r\n\u003e BTW：教程第一章里面有具体EasyCamera工作模式的详细说明，请大家看过之后，细细体会！\r\n\r\n## 编译和部署方法 ##\r\n\r\n### 1、编译EasyCamera最新版本 ###\r\n\r\n目前EasyCamera Demo提供了Windows/ARM(GM8126、HI3518C/HI3518E)两个版本！\r\n\r\n- Windows版本编译：\r\n\r\n可以直接用Visual Studio 2008打开源码文件中的：/EasyDarwin-master/EasyCamera/WinNTSupport/EasyCamera.sln解决方案文件，编译出exe可执行文件EasyCamera.exe；\r\n\r\n- ARM版本编译：\r\n\r\n这里只说明EasyDarwin开源摄像机的编译方法,其他类型摄像机编译方法类似, 前提是配置相应的交叉编译工具链，我们有两款方案的摄像机，GM8126和HI3518C/HI3518E，工具链分别在/EasyCamera-master/SDK/GM8126/和/EasyCamera-master/SDK/HI3518/，我们这里以安装HI3518C/HI3518E交叉编译工具链为例(HI3518C和HI3518E方案交叉编译工具链相同)：\r\n\r\n\u003e “\r\n\u003e 交叉编译工具链可以到[http://pan.baidu.com/s/1qWBYFCC](http://pan.baidu.com/s/1qWBYFCC)下载hi3518gcc.tgz文件，解压hi3518gcc.tgz至Linux开发宿主机的/opt目录，在/etc/profile里设置将交叉编译工具链目录设置到PATH变量，重启完成安装，也可运行source /etc/profile命令使其立即生效。\r\n\u003e \r\n\u003e - 解压命令：tar zxvf hi3518gcc.tgz -C /opt\r\n\u003e \r\n\u003e - 在/etc/profile添加：export PATH=\"$PATH:/opt/hisi-linux-nptl/arm-hisiv100-linux/bin\"\r\n\u003e \r\n\u003e - 立即生效：source /etc/profile\r\n\u003e \r\n\u003e - 验证PATH：echo $PATH\r\n\u003e “\r\n\r\n编译方法,\r\n\r\n    cd ./EasyDarwin-master/EasyCamera\r\n    chmod +x ./Buildit\r\n    ./Buildit hisiv100\r\n    cd ./Bin\r\n\r\n\r\n### 2、配置easycamera.xml ###\r\nEasyCamera主要的几个配置项：\r\n\r\n- ***easycms_ip***：EasyCMS服务的IP地址或者域名；\r\n\r\n- ***easycms_port***：EasyCMS服务的监听端口；\r\n\r\n- ***device_serial***：自定义配置的摄像机序列号，12位字符串(具体规则查看/EasyDarwin/Doc/EasyDarwin Protocol.doc)；\r\n\r\n- ***device_name***：摄像机名称；\r\n\r\n- ***device_key***：EasyCMS验证密码，默认123456；\r\n\r\n- ***device_tag***：摄像机标签，默认dev；\r\n\r\n- ***keep_alive_interval***：保活间隔时长，单位为秒，默认30秒；\r\n\r\n- ***camera_ip***：本地摄像机地址，例如EasyCamera Windows版本是与硬件分离的，那么具体配置摄像机的ip地址，ARM版本EasyCamera内置于摄像机内部，可以直接配置成127.0.0.1；\r\n\r\n- ***camera_port***：摄像机监听端口，默认80，也可以在摄像机Web管理页面重新配置；\r\n\r\n- ***camera_user***：摄像机用户名，默认admin;\r\n\r\n- ***camera_password***：摄像机密码，默认admin；\r\n\r\n- ***camera_stream_type***：默认摄像机传输的码流类型，0表示子码流，1表示主码流；\r\n\r\n### 3、运行EasyCamera ###\r\nWindows版本运行(控制台调试运行)：\r\n\r\n    EasyCamera.exe -c ./easycamera.xml -d\r\n\r\n\r\n摄像机内运行：\r\n首先是将ARM程序如何放入摄像机内部，方法见随后的*摄像机操作指南*部分，我们将可执行文件放置于**/mnt/mtd/easycamera/**目录；\r\n\r\n调试模式运行（具体配置文件路径根据实际情况设置）,\r\n\r\n\tcd /mnt/mtd/easycamera/\r\n    ./easycamera -c ./easycamera.xml  -d\r\n守护进程运行,\r\n\r\n    ./easycamera -c ./easycamera.xml  \u0026\r\n注：如果xml配置文件路径不能确定，建议最安全的方式就是用全路径，例如 “/mnt/mtd/easycamera/easycamera.xml”，这样在下一次更新服务的时候，配置文件可以保留！\r\n\r\n### 4、跟随摄像机系统自启动 ###\r\n需要让EasyCamera程序跟随摄像机系统自动启动，我们需要修改**/mnt/mtd/ipc/allexit.sh**和**/mnt/mtd/ipc/platform.sh**两个启动脚本：\r\n\r\n在allexit.sh最后一行加上：\r\n\r\n\t#! /bin/sh\r\n\t...\r\n\r\n\tOPID=`ps | grep easycamera | awk '{print $1}'`\r\n\tkill -9 $OPID\r\n\r\n在platform.sh最后一行加上：\r\n\r\n\t#! /bin/sh\r\n\t...\r\n\r\n\tcd /mnt/mtd/easycamera \u0026\u0026\r\n\t./easycamera -c /mnt/mtd/easycamera/easycamera.xml \u0026\r\n\r\n\r\n### 5、检查EasyCamera是否运行成功 ###\r\n可以通过EasyCamera -d调试模式，查看是否配置成功，也可以到EasyCMS查看设备是否上线；\r\n\r\n\r\n## 系统架构 ##\r\n![](http://www.easydarwin.org/skin/easydarwin/images/architecture20150825.png)\r\n\r\n## 摄像机操作指南 ##\r\n\r\n### 1、连接网络 ###\r\n将摄像机通过有线的方式连接到摄像机，路由器需要开启DHCP功能，给摄像机分配到IP地址（如果路由器没有开启DHCP功能，摄像机连接网线后，摄像机的默认IP就是*192.168.1.88*）；\r\n\r\n### 2、查找摄像机 ###\r\n打开/EasyCamera-master/SDK/NetLib/bin/HiCamSearcher.exe，搜索摄像机：\r\n\r\n![HiCamSearcher](http://www.easydarwin.org/github/images/easycamera/001.png)\r\n\r\n### 3、区分摄像机硬件方案 ###\r\n\r\n通过浏览器访问摄像机进入Web管理页面，进入设备信息页面，找到“软件版本”或者“固件版本”项，如果版本号以V5打头，那么摄像机是智源GM8126方案，如果版本号以V6打头，那么摄像机是海思HI3518C方案,如果版本号以V7打头，那么摄像机是海思HI3518E方案。\r\n\r\n\r\n### 4、摄像机开启Telnet服务 ###\r\n\r\n通过浏览器访问摄像机进入Web管理页面，进入系统维护页面，在系统升级项中点击浏览找到所提供的升级包（GM8126方案选择/EasyCamera-master/SDK/GM8126/**telnet_8126.pkg**，HI3518C/HI3518E方案选择/EasyCamera-master/SDK/HI3518/**telnet_3518.pkg**），点击确定，等待系统重启。 例如：http://192.168.*.*/web/admin.html\r\n\r\n![EasyCamera Telnet](http://www.easydarwin.org/github/images/easycamera/002.png)\r\n\r\n### 5、通过Telnet访问摄像机 ###\r\n\r\n摄像机开启telnet服务后即可通过telnet 终端进行访问。GM8126方案用户名为：root，密码为空、HI3518C方案用户名为：admin，密码为：HX2105，HI3518E方案用户名为：admin，密码为：2601hx。如下图所示。**摄像机自带的程序与配置位于/mnt/mtd/，请勿删除此目录下任何内容！！！**\r\n\r\n![telnet](http://www.easydarwin.org/github/images/easycamera/003.png)\r\n\r\n### 6、下载文件到摄像机 ###\r\n\r\n可通过ftp协议进行文件传输，摄像机提供ftpget、ftpput命令。用户可以自己的程序下载至/mnt/mtd目录(受嵌入式资源的限制，此款设备用户可支配的空间大约为2M)。\r\n\r\n以ftpget命令示例：下载/EasyCamera-master/SDK/Quick Easy FTP Server V4.0.0.exe到Windows上(Linux同理找到相应的ftp服务器运行)，运行Quick Easy FTP Server V4.0.0.exe，设置对应的文件目录和ftp用户名密码:\r\n\r\n![pure-ftp](http://easydarwin.org/github/images/easycamera/004.png)\r\n\r\n在telnet终端里输入ftpget进行下载：\r\n\r\n![download](http://easydarwin.org/github/images/easycamera/005.png)\r\n\r\n### 7、摄像机多码流的RTSP地址 ###\r\n\r\n摄像机提供1/2/3种码流，RTSP地址分别为：\r\n\r\n- 主码流：RTSP://[IP]:[PORT]/11\r\n- 子码流：RTSP://[IP]:[PORT]/12\r\n- 三码流：RTSP://[IP]:[PORT]/13\r\n\r\n具体每一个码流的参数细节可在Web管理中进行设置：\r\n![EasyCamera RTSP](http://www.easydarwin.org/github/images/easycamera/008.png)\r\n\r\n### 8、摄像机wifi无线连接设置 ###\r\n\r\nWeb连接到摄像机后，可以通过Web管理界面进行WIFI连接的设置：\r\n![EasyCamera wifi](http://www.easydarwin.org/github/images/easycamera/009.png)\r\n\r\n\r\n## 摄像机硬件购买 ##\r\n[http://www.easydarwin.org/camera](http://www.easydarwin.org/camera \"EasyCamera摄像机购买\")\r\n\r\n## 获取更多信息 ##\r\n\r\n邮件：[support@easydarwin.org](mailto:support@easydarwin.org) \r\n\r\nWEB：[www.EasyDarwin.org](http://www.easydarwin.org)\r\n\r\nCopyright \u0026copy; EasyDarwin.org 2012-2017\r\n\r\n![EasyDarwin](http://www.easydarwin.org/skin/easydarwin/images/wx_qrcode.jpg)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabosa%2FEasyCamera","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbabosa%2FEasyCamera","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbabosa%2FEasyCamera/lists"}