Firefly开源社区

标题: [RTP+DIY] FireWRT远程视频监控-1 [打印本页]

作者: 代祥军    时间: 2015-3-25 17:40
标题: [RTP+DIY] FireWRT远程视频监控-1
本帖最后由 代祥军 于 2015-4-16 09:12 编辑

1.准备工作
1.1.购置摄像头:
支持输出视频格式yuyv420、yuyv422或jpeg之一即可
1.2.路由器:
支持usb
1.3.注意:
如果购置的摄像头输出的视频格式是yuyv420或者yuyv422,会让FireWRT的CPU消耗30-60%,虽然FireWRT是双核880MHz的CPU但是也会出现视频卡顿现象。
如果购置的摄像头输出视频格式只是jpeg,则不存在上述问题。
1.4安装VLC播放器
下载地址:
        http://www.videolan.org/
1.5连接示意图


2.编译OpenWrt
依赖的库文件:
libjpeg
libpthread
kmod-video-core
kmod-video-uvc
kmod-usb-core
kmod-usb2

2.1 在package下新建文件rtp2jpeg

  1. cd rtp2jpeg
  2. vim Makefile
复制代码
内容如下
可以直接在Makefile中写上这些依赖
  1. #
  2. # Copyright (C) 2010-2013 hua.shao@mediatek.com
  3. #
  4. # Ralink Property Software.
  5. #

  6. include $(TOPDIR)/rules.mk

  7. PKG_NAME:=rtp2jpeg
  8. PKG_RELEASE:=1

  9. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)


  10. include $(INCLUDE_DIR)/package.mk

  11. define Package/rtp2jpeg
  12.       SECTION:=firefly
  13.       CATEGORY:=rtp2jpeg
  14.       TITLE:= rtp2jpeg
  15.       <font color="Red">DEPENDS:=+libjpeg +libpthread +kmod-video-core +kmod-video-uvc +kmod-usb-core +kmod-usb2</font>
  16. endef

  17. define Package/rtp2jpeg/description
  18.   An program to config rtp2jpeg.
  19. endef

  20. define Build/Prepare
  21.             mkdir -p $(PKG_BUILD_DIR)
  22.             $(CP) -r ./src/* $(PKG_BUILD_DIR)/
  23. endef

  24. define Build/Configure
  25. endef

  26. define Package/rtp2jpeg/install
  27.             $(INSTALL_DIR) $(1)/usr/bin
  28.             $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/camera_encode $(1)/usr/bin #应用程序
  29. endef
  30. $(eval $(call BuildPackage,rtp2jpeg))
复制代码

注意:如果是复制以上的Makefile请注意tab。
视频采集输出代码下载

如果编译出错,可能是src目录下少了一个bin文件目录
  1. mkdir src/bin
复制代码
执行
  1. $ make ./package/rtp2jpeg/compile
复制代码

拷贝到路由器上

2.2直接编译到固件中
  1. make menuconfig
复制代码

选择上rtp2jpeg
  1. make V=99 -j4
复制代码
烧写固件

3.rtp2jpeg使用
3.1 VLC使用
在克隆的src代码中包含文件:mjpeg.sdp
内容:
  1. m=video 10000 RTP/AVP 26
  2. a=rtpmap:26 JPEG/90000;
  3. a=decode_buf=300;
  4. a=framerate:25
  5. c=IN IP4 local
复制代码
10000是端口号
ubuntu使用:
右键点击:mjpeg.sdp打开用VLC打开

右键点击此界面的mjpeg.sdp,选择播放。

3.2 OpenWrt rtp2jpeg程序使用
从串口或者ssh,telent登录路由器
编译好的二进制文件存放在了/usr/bin/下,名字为camera_encode

插上USB摄像头,打印出的信息如下:

正确在终端输入命令(VLC已经准备接收视频,输入的IP地址为PC电脑的IP一致):

此时观测VLC播放器:

播放成功。
代码解释,请看下一章分析。
Q:574889524

vlc.png (570.06 KB, 下载次数: 140)

vlc.png

作者: pinyin    时间: 2015-3-30 09:15
学习学习:lol:victory:
作者: hades    时间: 2015-3-30 19:12
我来看看,,,教程听详细的。。。:lol
作者: ihackdream    时间: 2015-4-10 14:57
学习
作者: llkak47    时间: 2015-6-2 10:35
顶起来看看
作者: welcoco    时间: 2015-6-8 14:06
很好,学习下
作者: 暴走的阿Sai    时间: 2015-6-10 11:09
好文章,设置精华!
作者: welcoco    时间: 2015-6-10 14:16
你好,我根据你的教程,不能生成对应的ipk,能否指点下
作者: ruanjg    时间: 2015-7-31 22:50
好贴好贴:lol
作者: lolomarx    时间: 2015-12-24 19:28
可以发这个MT7621 能支持UVC的固件给我试试吗? 我自己编译的无法识别到UVC(摄像头确认在Ubuntu下能正常识别为UVC)
日记如下:
new high-speed USB device number 124 using xhci-hcd
Tue Jul 14 14:12:27 2015 kern.err kernel: [  960.460000] usb 1-2: device descriptor read/64, error -71

多谢
作者: jzyuchen    时间: 2016-1-2 08:13
好东西
作者: lidongxin    时间: 2016-2-24 13:34
不知道这个速度如何,之前我做了一个通过HTTP,远程WIFI传输JPG图片回服务器做图像识别,图像大约60毫秒一张基本是极限了。
作者: 特殊借口    时间: 2016-2-24 14:36
谢谢分享,很受用!
作者: a937983423    时间: 2016-3-6 21:11
我来看看,,,教程听详细的。
作者: guoyiyan    时间: 2016-3-17 16:33
正在找这方面资料
作者: kate    时间: 2016-4-1 17:30
顶顶顶
作者: suang1051    时间: 2016-4-5 10:33
好文,学习了
作者: z1234zz    时间: 2016-4-20 08:57
谢谢楼主!!!!!!!!!!!!!!!!!!!!

作者: joeduff7    时间: 2016-5-18 13:25
支持一下子。
作者: openwrt学习者    时间: 2016-6-15 13:28
谢谢分享,看看
作者: yly123ycyn    时间: 2016-6-15 17:54
good
作者: hxh2036    时间: 2016-7-24 14:20
学习
作者: hxh2036    时间: 2016-7-24 14:21
学习
作者: Hailong    时间: 2016-7-25 14:53
:)
作者: qwm2005    时间: 2016-8-30 15:36
感谢分享,好好研究一下
作者: roccheung    时间: 2017-3-5 14:37
{:4_158:}
作者: dianziit    时间: 2017-3-5 20:08
好文章,设置精华
作者: xiadongsu    时间: 2017-3-7 06:24
学习了
作者: zhouwu313    时间: 2017-8-23 13:53
详细代码
作者: sunlinjiangnan    时间: 2017-8-25 09:31
谢谢分享
作者: lbb12    时间: 2017-10-12 20:56
非常好的摄像头采集
作者: fireamos123    时间: 2017-11-22 16:48
太厲害了
作者: ttc3000    时间: 2018-1-25 08:14
很好,研究看看。
作者: hongyancl    时间: 2018-9-29 18:02
看看
作者: liumulin    时间: 2018-11-5 17:16
没看回什么
作者: elecchan    时间: 2018-11-16 17:49
多谢分享,正好需要
作者: linan377    时间: 2019-3-27 13:12
213123
作者: robin1989    时间: 2020-3-6 21:21
感谢楼主,学习了
作者: songhq    时间: 2021-12-17 17:38
顶上去




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1