CN110062209A - 基于okmx6q的嵌入式多跳实时视频传输方法及系统 - Google Patents

基于okmx6q的嵌入式多跳实时视频传输方法及系统 Download PDF

Info

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
Application number
CN201910344488.2A
Other languages
English (en)
Other versions
CN110062209B (zh
Inventor
石硕
吴建泽
叶亮
黄智图
顾学迈
佟翔宇
王孟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology
Original Assignee
Harbin Institute of Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology filed Critical Harbin Institute of Technology
Priority to CN201910344488.2A priority Critical patent/CN110062209B/zh
Publication of CN110062209A publication Critical patent/CN110062209A/zh
Application granted granted Critical
Publication of CN110062209B publication Critical patent/CN110062209B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-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

基于OKMX6Q的嵌入式多跳实时视频传输方法及系统
技术领域
本发明属于移动网络技术领域。
背景技术
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不同。
CN201910344488.2A 2019-04-26 2019-04-26 基于okmx6q的嵌入式多跳实时视频传输方法及系统 Active CN110062209B (zh)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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