chtomato 发表于 2015-3-26 10:46

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

本帖最后由 chtomato 于 2015-3-26 16:02 编辑

原文地址: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
cd rtp2jpeg
vim Makefile内容如下
可以直接在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
         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。
视频采集输出代码下载
**** Hidden Message *****如果编译出错,可能是src目录下少了一个bin文件目录
mkdir src/bin执行
make ./package/rtp2jpeg/compile
拷贝到路由器上

2.2直接编译到固件中
make menuconfig   

选择上rtp2jpeg
    make V=99 -j4烧写固件

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 local10000是端口号
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

hades2014 发表于 2015-3-26 11:19

:lol:lol:lol:lolMT7621,,,,,楼主是7621的demo板子。。哪里买的,,发个购买的地址呗。。:lol。。????

chtomato 发表于 2015-3-26 11:29

hades2014 发表于 2015-3-26 11:19
MT7621,,,,,楼主是7621的demo板子。。哪里买的,,发个购买的地址呗。。。。????

我去官网申请的,弄了好久才拿到的。你去试试拉:http://www.t-firefly.com/zh/

hades2014 发表于 2015-3-26 11:45

chtomato 发表于 2015-3-26 11:29
我去官网申请的,弄了好久才拿到的。你去试试拉:http://www.t-firefly.com/zh/

哇哇,,,看着挺高大上的,,淘宝店没mt7621的,,我去社区看看。。。。:lol

感谢楼主。。。。

chtomato 发表于 2015-3-26 11:51

hades2014 发表于 2015-3-26 11:45
哇哇,,,看着挺高大上的,,淘宝店没mt7621的,,我去社区看看。。。。

感谢楼主。。。。

嗯嗯。

sandy99 发表于 2022-12-3 16:09


感谢楼主无私分享
页: [1]
查看完整版本: FireWRT(MT7621)远程视频监控-1