FireWRT(MT7621)远程视频监控-1
2016-01-24 00:55
651 查看
FireWRT(MT7621)远程视频监控-1
标签: rtpopenwrtfirewrt2015-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
相关文章推荐
- Linux常用命令_文件管理
- 使用shell/python获取hostname/fqdn释疑
- 如何从零开始搭建一个网站
- opengl es画凹多边形问题:切割凹多边形为三角形
- 什么是REST架构
- 设计自己的高并发架构
- HDU 1678 Shopaholic(贪心)
- Xshell配置ssh免密码登录-密钥公钥(Public key)与私钥(Private Key)登录
- Linux学习笔记(2)----文件权限
- VMware虚拟机克隆Linux系统后找不到eth0网卡的问题
- iTop4412时钟配置
- linux运行时动态调整内核参数工具sysctl学习小结
- docker容器的端口映射(构建nginx容器)
- docker查看镜像和删除镜像
- docker镜像的获取和推送
- android:内部存储空间 IO 操作openFileInput()、output(13)
- 如何让nodejs在linux后台运行
- OpenWrt编译记录
- 自带内存上的读写(openFileOutput和openFileInput)
- centos上安装配置tomcat