FireWRT(MT7621)远程视频监控-1

FireWRT(MT7621)远程视频监控-1

标签: rtpopenwrtfirewrt
  1279人阅读  评论(0)  收藏  举报
  分类:

原文地址:http://developer.t-firefly.com/thread-980-1-1.html

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

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. mkdir <span style="font-family:宋体;"><span style="font-size:18px;"></span></span>rtp2jpeg   
  2. cd rtp2jpeg  
  3. vim Makefile  
内容如下
可以直接在Makefile中写上这些依赖

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. #  
  2. # Copyright (C) 2010-2013 hua.shao@mediatek.com  
  3. #  
  4. # Ralink Property Software.  
  5. #  
  6.   
  7. include $(TOPDIR)/rules.mk  
  8.   
  9. PKG_NAME:=rtp2jpeg  
  10. PKG_RELEASE:=1  
  11.   
  12. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)  
  13.   
  14.   
  15. include $(INCLUDE_DIR)/package.mk  
  16.   
  17. define Package/rtp2jpeg  
  18.   SECTION:=firefly  
  19.   CATEGORY:=rtp2jpeg  
  20.   TITLE:rtp2jpeg  
  21.   DEPENDS:=+libjpeg +libpthread +kmod-video-core +kmod-video-uvc +kmod-usb-core +kmod-usb2  
  22. endef  
  23.   
  24. define Package/rtp2jpeg/description  
  25.   An program to config rtp2jpeg.  
  26. endef  
  27.   
  28. define Build/Prepare  
  29.     mkdir -p $(PKG_BUILD_DIR)  
  30.     $(CP) -r ./src/* $(PKG_BUILD_DIR)/  
  31. endef  
  32.   
  33. define Build/Configure  
  34. endef  
  35.   
  36. define Package/rtp2jpeg/install  
  37.     $(INSTALL_DIR) $(1)/usr/bin  
  38.     $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/camera_encode $(1)/usr/bin  
  39. endef  
  40.   
  41.   
  42. $(eval $(call BuildPackage,rtp2jpeg))  

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

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. git clone http://git.oschina.net/OpenWrt-X/rtp2jpeg src  
如果编译出错,可能是src目录下少了一个bin文件目录
[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. mkdir src/bin  

执行

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. make ./package/rtp2jpeg/compile  


拷贝到路由器上

2.2直接编译到固件中

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. make menuconfig   

选择上rtp2jpeg

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  1. make V=99 -j4  

烧写固件

3.rtp2jpeg使用
3.1 VLC使用
在克隆的src代码中包含文件:mjpeg.sdp
内容:

[html]  view plain copy print ? 在CODE上查看代码片 派生到我的代码片
  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,选择播放。

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

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

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

此时观测VLC播放器:

播放成功。
代码解释,请看下一章分析:http://developer.t-firefly.com/thread-983-1-1.html
Q:574889524

0
0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值