FireWRT(MT7621)远程视频监控-1
  M9aMEIE19lAW 2023年11月02日 84 0


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


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连接示意图

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

2.编译OpenWrt
依赖的库文件:
libjpeg
libpthread
kmod-video-core
kmod-video-uvc
kmod-usb-core
kmod-usb2

2.1 在package下新建文件rtp2jpeg


1. mkdir <span style="font-family:宋体;"><span style="font-size:18px;"></span></span>rtp2jpeg   
2. cd rtp2jpeg  
3. vim Makefile

内容如下

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

1. #  
2. # Copyright (C) 2010-2013 hua.shao@mediatek.com  
3. #  
4. # Ralink Property Software.  
5. #  
6.   
7. include $(TOPDIR)/rules.mk  
8.   
9. PKG_NAME:=rtp2jpeg  
10. PKG_RELEASE:=1  
11.   
12. PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)  
13.   
14.   
15. include $(INCLUDE_DIR)/package.mk  
16.   
17. define Package/rtp2jpeg  
18. SECTION:=firefly  
19. CATEGORY:=rtp2jpeg  
20. TITLE:= rtp2jpeg  
21. DEPENDS:=+libjpeg +libpthread +kmod-video-core +kmod-video-uvc +kmod-usb-core +kmod-usb2  
22. endef  
23.   
24. define Package/rtp2jpeg/description  
25.   An program to config rtp2jpeg.  
26. endef  
27.   
28. define Build/Prepare  
29.     mkdir -p $(PKG_BUILD_DIR)  
30.     $(CP) -r ./src/* $(PKG_BUILD_DIR)/  
31. endef  
32.   
33. define Build/Configure  
34. endef  
35.   
36. define Package/rtp2jpeg/install  
37.     $(INSTALL_DIR) $(1)/usr/bin  
38.     $(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/camera_encode $(1)/usr/bin  
39. endef  
40.   
41.   
42. $(eval $(call BuildPackage,rtp2jpeg))


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

视频采集输出代码下载

1. git clone  src

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

    1. mkdir src/bin


    执行

      1. make ./package/rtp2jpeg/compile


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


      拷贝到路由器上

      2.2直接编译到固件中


        1. make menuconfig


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

        选择上rtp2jpeg


          1. make V=99 -j4


          烧写固件


          3.rtp2jpeg使用

          3.1 VLC使用

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

          内容:

            1. m=video 10000 RTP/AVP 26  
            2. a=rtpmap:26 JPEG/90000;  
            3. a=decode_buf=300;  
            4. a=framerate:25  
            5. c=IN IP4 local


            10000是端口号

            ubuntu使用:

            右键点击:mjpeg.sdp打开用VLC打开

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

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

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

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

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

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

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

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

            此时观测VLC播放器:

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

            播放成功。
            代码解释,请看下一章分析:http://developer.t-firefly.com/thread-983-1-1.html

            【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

            1. 分享:
            最后一次编辑于 2023年11月08日 0

            暂无评论

            推荐阅读
              anLrwkgbyYZS   2023年12月30日   33   0   0 ideciciMaxideMax
            M9aMEIE19lAW