找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 2781|回复: 0

[RTP+DIY] FireWRT远程视频监控-1

[复制链接]
发表于 2015-6-10 11:23 | 显示全部楼层 |阅读模式
本帖最后由 Developer_x 于 2015-6-10 11:24 编辑

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

  • cd rtp2jpeg
  • vim Makefile

[color=rgb(247, 87, 51) !important]复制代码

内容如下
可以直接在Makefile中写上这些依赖
  • #
  • # 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
  •       <font color="Red">DEPENDS:=+libjpeg +libpthread +kmod-video-core +kmod-video-uvc +kmod-usb-core +kmod-usb2</font>
  • 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))

[color=rgb(247, 87, 51) !important]复制代码


注意:如果是复制以上的Makefile请注意tab。
视频采集输出代码下载
本帖隐藏的内容git clone http://git.oschina.net/OpenWrt-X/rtp2jpeg src


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

[color=rgb(247, 87, 51) !important]复制代码

执行
  • $ make ./package/rtp2jpeg/compile

[color=rgb(247, 87, 51) !important]复制代码


拷贝到路由器上

2.2直接编译到固件中
  • make menuconfig


[color=rgb(247, 87, 51) !important]复制代码


选择上rtp2jpeg
  • make V=99 -j4

[color=rgb(247, 87, 51) !important]复制代码

烧写固件

3.rtp2jpeg使用
3.1 VLC使用
在克隆的src代码中包含文件:mjpeg.sdp
内容:
  • m=video 10000 RTP/AVP 26
  • a=rtpmap:26 JPEG/90000;
  • a=decode_buf=300;
  • a=framerate:25
  • c=IN IP4 local


[color=rgb(247, 87, 51) !important]复制代码

10000是端口号
ubuntu使用:
右键点击:mjpeg.sdp打开用VLC打开

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

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

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

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

此时观测VLC播放器:

下载附件

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


原文地址:http://developer.t-firefly.com/forum.php?mod=viewthread&tid=980&extra=page%3D2
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-24 05:36

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表