Do one thing at a time, and do well.

原文地址:

1.准备工作1.1.购置摄像头:支持输出视频格式yuyv420、yuyv422或jpeg之一即可1.2.路由器:支持usb1.3.注意:如果购置的摄像头输出的视频格式是yuyv420或者yuyv422,会让FireWRT的CPU消耗30-60%,虽然FireWRT是双核880MHz的CPU但是也会出现视频卡顿现象。如果购置的摄像头输出视频格式只是jpeg,则不存在上述问题。1.4安装VLC播放器下载地址: 1.5连接示意图

2.编译OpenWrt依赖的库文件:libjpeglibpthreadkmod-video-corekmod-video-uvckmod-usb-corekmod-usb22.1 在package下新建文件rtp2jpeg

mkdir <span style="font-family:宋体;"><span style="font-size:18px;"></span></span>rtp2jpeg cd rtp2jpegvim Makefile内容如下可以直接在Makefile中写上这些依赖## Copyright (C) 2010-2013 hua.shao@mediatek.com## Ralink Property Software.#include $(TOPDIR)/rules.mkPKG_NAME:=rtp2jpegPKG_RELEASE:=1PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)include $(INCLUDE_DIR)/package.mkdefine Package/rtp2jpeg SECTION:=firefly CATEGORY:=rtp2jpeg TITLE:= rtp2jpeg DEPENDS:=+libjpeg +libpthread +kmod-video-core +kmod-video-uvc +kmod-usb-core +kmod-usb2endefdefine Package/rtp2jpeg/description An program to config rtp2jpeg.endefdefine Build/Preparemkdir -p $(PKG_BUILD_DIR)$(CP) -r ./src/* $(PKG_BUILD_DIR)/endefdefine Build/Configureendefdefine Package/rtp2jpeg/install$(INSTALL_DIR) $(1)/usr/bin$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/camera_encode $(1)/usr/binendef$(eval $(call BuildPackage,rtp2jpeg))注意:如果是复制以上的Makefile请注意tab。视频采集输出代码下载git clone src如果编译出错,,可能是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 26a=rtpmap:26 JPEG/90000;a=decode_buf=300;a=framerate:25c=IN IP4 local10000是端口号ubuntu使用:右键点击:mjpeg.sdp打开用VLC打开

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

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

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

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

此时观测VLC播放器:

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

这种精神使人能在旅行中和大自然更加接近,

Do one thing at a time, and do well.

相关文章:

你感兴趣的文章:

标签云: