您的位置:首页 > 运维架构

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

2016-01-24 00:55 651 查看


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

标签: rtpopenwrtfirewrt
2015-03-26 10:17 1279人阅读 评论(0) 收藏 举报


分类:

OpenWrt(15)


版权声明:本文为博主原创文章,未经博主允许不得转载。

原文地址: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
plaincopyprint?





mkdir <span style="font-family:宋体;"><span style="font-size:18px;"></span></span>rtp2jpeg

cd rtp2jpeg

vim Makefile

内容如下

可以直接在Makefile中写上这些依赖

[html] view
plaincopyprint?





#

# Copyright (C) 2010-2013 hua.shao@mediatek.com

#

# Ralink Property Software.

#



include $(TOPDIR)/rules.mk



PKG_NAME:=rtp2jpeg

PKG_RELEASE:=1



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





include $(INCLUDE_DIR)/package.mk



define Package/rtp2jpeg

SECTION:=firefly

CATEGORY:=rtp2jpeg

TITLE:= rtp2jpeg

DEPENDS:=+libjpeg +libpthread +kmod-video-core +kmod-video-uvc +kmod-usb-core +kmod-usb2

endef



define Package/rtp2jpeg/description

An program to config rtp2jpeg.

endef



define Build/Prepare

mkdir -p $(PKG_BUILD_DIR)

$(CP) -r ./src/* $(PKG_BUILD_DIR)/

endef



define Build/Configure

endef



define Package/rtp2jpeg/install

$(INSTALL_DIR) $(1)/usr/bin

$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/camera_encode $(1)/usr/bin

endef





$(eval $(call BuildPackage,rtp2jpeg))

注意:如果是复制以上的Makefile请注意tab。

视频采集输出代码下载

[html] view
plaincopyprint?





git clone http://git.oschina.net/OpenWrt-X/rtp2jpeg src

如果编译出错,可能是src目录下少了一个bin文件目录

[html] view
plaincopyprint?





mkdir src/bin

执行

[html] view
plaincopyprint?





make ./package/rtp2jpeg/compile



拷贝到路由器上

2.2直接编译到固件中

[html] view
plaincopyprint?





make menuconfig



选择上rtp2jpeg

[html] view
plaincopyprint?





make V=99 -j4

烧写固件

3.rtp2jpeg使用

3.1 VLC使用

在克隆的src代码中包含文件:mjpeg.sdp

内容:

[html] view
plaincopyprint?





m=video 10000 RTP/***P 26

a=rtpmap:26 JPEG/90000;

a=decode_buf=300;

a=framerate:25

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: