CN110062209B - 基于okmx6q的嵌入式多跳实时视频传输方法及系统 - Google Patents
基于okmx6q的嵌入式多跳实时视频传输方法及系统 Download PDFInfo
- Publication number
- CN110062209B CN110062209B CN201910344488.2A CN201910344488A CN110062209B CN 110062209 B CN110062209 B CN 110062209B CN 201910344488 A CN201910344488 A CN 201910344488A CN 110062209 B CN110062209 B CN 110062209B
- Authority
- CN
- China
- Prior art keywords
- kernel
- okmx6q
- unit
- platform
- protocol
- 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.)
- Active
Links
Images
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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
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平台之间实现多跳视频实时传输。
本实施方式中,OKMX6Q平台是基于NXP四核ARM Cortex-A9 i.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 (10)
1.基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,该方法包括以下步骤:
步骤一:对交叉编译环境进行搭建;
步骤二:对Linux3.0.35内核进行修改,使其能够进行路由转发,对内核进行交叉编译,获得内核映像压缩文件zImage,然后将编译后的Linux3.0.35内核移植到每个需要进行视频传输的OKMX6Q平台中;
步骤三:对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配,并将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网;
步骤四:编写基于H.264视频编码格式的视频传输程序,并将该程序移植到每个OKMX6Q平台中,并基于该传输程序在各个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;
OKMX6Q平台是基于NXP四核ARM Cortex-A9 i.MX6Q高性能处理器的开发板。
2.根据权利要求1所述的基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,步骤一中,用于对交叉编译环境进行搭建的具体步骤为:
在windows中载入VMware虚拟机,
在VMware虚拟机中运行Ubuntu16.04Linux操作系统,
在Ubuntu 16.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协议移植到每个OKMX6Q平台中的具体步骤为:
首先对OKMX6Q平台无线网卡进行配置,
然后在OKMX6Q平台中加载内核模块kaodv.ko,使其能够运行可执行文件aodvd。
5.根据权利要求4所述的基于OKMX6Q的嵌入式多跳实时视频传输方法,其特征在于,对OKMX6Q平台无线网卡进行配置的具体步骤为:
开启无线网卡,并将网卡模式设置为点对点模式,
设置WiFi名和网卡ip,其中各个平台均位于同一网段下且ip不同。
6.基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,该系统包括以下单元:
用于对交叉编译环境进行搭建的单元;
用于对Linux3.0.35内核进行修改,使其能够进行路由转发的单元;
用于对内核进行交叉编译,获得内核映像压缩文件zImage,然后将编译后的Linux3.0.35内核移植到每个需要进行视频传输的OKMX6Q平台中的单元;
用于对AODV-UU协议进行修改,使其能够与Linxu3.0.35内核匹配的单元;
用于将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网的单元;
用于编写基于H.264视频编码格式的视频传输程序的单元;
用于将该程序移植到每个OKMX6Q平台中,并基于该传输程序在各个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的单元;
OKMX6Q平台是基于NXP四核ARM Cortex-A9 i.MX6Q高性能处理器的开发板。
7.根据权利要求6所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,用于对交叉编译环境进行搭建的单元还包括以下子单元:
用于在windows中载入VMware虚拟机的单元,
用于在VMware虚拟机中运行Ubuntu16.04Linux操作系统的单元,
用于在Ubuntu 16.04操作系统中安装arm-linux-gcc-4.3.2交叉编译工具的单元。
8.根据权利要求6所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,用于对Linux3.0.35内核进行修改,使其能够进行路由转发的单元中还包括以下子单元:
用于在根目录中执行make menuconfig命令的单元,
用于启动内核图形化的配置界面,进入配置界面并进行Netfilter配置的单元,
用于在Netfilter配置中勾选<*>IP Userspace queueing via NETLINK模块的单元。
9.根据权利要求6所述的基于OKMX6Q的嵌入式多跳实时视频传输系统,其特征在于,用于将修改后的AODV-UU协议移植到每个OKMX6Q平台中,使得各个OKMX6Q平台之间能够实现组网的单元中,具体包括以下子单元:
用于对OKMX6Q平台无线网卡进行配置的单元,
用于在OKMX6Q平台中加载内核模块kaodv.ko,使其能够运行可执行文件aodvd的单元。
10.根据权利要求9所述的基于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 CN110062209A (zh) | 2019-07-26 |
CN110062209B true 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) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7366185B2 (en) * | 2003-02-07 | 2008-04-29 | Lockheed Martin Corporation | System for evolutionary service migration |
US8065347B1 (en) * | 2006-12-21 | 2011-11-22 | Clinphone Plc | Managing protocol amendments in electronically recorded clinical trials |
CN101790174B (zh) * | 2010-01-19 | 2012-07-25 | 西安交通大学 | 基于OMAP3530Mini开发板的Ad Hoc网络的搭建方法 |
US8813192B2 (en) * | 2011-05-04 | 2014-08-19 | Novell, Inc. | Techniques for establishing a trusted cloud service |
CN102291797B (zh) * | 2011-07-04 | 2014-02-26 | 东南大学 | 具有路由功能的无线终端设计方法 |
CN202856900U (zh) * | 2012-09-26 | 2013-04-03 | 北京世纪协达科技有限公司 | 一种基于无线自组织网络的视频监控系统 |
-
2019
- 2019-04-26 CN CN201910344488.2A patent/CN110062209B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110062209A (zh) | 2019-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102067569B (zh) | 在多处理器计算环境中管理数据服务的方法和设备 | |
JP2022524487A (ja) | 計算データ記憶システム | |
CN103250141B (zh) | 联网的客户端-服务器体系结构中的预读处理 | |
US10042576B2 (en) | Method and apparatus for compressing addresses | |
CN109379432A (zh) | 数据处理方法、装置、服务器及计算机可读存储介质 | |
WO2014023000A1 (zh) | 分布式数据处理方法及装置 | |
CN104823180A (zh) | 分布式跨平台用户界面和应用投影 | |
CN112764877A (zh) | 一种用于硬件加速设备与docker内进程通信的方法与系统 | |
CN102630007B (zh) | 一种处理tcp视频数据流的方法 | |
CN104521239A (zh) | 视频数据文件的同步编码和发送 | |
CN109821235B (zh) | 游戏录像方法、装置及服务器 | |
CN110062209B (zh) | 基于okmx6q的嵌入式多跳实时视频传输方法及系统 | |
CN105488108A (zh) | 一种多个视频文件高速并行存储的方法及装置 | |
CN107451070B (zh) | 一种数据的处理方法和服务器 | |
CN110337005A (zh) | 智能终端的录屏方法、系统、智能终端及计算机可读存储介质 | |
TW201445989A (zh) | 分散式編解碼系統及方法 | |
JP6778956B2 (ja) | リアルタイム編集システム | |
KR102296987B1 (ko) | 기계 학습 모델에 기초한 블록 체인을 이용한 hevc 분산형 복호화 방법, 장치 및 시스템 | |
CN102638569B (zh) | 一种文件分发同步方法及系统 | |
US10826724B2 (en) | Flexible unnumbered destination tunnels for virtual networks | |
CN110636368B (zh) | 媒体播放方法、系统、装置及存储介质 | |
KR20110077111A (ko) | 전자사전단말 업데이트시스템 및 업데이트방법 | |
KR20100029010A (ko) | 멀티미디어 데이터를 처리하기 위한 다중 프로세서 시스템들 및 그것의 방법들 | |
US11064265B2 (en) | Method of processing media contents | |
CN104866294A (zh) | 一种扩展Android软件功能的方法及装置 |
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 |