CN110062209A - 基于okmx6q的嵌入式多跳实时视频传输方法及系统 - Google Patents
基于okmx6q的嵌入式多跳实时视频传输方法及系统 Download PDFInfo
- Publication number
- CN110062209A CN110062209A CN201910344488.2A CN201910344488A CN110062209A CN 110062209 A CN110062209 A CN 110062209A CN 201910344488 A CN201910344488 A CN 201910344488A CN 110062209 A CN110062209 A CN 110062209A
- Authority
- CN
- China
- Prior art keywords
- okmx6q
- kernel
- unit
- file
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/42—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
Abstract
基于OKMX6Q的嵌入式多跳实时视频传输方法及系统,涉及移动网络技术领域。本发明是为了解决传统的视频传输系统集成度不高的问题。本发明中修改了AODV协议,使其能够移植到高版本的内核。移植协议后,构建了能够临时快速自动组网的移动网络,无线视频传输。本发明在近距离点对点传输视频的最高传输速率为5.18Mbits/s,对应的时延为1.887ms。两跳跳视频的传输速率为0.70Mbits/s,对应的时延为1.259ms,丢包率为0.17%。
Description
技术领域
本发明属于移动网络技术领域。
背景技术
Ad Hoc路由协议主要分先验式路由、反应式路由、两种都有的混合式路由。先验式路由协议主要有:目的节点序号距离矢量路由协议DSDV,无线路由协议WRP,以及DBF协议。反应式路由协议,是一种当需要发送数据才查找路由的算法,主要有:按需距离矢量路由协议AODV,网络源动态路由协议DSR,时序路由算法等。AODV(Ad hoc On-demand DistanceVector Routing,无线自组网按需平面距离向量路由协议)路由协议作为网络的主要路由协议之一,它与固定网络的路由协议相比,路由协议主要提供了对动态链路状况的快速自适应,处理及存储开销较低,网络利用率较低主要由于路由控制开销较低,只需要确定到达网络内的目标节点的单目标传输路由。但现有的AODV协议只能移植到低版本的Linux(开源电脑操作系统内核)内核,无法兼容高版本的内核。
H.264是新一代编码标准,以高压缩高质量和支持多种网络的流媒体传输著称。概括来说,H.264编码的理论依据是视频图像之间的关联性。如果观察一段时间很短的视频,可以很容易的发现,视频相邻的若干帧画面中,大部分的像素都是没有变化的,尤其是对于拍摄角度固定的摄像头,很多时候的画面几乎是静止的。如果将这些相似的图像信息无差别的全部存储,很多数据都会是重复的。H.264编码就是将这些重复的信息只存储一次,从而减少了数据量。
视频画面在时间维度上的连续性,使得相邻帧的画面之间的区别有限,而在同一画面内,各个像素之间存在空间的连续性。根据视频图像的特点,H.264标准在编码一帧画面时,根据像素之间的相关性将图像分割成块,以块为单位,结合块之间的相关性进行存储,既保留了图像的信息,又减少了数据量。对于多帧图像,H.264标准采用的方法是:将图像以N帧为单位分为多组,每一组内首先编码第一帧图像,完全保留该图像的数据,作为关键帧,剩下的N-1帧图像只编码它们与关键帧的区别。在H.264编码标准中,完整编码的关键帧称为I帧,参考I帧编码的帧称为P帧。
在H.264中,图像以序列为单位进行组织,一个序列是一段图像编码后的数据流,以I帧开始,到下一个I帧结束。
一个序列的第一个图像叫做IDR图像(立即刷新图像),IDR图像都是I帧图像。H.264引入IDR图像是为了解码的重同步,当解码器解码到IDR图像时,立即将参考帧队列清空,将已解码的数据全部输出或抛弃,重新查找参数集,开始一个新的序列。这样,如果前一个序列出现重大错误,在这里可以获得重新同步的机会。IDR图像之后的图像永远不会使用IDR之前的图像的数据来解码。
一个序列就是一段内容差异不太大的图像编码后生成的一串数据流。当运动变化比较少时,一个序列可以很长,因为运动变化少就代表图像画面的内容变动很小,所以就可以编一个I帧,然后一直P帧、B帧了。当运动变化多时,可能一个序列就比较短了,比如就包含一个I帧和3、4个P帧。
H.264还具有错误隐藏的能力,在数据传输出现错误的情况下,这种机制能够将错误进行掩盖,达到比较好的解码效果。但是这种机制只在个别数据出现错误的情况下有效,对于网络丢包这种大范围的错误没有效果。
综上,传统的视频传输系统集成度不高。
发明内容
本发明是为了解决传统的视频传输系统集成度不高的问题,现提供基于OKMX6Q的嵌入式多跳实时视频传输方法及系统。
基于OKMX6Q的嵌入式多跳实时视频传输方法,该方法包括以下步骤:
步骤一:对交叉编译环境进行搭建;
步骤二:对Linux3.0.35内核进行修改,使其能够进行路由转发,对内核进行交叉编译,获得内核映像压缩文件zImage,然后将编译后的Linux3.0.35内核移植到每个需要进行视频传输的OKMX6Q平台中;
步骤三:对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配,并将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网;
步骤四:编写基于H.264视频编码格式的视频传输程序,并将该程序移植到每个OKMX6Q平台中,并基于该传输程序在各个OKMX6Q平台之间实现多跳视频实时传输。
上述步骤一中,对交叉编译环境进行搭建的具体步骤为:
在windows中载入VMware虚拟机,
在VMware虚拟机中运行Ubuntu16.04Linux操作系统,
在Ubuntu 16.04操作系统中安装arm-linux-gcc-4.3.2交叉编译工具。
上述步骤二中,对Linux3.0.35内核进行修改的具体步骤为:
S21:在根目录中执行make menuconfig命令,启动内核图形化的配置界面,进入配置界面并进行Netfilter配置;
S22:在Netfilter配置中勾选<*>IP Userspace queueing via NETLINK模块。
上述步骤三中,对AODV-UU协议进行修改的具体步骤为:
S31:重新定义kaodv-mod.h文件中的static rwlock_tifilock=RW_LOCK_UNLOCKED结构体;
S32:注释掉kaodv-netlink.c文件中与内核版本有关的定义,并保留与内核版本有关的头文件;
S33:将主目录和Lnx文件夹中Makefile文件的内核路径修改为高版本内核路径,
将主目录和Lnx文件夹中Makefile文件的编译器修改为arm开发板对应的编译器;
S34:在lnx/kaodv-debug.h文件中添加头文件kernel.h;
S35:注释掉lnx/kaodv-netlink.c文件中的#include<linux/config.h>;
S36:进入AODV-UU-0.9.6协议目录,在终端输入命令make arm中进行交叉编译,生成可执行文件aodvd和内核模块kaodv.ko。
上述步骤三中,将修改后的AODV-UU协议移植到每个OKMX6Q平台中的具体步骤为:
首先对OKMX6Q平台无线网卡进行配置,
然后在OKMX6Q平台中加载内核模块kaodv.ko,使其能够运行可执行文件aodvd。
上述对OKMX6Q平台无线网卡进行配置的具体步骤为:
开启无线网卡,并将网卡模式设置为点对点模式,
设置WiFi名和网卡ip,其中各个平台均位于同一网段下且ip不同。
基于OKMX6Q的嵌入式多跳实时视频传输系统,该系统包括以下单元:
用于对交叉编译环境进行搭建的单元;
用于对Linux3.0.35内核进行修改,使其能够进行路由转发的单元;
用于对内核进行交叉编译,获得内核映像压缩文件zImage,然后将编译后的Linux3.0.35内核移植到每个需要进行视频传输的OKMX6Q平台中的单元;
用于对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配的单元;
用于将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网的单元;
用于编写基于H.264视频编码格式的视频传输程序的单元;
用于将该程序移植到每个OKMX6Q平台中,并基于该传输程序在各个OKMX6Q平台之间实现多跳视频实时传输的单元。
进一步的,上述用于对交叉编译环境进行搭建的单元还包括以下子单元:
用于在windows中载入VMware虚拟机的单元,
用于在VMware虚拟机中运行Ubuntu16.04Linux操作系统的单元,
用于在Ubuntu 16.04操作系统中安装arm-linux-gcc-4.3.2交叉编译工具的单元。
进一步的,上述用于对Linux3.0.35内核进行修改,使其能够进行路由转发的单元中还包括以下子单元:
用于在根目录中执行make menuconfig命令的单元,
用于启动内核图形化的配置界面,进入配置界面并进行Netfilter配置的单元,
用于在Netfilter配置中勾选<*>IP Userspace queueing via NETLINK模块的单元。
进一步的,上述用于对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配的单元中,具体包括以下子单元:
用于重新定义kaodv-mod.h文件中的static rwlock_tifilock=RW_LOCK_UNLOCKED结构体的单元;
用于注释掉kaodv-netlink.c文件中与内核版本有关的定义,并保留与内核版本有关的头文件的单元;
用于将主目录和Lnx文件夹中Makefile文件的内核路径修改为高版本内核路径的单元;
用于将主目录和Lnx文件夹中Makefile文件的编译器修改为arm开发板对应的编译器的单元;
用于在lnx/kaodv-debug.h文件中添加头文件kernel.h的单元;
用于注释掉lnx/kaodv-netlink.c文件中的#include<linux/config.h>的单元;
用于进入AODV-UU-0.9.6协议目录,在终端输入命令make arm中进行交叉编译,生成可执行文件aodvd和内核模块kaodv.ko的单元。
进一步的,上述用于将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网的单元中,具体包括以下子单元:
用于对OKMX6Q平台无线网卡进行配置的单元,
用于在OKMX6Q平台中加载内核模块kaodv.ko,使其能够运行可执行文件aodvd的单元。
进一步的,上述用于对OKMX6Q平台无线网卡进行配置的单元中,具体包括以下子单元:
用于开启无线网卡,并将网卡模式设置为点对点模式的单元,
用于设置WiFi名和网卡ip的单元,其中各个平台均位于同一网段下且ip不同。
本发明中修改了AODV协议,使其能够移植到高版本的内核。移植协议后,构建了能够临时快速自动组网的移动网络,无线视频传输。本发明在近距离点对点传输视频的最高传输速率为5.18Mbits/s,对应的时延为1.887ms。两跳跳视频的传输速率为0.70Mbits/s,对应的时延为1.259ms,丢包率为0.17%。
附图说明
图1为基于OKMX6Q的嵌入式多跳实时视频传输方法的流程图;
图2为组网后192.168.1.2的路由列表图;
图3为具体实施方式二所述系统的结构框图。
具体实施方式
具体实施方式一:参照图1具体说明本实施方式,本实施方式所述的基于OKMX6Q的嵌入式多跳实时视频传输方法,该方法包括以下步骤:
步骤一:用于对交叉编译环境进行搭建,具体为:
在windows中载入VMware虚拟机,
在VMware虚拟机中运行Ubuntu16.04Linux操作系统,
在Ubuntu 16.04操作系统中安装arm-linux-gcc-4.3.2交叉编译工具。
由于AODV-UU协议是使用Linux内核的Netfilter模块进行通信的,因此需要编译Linux内核,具体通过步骤二实现。
步骤二:首先,对Linux3.0.35内核进行修改,具体为:
S21:在根目录中执行make menuconfig命令,启动内核图形化的配置界面,进入配置界面并进行Netfilter配置;所述Netfilter是Linux操作系统核心层内部的一个数据包处理模块,它具有如下功能,网络地址转换、数据包内容修改、以及数据包过滤的防火墙功能。
S22:在Netfilter配置中勾选<*>IP Userspace queueing via NETLINK(OBSOLETE)模块,该模块能够将数据包排入用户空间,设备可用驱动程序访问用户空间的数据包,然后转发数据包。
经过上述修改后,使Linux3.0.35能够进行路由转发。
然后,对Linux3.0.35内核进行交叉编译,获得内核映像压缩文件zImage,
最后,将编译后的Linux3.0.35内核移植到每个需要进行视频传输的OKMX6Q平台中。
至此,完成步骤二的所有操作。
AODV协议的版本为AODV-UU-0.9.6,协议代码分别为用户层代码和核心层代码,主目录下的用户层代码是路由算法,编译后会形成可执行文件aodvd。Lnx文件夹下是核心层代码,功能是实现Linux内核和路由算法的交互,编译后生成内核模块kaodv.ko。
由于高版本的内核函数接口与数据结构、低版本的内核不一样,协议在高版本内核下编译会发生错误,因此需要将AODV-UU-0.96协议移植到高版本内核时需要修改核心层代码。一下通过步骤三来实现。
步骤三:首先,对AODV-UU协议进行修改,具体修改步骤为:
S31:重新定义kaodv-mod.h文件中的static rwlock_tifilock=RW_LOCK_UNLOCKED结构体;读写锁是一种特殊的自旋锁,它把对共享资源对访问者划分成了读者和写者,读者只对共享资源进行访问,写者则是对共享资源进行写操作。而高版本内核中读写锁RW_LOCK_UNLOCKED的定义会被删除,所以要对其进行重新定义。
S32:注释掉kaodv-netlink.c文件中与内核版本有关的定义,并保留与内核版本有关的头文件;
S33:将主目录和Lnx文件夹中Makefile文件的内核路径修改为高版本内核路径,
将主目录和Lnx文件夹中Makefile文件的编译器修改为arm开发板对应的编译器;
S34:在lnx/kaodv-debug.h文件中添加头文件kernel.h;
S35:注释掉lnx/kaodv-netlink.c文件中的#include<linux/config.h>;lnx/kaodv-netlink.c文件主要功能是定义键盘语言和硬盘类型,而Linux内核2.6.19之后的内核没有了内核配置头文件config.h文件,因此需要注释掉该文件。
S36:进入AODV-UU-0.9.6协议目录,在终端输入命令make arm中进行交叉编译,生成可执行文件aodvd和内核模块kaodv.ko。
经过上述修改后,使得AODV-UU协议能够与Linxu3.0.35内核匹配。
然后,将修改后的AODV-UU协议移植到每个OKMX6Q平台中,具体移植方法为:
对OKMX6Q平台无线网卡进行配置,具体为:开启无线网卡,并将网卡模式设置为点对点模式,设置WiFi名和网卡ip,其中各个平台均位于同一网段下且ip不同。
在OKMX6Q平台中加载内核模块kaodv.ko,使其能够运行可执行文件aodvd,使得各个OKMX6Q平台之间能够实现组网。
步骤四:编写基于H.264视频编码格式的视频传输程序,并将该程序移植到每个OKMX6Q平台中,并基于该传输程序在各个OKMX6Q平台之间实现多跳视频实时传输。
本实施方式中,OKMAX6Q平台是基于NXP四核ARM Cortex-A9i.MX6Q高性能处理器的开发板。以i.MX6Q为核心的开发平台,其运行频率达1.2GHz,带有1MB L2缓存和64位DDR3或2通道、32位LPDDR2支持。其硬件视频编码支持MPEG-4/H.263/H.264达到1080p@30fps,降低了系统的功耗和成本,集成了WIFI模块,摄像头模块,增加了可推广性。本实施方式终端还移植了QT界面,使得操作更人性化。
具体实施方式二:参照图2和3具体说明本实施方式,本实施方式是实现具体实施方式一所述的基于OKMX6Q的嵌入式多跳实时视频传输方法及系统的系统,该系统包括3个OKMX6Q平台,RT3070无线网卡和OV5640摄像头。
在OKMX6Q开发板上移植Linux操作系统和ADOV路由协议,开发USB摄像头驱动和无线网卡驱动。移植路由协议后,OKMX6Q开发板开机后自动建立Ad Hoc网络。开发板通过USB接口连接摄像头,用H.264编码库对摄像头采集后的图像进行压缩编码。开发板采用UDP协议通过Ad Hoc网络发送压缩后的图像给另一个终端。另外一个终端将视频解码后传输图片到电脑,电脑显示图像。
如图2所示,三个OKMX6Q平台的IP地址分别为192.168.1.2、192.168.1.3、192.168.1.4..观察节点192.168.1.2节点的路由列表可以看到转发的多跳路径,证明成功组网。
本实施方式采用WIFI技术,利用RT3070无线网卡传输信息。移植自组织网络路由协议后,构建了能够临时快速自动组网的移动网络。
具体实施方式三:本实施方式所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,该系统包括以下单元:
用于对交叉编译环境进行搭建的单元,该单元具体包括以下执行的子单元;
用于对Linux3.0.35内核进行修改,使其能够进行路由转发的单元;
用于对内核进行交叉编译,获得内核映像压缩文件zImage,然后将编译后的Linux3.0.35内核移植到每个需要进行视频传输的OKMX6Q平台中的单元;
用于对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配的单元;
用于将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网的单元;
用于编写基于H.264视频编码格式的视频传输程序的单元;
用于将该程序移植到每个OKMX6Q平台中,并基于该传输程序在各个OKMX6Q平台之间实现多跳视频实时传输的单元。
进一步的,上述用于对交叉编译环境进行搭建的单元还包括以下子单元:
用于在windows中载入VMware虚拟机的单元,
用于在VMware虚拟机中运行Ubuntu16.04Linux操作系统的单元,
用于在Ubuntu 16.04操作系统中安装arm-linux-gcc-4.3.2交叉编译工具的单元。
进一步的,上述用于对Linux3.0.35内核进行修改,使其能够进行路由转发的单元中还包括以下子单元:
用于在根目录中执行make menuconfig命令的单元,
用于启动内核图形化的配置界面,进入配置界面并进行Netfilter配置的单元,
用于在Netfilter配置中勾选<*>IP Userspace queueing via NETLINK模块的单元。
进一步的,上述用于对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配的单元中,具体包括以下子单元:
用于重新定义kaodv-mod.h文件中的static rwlock_tifilock=RW_LOCK_UNLOCKED结构体的单元;
用于注释掉kaodv-netlink.c文件中与内核版本有关的定义,并保留与内核版本有关的头文件的单元;
用于将主目录和Lnx文件夹中Makefile文件的内核路径修改为高版本内核路径的单元;
用于将主目录和Lnx文件夹中Makefile文件的编译器修改为arm开发板对应的编译器的单元;
用于在lnx/kaodv-debug.h文件中添加头文件kernel.h的单元;
用于注释掉lnx/kaodv-netlink.c文件中的#include<linux/config.h>的单元;
用于进入AODV-UU-0.9.6协议目录,在终端输入命令make arm中进行交叉编译,生成可执行文件aodvd和内核模块kaodv.ko的单元。
进一步的,上述用于将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网的单元中,具体包括以下子单元:
用于对OKMX6Q平台无线网卡进行配置的单元,
用于在OKMX6Q平台中加载内核模块kaodv.ko,使其能够运行可执行文件aodvd的单元。
进一步的,上述用于对OKMX6Q平台无线网卡进行配置的单元中,具体包括以下子单元:
用于开启无线网卡,并将网卡模式设置为点对点模式的单元,
用于设置WiFi名和网卡ip的单元,其中各个平台均位于同一网段下且ip不同。
Claims (12)
1.基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,该方法包括以下步骤:
步骤一:对交叉编译环境进行搭建;
步骤二:对Linux3.0.35内核进行修改,使其能够进行路由转发,对内核进行交叉编译,获得内核映像压缩文件zImage,然后将编译后的Linux3.0.35内核移植到每个需要进行视频传输的OKMX6Q平台中;
步骤三:对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配,并将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网;
步骤四:编写基于H.264视频编码格式的视频传输程序,并将该程序移植到每个OKMX6Q平台中,并基于该传输程序在各个OKMX6Q平台之间实现多跳视频实时传输。
2.根据权利要求1所述的基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,步骤一中,用于对交叉编译环境进行搭建的具体步骤为:
在windows中载入VMware虚拟机,
在VMware虚拟机中运行Ubuntu16.04Linux操作系统,
在Ubuntu16.04操作系统中安装arm-linux-gcc-4.3.2交叉编译工具。
3.根据权利要求1所述的基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,步骤二中,对Linux3.0.35内核进行修改的具体步骤为:
S21:在根目录中执行make menuconfig命令,启动内核图形化的配置界面,进入配置界面并进行Netfilter配置;
S22:在Netfilter配置中勾选<*>IP Userspace queueing via NETLINK模块。
4.根据权利要求1所述的基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,步骤三中,对AODV-UU协议进行修改的具体步骤为:
S31:重新定义kaodv-mod.h文件中的static rwlock_tifilock=RW_LOCK_UNLOCKED结构体;
S32:注释掉kaodv-netlink.c文件中与内核版本有关的定义,并保留与内核版本有关的头文件;
S33:将主目录和Lnx文件夹中Makefile文件的内核路径修改为高版本内核路径,
将主目录和Lnx文件夹中Makefile文件的编译器修改为arm开发板对应的编译器;
S34:在lnx/kaodv-debug.h文件中添加头文件kernel.h;
S35:注释掉lnx/kaodv-netlink.c文件中的#include<linux/config.h>;
S36:进入AODV-UU-0.9.6协议目录,在终端输入命令make arm中进行交叉编译,生成可执行文件aodvd和内核模块kaodv.ko。
5.根据权利要求4所述的基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,步骤三中,将修改后的AODV-UU协议移植到每个OKMX6Q平台中的具体步骤为:
首先对OKMX6Q平台无线网卡进行配置,
然后在OKMX6Q平台中加载内核模块kaodv.ko,使其能够运行可执行文件aodvd。
6.根据权利要求5所述的基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,对OKMX6Q平台无线网卡进行配置的具体步骤为:
开启无线网卡,并将网卡模式设置为点对点模式,
设置WiFi名和网卡ip,其中各个平台均位于同一网段下且ip不同。
7.基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,该系统包括以下单元:
用于对交叉编译环境进行搭建的单元;
用于对Linux3.0.35内核进行修改,使其能够进行路由转发的单元;
用于对内核进行交叉编译,获得内核映像压缩文件zImage,然后将编译后的Linux3.0.35内核移植到每个需要进行视频传输的OKMX6Q平台中的单元;
用于对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配的单元;
用于将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网的单元;
用于编写基于H.264视频编码格式的视频传输程序的单元;
用于将该程序移植到每个OKMX6Q平台中,并基于该传输程序在各个OKMX6Q平台之间实现多跳视频实时传输的单元。
8.根据权利要求7所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,用于对交叉编译环境进行搭建的单元还包括以下子单元:
用于在windows中载入VMware虚拟机的单元,
用于在VMware虚拟机中运行Ubuntu16.04Linux操作系统的单元,
用于在Ubuntu16.04操作系统中安装arm-linux-gcc-4.3.2交叉编译工具的单元。
9.根据权利要求7所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,用于对Linux3.0.35内核进行修改,使其能够进行路由转发的单元中还包括以下子单元:
用于在根目录中执行make menuconfig命令的单元,
用于启动内核图形化的配置界面,进入配置界面并进行Netfilter配置的单元,
用于在Netfilter配置中勾选<*>IP Userspace queueing via NETLINK模块的单元。
10.根据权利要求7所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,用于对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配的单元中,具体包括以下子单元:
用于重新定义kaodv-mod.h文件中的static rwlock_tifilock=RW_LOCK_UNLOCKED结构体的单元;
用于注释掉kaodv-netlink.c文件中与内核版本有关的定义,并保留与内核版本有关的头文件的单元;
用于将主目录和Lnx文件夹中Makefile文件的内核路径修改为高版本内核路径的单元;
用于将主目录和Lnx文件夹中Makefile文件的编译器修改为arm开发板对应的编译器的单元;
用于在lnx/kaodv-debug.h文件中添加头文件kernel.h的单元;
用于注释掉lnx/kaodv-netlink.c文件中的#include<linux/config.h>的单元;
用于进入AODV-UU-0.9.6协议目录,在终端输入命令make arm中进行交叉编译,生成可执行文件aodvd和内核模块kaodv.ko的单元。
11.根据权利要求10所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,用于将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网的单元中,具体包括以下子单元:
用于对OKMX6Q平台无线网卡进行配置的单元,
用于在OKMX6Q平台中加载内核模块kaodv.ko,使其能够运行可执行文件aodvd的单元。
12.根据权利要求11所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,用于对OKMX6Q平台无线网卡进行配置的单元中,具体包括以下子单元:
用于开启无线网卡,并将网卡模式设置为点对点模式的单元,
用于设置WiFi名和网卡ip的单元,其中各个平台均位于同一网段下且ip不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910344488.2A CN110062209B (zh) | 2019-04-26 | 2019-04-26 | 基于okmx6q的嵌入式多跳实时视频传输方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910344488.2A CN110062209B (zh) | 2019-04-26 | 2019-04-26 | 基于okmx6q的嵌入式多跳实时视频传输方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110062209A true CN110062209A (zh) | 2019-07-26 |
CN110062209B CN110062209B (zh) | 2020-09-01 |
Family
ID=67321080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910344488.2A Active CN110062209B (zh) | 2019-04-26 | 2019-04-26 | 基于okmx6q的嵌入式多跳实时视频传输方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110062209B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156333A1 (en) * | 2003-02-07 | 2004-08-12 | General Electric Company | System for evolutionary service migration |
CN101790174A (zh) * | 2010-01-19 | 2010-07-28 | 西安交通大学 | 基于OMAP3530Mini开发板的Ad Hoc网络的搭建方法 |
US8065347B1 (en) * | 2006-12-21 | 2011-11-22 | Clinphone Plc | Managing protocol amendments in electronically recorded clinical trials |
CN102291797A (zh) * | 2011-07-04 | 2011-12-21 | 东南大学 | 具有路由功能的无线终端设计方法 |
CN202856900U (zh) * | 2012-09-26 | 2013-04-03 | 北京世纪协达科技有限公司 | 一种基于无线自组织网络的视频监控系统 |
US20140351894A1 (en) * | 2011-05-04 | 2014-11-27 | Novell, Inc. | Techniques for establishing a trusted cloud service |
-
2019
- 2019-04-26 CN CN201910344488.2A patent/CN110062209B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040156333A1 (en) * | 2003-02-07 | 2004-08-12 | General Electric Company | System for evolutionary service migration |
US8065347B1 (en) * | 2006-12-21 | 2011-11-22 | Clinphone Plc | Managing protocol amendments in electronically recorded clinical trials |
CN101790174A (zh) * | 2010-01-19 | 2010-07-28 | 西安交通大学 | 基于OMAP3530Mini开发板的Ad Hoc网络的搭建方法 |
US20140351894A1 (en) * | 2011-05-04 | 2014-11-27 | Novell, Inc. | Techniques for establishing a trusted cloud service |
US20160352779A1 (en) * | 2011-05-04 | 2016-12-01 | Novell, Inc. | Techniques for establishing a trusted cloud service |
CN102291797A (zh) * | 2011-07-04 | 2011-12-21 | 东南大学 | 具有路由功能的无线终端设计方法 |
CN202856900U (zh) * | 2012-09-26 | 2013-04-03 | 北京世纪协达科技有限公司 | 一种基于无线自组织网络的视频监控系统 |
Non-Patent Citations (4)
Title |
---|
AHMED EL BABA, ET AL.: "AODV adaptation for semi-static smart grid monitoring systems", 《 2012 INTERNATIONAL CONFERENCE ON SMART GRID (SGE)》 * |
SHAHIN TAJIK, ET AL.: "Performance of modified AODV (waiting AODV) protocol in mobile ad-hoc networks", 《 2010 SECOND INTERNATIONAL CONFERENCE ON UBIQUITOUS AND FUTURE NETWORKS (ICUFN)》 * |
周懿: "基于ARM嵌入式平台无线Mesh AP的设计与实现", 《中国优秀硕士学位论文全文数据库》 * |
梁青,等.: "无人机自组网中AODV路由协议的改进", 《西安邮电大学学报》 * |
Also Published As
Publication number | Publication date |
---|---|
CN110062209B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2571591C2 (ru) | Способы и системы для обеспечения раздельного конфигурирования и доступа множества виртуальных машин к физическому ресурсу | |
CN103150220B (zh) | 进程间的通信方法和通信系统 | |
US10042576B2 (en) | Method and apparatus for compressing addresses | |
CN105183662B (zh) | 一种无cache一致性协议的分布式共享片上存储架构 | |
CN109379432A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
CN110191194A (zh) | 一种基于rdma网络的分布式文件系统数据传输方法和系统 | |
CN106709043A (zh) | 一种基于数据库日志的数据同步加载方法 | |
CN107832343B (zh) | 一种基于位图的mbf数据索引结构对数据快速检索的方法 | |
DE112013007724T5 (de) | Gemeinsame Benutzung von Speicher und I/O-Diensten zwischen Knoten | |
KR101883723B1 (ko) | 인터커넥트 네트워크에서의 가변 폭 데이터 채널에 대한 효과적인 지원 | |
WO2021190179A1 (zh) | 一种同步处理方法和相关装置 | |
CN112764877A (zh) | 一种用于硬件加速设备与docker内进程通信的方法与系统 | |
KR20230079414A (ko) | 게이밍 애플리케이션들에서 딥 러닝 기반 예측을 이용한 레이턴시 관리 | |
WO2019085723A1 (zh) | 一种无线接入认证方法 | |
JP2006262336A (ja) | フレーム転送方法及び装置 | |
CN110062209A (zh) | 基于okmx6q的嵌入式多跳实时视频传输方法及系统 | |
CN102664948B (zh) | 一种跨网关数据存储的系统及方法 | |
KR102226915B1 (ko) | 소프트웨어 정의 네트워크에서 플로우 룰 데이터베이스를 운영하는 방법, 장치 및 컴퓨터 프로그램 | |
CN109743350A (zh) | 一种科学计算应用影像区交换通信模式的卸载实现方法 | |
TWI439088B (zh) | 網域閘道控制系統及其方法 | |
CN109743643A (zh) | 楼宇对讲系统的处理方法及装置 | |
KR101740456B1 (ko) | IoT 환경의 소프트웨어 정의 네트워크 기반의 패킷 포워딩 방법 | |
CN104661284B (zh) | 一种移动终端的wifi管理系统及其管理方法 | |
CN114443174A (zh) | 代码加载方法、代码加载装置、存储介质与电子设备 | |
KR20110077111A (ko) | 전자사전단말 업데이트시스템 및 업데이트방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |