OpenIPC
跟踪日志
2024//
2024//
2024//
参考文章
参考文献
引言
图传系统
无线图传技术即无线图像传输技术,是指不用布线(线缆)利用无线电波来传输图像数据的技术。
工作原理
无线图传技术主要涉及图像采集、编码、调制、发射、接收、解调、解码和图像显示等环节。
-
图像采集:通过摄像头或其他图像采集设备获取图像信息。这些设备可以是专业的摄像机、监控摄像头、手机摄像头等。采集到的图像通常是模拟信号或数字信号,具体取决于采集设备的类型。当今常用设备有:
- IMX415-AAQR-C:
IMX415-AAQR-C是一个对角线6.4mm(类型1/2.8)CMOS活动像素型固态图像传感器,具有一个正方形像素阵列和8.46 M有效像素。该芯片采用模拟2.9 V、数字1.1 V、接口1.8 V三层电源运行,功耗低。采用R、G、B原色镶嵌滤光片,实现高灵敏度、低暗电流、无涂片。该芯片具有一个具有可变电荷集成时间的电子快门。
- IMX415-AAQR-C:
-
编码:如果采集到的图像是模拟信号,需要先进行模数转换,将其转换为数字信号。然后,使用图像编码算法对数字图像进行压缩编码,以减少数据量,便于传输。常见的图像编码标准有 H.264、H.265 等。
- H.264/AVC
H264视频编码技术,是对序列帧图像进行压缩的技术。压缩之所以可能,是因为存在冗余数据。采用网络友好的结构和语法,有利于对误码和丢包的处理。在编码技术上,通过统一的VLC符号编码,高精度、多模式的位移估计,基于4X4块的整数变换,分层的编码语法等措施,使得H264算法具备很高的编码效率。
视频实时性上,安徽大学在Hi3516SOC平台上实现H.264编码,并设计RTSP服务器用于在网络上传输H.264码流,使用VLC开源软件测试RTSP码流封包的正确性和评估H.264编码的图像效果。结果表明,该系统能够通过网络较为稳定地传输视频画面,而且画面清晰、数据传输快,满足视频监控的实时性需求。[1]参考资料 - H.265
是为了应对更高分辨率视频(如4K、8K)的需求而开发的。它的主要优势在于其更高的压缩效率,相比H.264,它能够在保持相同视频质量的情况下,将视频数据量减少大约30% - 50%。高效的压缩能力使得 H.265 在高清和超高清视频的存储与传输方面展现出了巨大的优势,特别是在网络带宽资源紧张或者存储空间有限的云桌面应用场景中。 - AV1
现在最新的编码标准。
AV1编码器开源以及免专利费的优势,已有许多视频平台对其进行了支持,并且最近硬件也开始对AV1编码进行了支持,如英特尔Arc显卡、英伟达RTX40系显卡、以及即将发售的AMD RX7000系列显卡。可以预见的是,AV1编码将成为主流。
- H.264/AVC
-
调制:将编码后的图像数据进行调制,即将数字信号转换为适合在无线信道中传输的信号形式。调制方式有很多种,如调频(FM)、调幅(AM)、调相(PM)等,以及数字调制方式如正交频分复用(OFDM)等。
-
发射:通过无线发射设备将调制后的信号发送出去。无线发射设备可以是 Wi-Fi 路由器、蓝牙设备、无线射频模块等。发射的信号通过空气等无线介质传播。
对于图传系统,最常用的就是USB网卡,适合需要便捷和灵活连接的用户,广泛用于台式机或无内建无线网卡的设备。
常见的有- rtl8812au
由网卡芯片和USB网络适配器组成
RTL8812AU是一颗高性能的无线局域网(Wi-Fi)芯片,它支持IEEE 802.11ac/a/n无线标准,提供高速无线连接能力。该芯片搭载了2.4GHz/5GHz双频段,能够提供高达867Mbps的数据传输速率。它内置了强大的信号处理单元,包含调制解调器和功率放大器,有效增强了无线信号的接收与发送性能,确保了较好的无线覆盖范围和连接稳定性。此外,RTL8812AU还集成了多输入多输出(MIMO)技术,通过使用多副天线来提高数据传输速率和系统的整体吞吐量。
USB网络适配器通常由RTL8812AU无线芯片、USB接口芯片、天线系统、以及必要的电源管理电路组成。RTL8812AU芯片作为无线通信的核心部件,负责无线信号的处理和数据包的发送与接收。USB接口芯片则负责与主机的通信,并将RTL8812AU芯片的数据流转换为USB总线上的数据流。天线系统负责无线信号的接收与发送,通常包含两个或多个天线以支持MIMO技术。电源管理电路包括稳压器和滤波电容,确保设备运行稳定并满足USB总线的供电要求。 - IEEE 802.11
EEE 802.11标准的物理层技术包括跳频扩频(FHSS)、直接序列扩频(DSSS)、正交频分复用(OFDM)和多输入多输出(MIMO)等多种技术。这些技术各有特点,共同构成了IEEE 802.11标准强大的物理层传输能力。 - USB接口协议
详见Linux内核源码-USB驱动分析
- rtl8812au
-
接收:在接收端,使用相应的无线接收设备接收发射端发送过来的信号。接收设备需要与发射设备在相同的频率和调制方式下工作,才能正确接收信号。
与发射是配套的关系,解决好驱动层面就能解决 -
解调:对接收到的信号进行解调,即将无线信号转换回数字信号。解调过程是调制的逆过程,需要根据发射端使用的调制方式进行相应的解调操作。
-
解码:对解调后的数字信号进行解码,恢复出原始的图像数据。解码过程是编码的逆过程,需要使用与发射端相同的图像编码算法进行解码。
同样与编码部分一一对应 -
图像显示:将解码后的图像数据在显示设备上进行显示,如显示器、电视、手机屏幕等。显示设备可以直接连接到接收端设备,也可以通过网络等其他方式接收图像数据进行显示。
技术优势
-
便捷性:
摆脱了传统有线连接的束缚,无需铺设大量的电缆,使得设备的安装和部署更加灵活方便。特别是在一些难以布线的场所,如户外、古建筑、临时活动场地等,无线图传技术能够快速搭建图像传输系统,节省时间和成本。
例如,在户外拍摄电影或举办大型活动时,使用无线图传可以让摄影师和导演在不同位置自由移动,而不受线缆长度的限制,提高工作效率。 -
灵活性:
支持多种设备的连接和图像传输,可以与不同类型的图像采集设备(如摄像机、手机、平板电脑等)和显示设备(如监视器、投影仪、电视等)配合使用。同时,无线图传技术可以根据不同的应用需求进行定制和扩展,满足各种复杂场景的图像传输要求。
例如,在安防监控领域,无线图传可以将不同位置的监控摄像头的图像传输到监控中心,并且可以根据需要随时增加或调整摄像头的位置和数量。 -
实时性:
能够实现图像的实时传输,具有较低的延迟。这对于一些对实时性要求较高的应用场景,如直播、视频会议、无人机航拍等非常重要。低延迟的无线图传可以让用户在接收端几乎同步地看到发送端的图像,提高交互性和用户体验。
例如,在体育赛事直播中,无线图传可以将现场的比赛画面实时传输到电视台或网络直播平台,让观众能够第一时间观看到精彩的比赛。 -
抗干扰性:
采用了先进的无线通信技术和信号处理算法,具有较强的抗干扰能力。能够在复杂的电磁环境中稳定工作,不受其他无线设备的干扰,保证图像传输的质量和可靠性。
例如,在城市环境中,存在大量的无线信号源,如 Wi-Fi、蓝牙、手机信号等,无线图传技术可以通过频率选择、信号加密、纠错编码等方式,提高抗干扰能力,确保图像传输的稳定性。 -
传输距离:
根据不同的技术标准和设备性能,无线图传的传输距离可以从几米到几公里甚至更远。一般来说,低功率的无线图传设备适用于短距离传输,如室内、小型活动场地等;而高功率的无线图传设备则可以用于长距离传输,如户外、大型活动现场等。
例如,在无人机航拍中,需要使用传输距离较远的无线图传设备,以便将无人机拍摄的画面实时传输到地面控制站。而在家庭监控中,短距离的无线图传设备就可以满足需求。
应用领域
无线图传技术广泛应用于多个领域,如影视制作、新闻直播、活动直播、无人机航拍、安防监控、教育、医疗等。具体应用案例可参考上文对无线图传使用场景的描述。
当今发展现状
-
硬件选型与优化:
-
高性能图传模块:选择传输速率高、信号稳定性强的无线图传模块。例如,一些采用先进的 LR-WiFi 技术或其他高性能无线通信技术的模块,能够在保证数据传输速率的同时,提升通信距离和抗干扰能力,为低延迟传输提供基础。
- LR-WiFi: (Long Range WIFI)
是在现有的 Wi-Fi 技术(如 Wi-Fi 4 或 Wi-Fi 5)基础上进行优化,专注于低功耗、长距离和低数据速率传输。
云望物联研发的 CV5200 无线通信视频传输 WiFi 模块,基于 802.11 无线通信标准,采用了 LR-WiFi 私有协议,具备 ML(最大似然检测),MRC(最大比合并),LDPC(低密度奇偶校验码),MIMO-OFDM(多输入多输出 - 正交频分复用)等高级无线技术。其双路发射输出功率可达 + 29dBm(单路 26dBm),使用 2.5dBi 天线进行地对空实测时,在空旷环境下能达到 6KM 的传输距离,并且支持 2Mbps、1080p 实时传输
- LR-WiFi: (Long Range WIFI)
-
硬件编解码器:使用硬件编解码器进行视频的编码和解码。硬件编解码相比软件编解码具有更高的效率和更低的延迟,能够快速处理视频数据,减少处理时间,从而降低整体传输延迟。
- NVIDIA NVENC
专门用于加速H.264和H.265/HEVC视频编码,集成在GeForce GTX/RTX、Quadro和Tesla等多个系列显卡中。 - Intel Quick Sync Video
内嵌在 Intel 处理器中的硬件加速编解码引擎。它可以利用 CPU 集成显卡的计算能力,将视频编码和解码任务从 CPU 中剥离出来,从而释放 CPU 资源,提升整体系统性能。
Quick Sync 支持多种视频处理编解码器的硬件加速,包括 H.264 (AVC)、H.265 (HEVC)、VP8、VP9 和最新的 AV1。 - AMD VCE (Video Codec Engine)
AMD显卡和处理器中的硬件视频编码器,类似于NVIDIA的NVENC。它支持高效的视频编码处理,通常用于实时视频流和直播。VCE支持H.264、H.265(HEVC)编码,并且被广泛应用于AMD的Radeon显卡中。 - jetson视频编码:
nvmpi 是 NVIDIA 提供的多媒体处理接口,jetson-ffmpeg链接
- NVIDIA NVENC
-
-
协议优化:
- 网络频段优化:根据实际使用场景,选择干扰较小、带宽较高的网络频段。例如,对于 2.4GHz 和 5GHz 两个常见的 Wi-Fi 频段,5GHz 频段的带宽更高、干扰更少,但传输距离相对较短;2.4GHz 频段的传输距离较远,但干扰相对较多。在近距离、对带宽要求高的场景下,优先选择 5GHz 频段;在需要远距离传输的场景下,可以根据实际情况综合考虑。
- 优化网络拓扑结构:确保无线图传模块与接收端之间的网络拓扑结构简单、稳定。减少网络中的中间节点和设备,避免数据在传输过程中经过过多的转发和处理,从而降低延迟。同时,合理设置无线接入点的位置和数量,保证信号覆盖范围和强度,提高网络的稳定性和传输效率。
- 网络带宽管理:对网络带宽进行合理的分配和管理,优先保证数据的传输带宽。可以通过设置 QoS(服务质量)策略,对不同类型的网络流量进行分类和优先级设置,确保数据能够及时、快速地传输。
-
软件优化:
- 优化编解码算法:采用高效的视频编解码算法,如 H.264、H.265 等,并且根据实际情况对编解码参数进行优化。例如,调整编码的帧率、分辨率、码率等参数,在保证视频质量的前提下,降低数据量和编码时间,从而减少延迟。
- 多线程处理:在软件设计中,采用多线程技术,将数据的采集、编码、传输、解码等操作分配到不同的线程中并行处理,提高系统的处理效率,降低延迟。同时,要注意线程之间的同步和数据交互,避免出现数据丢失或错误。
- 编解码再进化:Ali266 与下一代视频技术
在 LiveVideoStackCon 2021 北京峰会,阿里云自研的 VVC 编解码器,首先 Ali266 对 VVC 这个最新视频标准提供完整的编解码能力,速度可以达到实时高清,目前我们最快的速度是可以达到 1080p30 帧编码速度。
Ali266 压缩性能卓越,在 Slow 档次上达到 50% 的带宽节省,在实时 Fast 档次上达到 40% 的带宽节省,因此 Ali266 从质量优先到速度优先可以覆盖不同业务的需求。同时我们非常高兴的汇报我们正在与优酷进行深度合作,希望通过 Ali266 技术落地优酷,助力优酷降本增质、赋能新业务技术支撑。
- 编解码再进化:Ali266 与下一代视频技术
- 错误处理和重传机制:建立完善的错误处理和重传机制,当数据传输过程中出现丢包、错误等情况时,能够及时进行检测和处理。对于重要的数据,可以采用重传的方式保证数据的完整性和准确性,但要注意重传的次数和时机,避免因过多的重传导致延迟增加。
图传系统
在当今时代,无人机的应用正变得越来越广泛,无论是在航拍记录绝美风光、农业领域进行植保作业、还是参与救援抢险等诸多场景中,都能看到它活跃的身影。而在无人机发挥作用的过程里,无线图传技术扮演着至关重要的角色,堪称是连接无人机与地面控制的关键 “桥梁”。
通过无线图传技术,无人机在飞行时所获取到的各类数据,比如拍摄的高清画面、探测到的环境信息等,都能够及时传输到地面控制端,让操作员可以实时监控无人机的飞行状态,像其所处的位置、飞行的高度、速度以及方位等重要信息都能一目了然。这也就意味着,操作员能够依据这些实时反馈的信息,迅速制定出合适的方案与策略,去应对飞行过程中随时可能出现的各种突发情况,实现对整个任务的有效掌控。
再者,在无人机执行拍摄以及遥感等应用任务时,无线图传技术更是不可或缺。无人机凭借着高清摄像头、先进的蓝牙数据传输等高科技设备进行数据采集后,借助无线图传,可将数据实时传输到操作中心,操作者由此便能实时获取现场的图像信息。凭借这些传输回来的数据和图像,无人机能够出色地完成对地面环境的摄影、遥感等工作,帮助操作者更细致、全面地了解实际情况,进而为无人机在更多领域的应用提供了强有力的数据支撑。
另外,无人机常常需要在高山峡谷、海洋等特殊区域飞行作业,面临风雨、雾霾等复杂且不稳定的极端天气条件,这些情况对于人类操作者来说,很难提前预见并快速做出准确的处理决策。但无线图传技术使得无人机可以迅速向操作员传输数据,操作员能够及时对现场状况做出反应,采取相应措施,从而更好地保障作业顺利进行,也确保了作业的效率和质量。
总而言之,随着无人机市场需求的日益增长,无线图传技术也越发受到行业的广泛关注与运用。无论是航拍、测绘、搜救,还是农林等各行各业,掌握和运用好无人机无线图传技术,都能从中获得极大的价值
图传的核心技术
(一)基础通信方式
无人机无线图传主要是依靠如 WiFi 等无线通信技术来实现画面传输的。首先,无人机搭载的摄像头会捕捉到相应的画面,随后,设备内的相关模块会运用特定的编码方式,将这些画面转化成数字信号。
以常见的 WiFi 图传为例,就如同我们平时用手机连接 WiFi 上网一样,无人机通过自身的 WiFi 模块与地面控制站或者移动设备(像手机、平板电脑等)建立连接。不过,无人机图传所用的 WiFi 模块往往具备一些更适合远距离、高质量传输的特性。比如,有的会采用功率更大的 WiFi 模块,以此来增强信号强度,保障传输距离。
在传输过程中,为了能让数据更高效地通过无线信号传递,会使用到视频编码与压缩技术,像 H.264 和 H.265 这类编码方式就很常用,它们能够在大幅减少数据量的同时保持较高的视频质量,使得在有限的频段带宽下,依然可以把拍摄到的高清画面稳定地传输到地面端,让操作员可以实时在地面控制站或移动设备上看到无人机拍摄到的画面,清楚掌握无人机所处的位置、周边环境等关键信息,进而实现对无人机飞行状态的有效监控以及各类任务的操作执行。
(二)关键技术支撑
- LR-WiFi 技术
在众多保障无人机无线图传高效、稳定工作的关键技术里,LR-WiFi 技术(Long Rang WiFi 远距离 WiFi)起到了很重要的作用。传统的 WiFi 技术在面对长距离传输需求时,往往会出现信号衰减、传输不稳定等情况。而 LR-WiFi 技术采用了先进的信号处理算法以及高级调制解调技术,它能够在远距离传输信号时保持较高的信号质量和稳定性。
例如云望物联研发的 CV5200 无线通信视频传输 WiFi 模块,基于 802.11 无线通信标准,采用了 LR-WiFi 私有协议,具备 ML(最大似然检测),MRC(最大比合并),LDPC(低密度奇偶校验码),MIMO-OFDM(多输入多输出 - 正交频分复用)等高级无线技术。其双路发射输出功率可达 + 29dBm(单路 26dBm),使用 2.5dBi 天线进行地对空实测时,在空旷环境下能达到 6KM 的传输距离,并且支持 2Mbps、1080p 实时传输,这就为无人机远距离图传提供了强有力的技术支撑,特别适用于像航拍、测绘等需要无人机在较远距离作业的场景。
- 先进编码算法
先进的编码算法对于无人机无线图传来说也是不可或缺的。无人机拍摄到的原始视频数据量通常非常庞大,如果直接传输,对带宽要求极高且效率低下,很难实现稳定、流畅的图传效果。
像 H.264 和 H.265 这样的编码算法就能很好地解决这个问题,它们可以对视频数据进行高效压缩和优化处理,在保证画质的前提下,大幅减少需要传输的数据量,实现低延迟、高画质的实时传输。如此一来,即使在有限的带宽条件下,也能让无人机拍摄的画面清晰、流畅地传输到地面接收端,方便操作人员实时查看并做出准确的操控决策。
图传的发展史
图传系统的发展史可以分为模拟图传和数字图传两个主要阶段:
模拟图传阶段
模拟图像传送是指对时间(包括空间)和幅度连续变化的模拟图像信号作信源和信道处理,通过模拟信道传输或通过模拟记录装置实现存储的过程。一般用扫描拾取图像信息和压缩频带等信源处理方法得到图像基带信号,再用预均衡、调制等信道处理方法形成图像通带信号。
模拟图传的上限高,下限低。
- 早期发展:无线图传技术早在二十年前就已经出现,当时的无线传输价格昂贵,工作频率只有一些国家授权的频段才能使用,效果一般,主要解决了有无问题。
- 技术特点:模拟图传是一种较为传统的图传方式,其优点是延迟极低,画面传输流畅,常用于对实时性要求极高的应用场景,如FPV飞行竞技。但缺点是画质较差,图像分辨率低,且在复杂电磁环境中信号容易受到干扰。
数字图传阶段
数字图传:指数字化的图像信号经信源编码和信道编码,通过数字信道(电缆、微波、卫星和光纤等)传输,或通过数字存储、记录装置存储的过程。
- 技术革新:大概从2010年开始,Amimon公司研发出了无压缩和免费的5G频段的产品,首次实现可以让大多数的专业影视用户用得起无线传输产品,标志着无线图传产品走向成熟和普及。
- 数字图传优势:数字图传采用数字信号传输,具有更高的分辨率和强大的抗干扰能力,是目前无人机图传的主流选择。数字图传能够传输高清画面,适合对画质有较高要求的航拍和专业应用场景。
- 编码技术:数字图传的编码技术主要包括行程编码(RLE编码)、Huffman编码(熵编码)、离散余弦变换(DCT变换)和离散小波变换(DWT变换)等,这些编码技术在图像质量和传输延迟方面有着不同的影响。
- 抗干扰能力:数字图传采用编码技术,并通过错误纠正和数据重传机制,在一定程度上能够抵御电磁干扰,使图像质量在受干扰时保持清晰稳定。
- 最新发展趋势:数字图传技术的最新发展趋势体现在智能化与自动化、高清远距离传输、自动跳频技术、4G增强图传技术以及图像压缩技术等方面。
图传系统从模拟图传到数字图传的发展,是一个从低分辨率、高延迟、易受干扰的模拟信号向高分辨率、低延迟、强抗干扰能力的数字信号转变的过程。随着技术的进步,数字图传逐渐成为主流,提供更高质量的图像传输体验。
流媒体架构
目前主流的流媒体系统架构主要分为以下几种:
- 单服务器架构:
该架构中,所有的流媒体服务都运行在一台服务器上。这种架构简单、易于部署,但是在流量较大时,可能会导致服务器性能瓶颈,影响系统的稳定性。 - 分布式架构:
该架构中,流媒体服务被分布在多个服务器上,每个服务器都可以独立地处理一部分流量。这种架构具有高可用性和可扩展性的优点,但是需要对系统进行复杂的负载均衡和监控。 - CDN架构:
该架构中,流媒体服务通过CDN(内容分发网络)进行分发,用户可以从离自己最近的CDN节点获取流媒体内容。这种架构具有高速度、高可用性和低延迟的优点,但是需要在全球范围内部署CDN节点,成本较高。
流媒体系统架构的发展历程可以追溯到20世纪90年代初,当时的流媒体技术主要是基于RTSP(实时流协议)和RTP(实时传输协议)等标准。随着网络带宽的提高和编解码技术的发展,流媒体系统架构也不断发展和创新。
在2000年代初,流媒体系统开始采用基于HTTP的流媒体传输协议,例如,Adobe的Flash Media Server和Microsoff的Windows Media Server等。这种架构可以通过普通的Web服务器进行传输,无需特殊的流媒体服务器。
在2010年代,流媒体系统开始采用基于WebRTC (Web实时通信)的架构,例如,Google的WebRTC和Facebook的WebRTC Live等。这种架构可以在Web浏览器中直接进行流媒体传输,无需安装插件或客户端程序。
类似Gstreamer的流媒体系统架构主要是基于开源的流媒体框架和组件进行构建。Gstreamer是一种基于插件的流媒体框架,可以用于音频和视频的捕获、编码、解码、传输等多个方面。类似的流媒体系统架构还包括FFmpeg、VLC、DirectShow等。这些框架和组件可以通过编写插件或脚本进行自定义,从而满足不同的流媒体应用需求。
Gstreamer
元件(Element)是GStreamer中最重要的概念。
可以通过创建一系列的元件,并把它们连接起来,从而让数据流在这个被连接的各个元件之间传输。每个元件都有一个特殊的函数接口,对于有些元件的函数接口它们是用于能够读取文件的数据,解码文件数据的。而有些元件的函数接口只是输出相应的数据到具体的设备上(例如:声卡设备)。
可以将若干个元件连接在一起,从而创建一个管道(pipeline)来完成一个特殊的任务,例如,媒体播放或者录音。
对程序员来说, GStreamer中最重要的一个概念就是GstElement对象。元件是构建一个媒体管道的基本块。每一个元件都对应一个GstElement。任何一个解码器编码器、分离器、视频/音频输出部件实际上都是一个GstElement对象。
FFmpeg
FFMPEG堪称自由软件中最完备的一套多媒体支持库,它几乎实现了所有当下常见的数据封装格式、多媒体传输协议以及音视频编解码器,堪称多媒体业界的瑞士军刀。
FFMPEG从功能上划分为几个模块,分别为核心工具(libutils)、媒体格式(libavformat)、编解码(libavcodec)、设备(libavdevice)和后处理(libavfilter, libswscale, libpostproc),分别负责提供公用的功能函数、实现多媒体文件的读包和写包、完成音视频的编解码、管理音视频设备的操作以及进行音视频后处理。
详解
VLC
Linux必装的软件
HLS 流式传输
HTTP 实时流(HLS)是一种广泛使用的视频流协议,几乎可在任何服务器上运行,并且受到大多数设备的支持。HLS 通过提高或降低流的质量,使客户端设备无缝适应不断变化的网络条件。
HTTP 实时流(HLS)是使用最广泛的视频流协议之一。尽管它称为 HTTP“实时”流,但它同时适用于点播流和实时流。HLS 将视频文件分解为较小的可下载 HTTP 文件,并使用 HTTP 协议来交付。客户端设备加载这些 HTTP 文件,然后将它们作为视频进行播放。
HLS 的一个优点是,所有连入互联网的设备都支持 HTTP,因而它比需要使用专用服务器的流协议更易于实施。另一个优点是 HLS 流可以根据网络状况提高或降低视频质量,而不会中断播放。这就是在用户观看视频的过程中视频质量可能会变好或变差的原因。这个功能称为“自适应比特率视频传输”或“自适应比特率流式传输”,如果没有它,慢速网络条件可能导致视频播放完全停止。
RTSP视频流
RTP 是由实时传输协议RTP,实时传输控制协议RTCP组成
基于多播或单播为用户提供连续媒体数据的实时传输服务,RTCP是控制部分,负责实时监控数据传输质量,为系统提供阻塞控制和流控制
由包头Header和载荷Payload两部分组成
RTMP:实时消息传输协议,基于tcp,主要用于flash平台和支持RTMP协议的流媒体服务器之间进行音视频和数据通信。(基于FLASH,无法用于IOS)(主流流媒体传输协议)
HLS:HTTP直播流技术,主要用于PC和Aplple中端,包括m3u8的索引文件,TS媒体分片文件,key加密串文件。
RTSP:实时流传输协议,基于UDP,用来传输音频、视频的多媒体串流协议,定义了一对多应用程序,如何有效通过IP网络传送多媒体数据。
1. 抓包分析
ONVIF
ONVIF协议对设备发现、设备配置、事件、PTZ控制、视频分析、实时流媒体直播功能(RTSP拉流)、搜索、回放、录像录音管理等功能进行了规范。
1、Nvidia视频硬解码、渲染、软/硬编码并写入MP4文件。项目地址:https://github.com/BreakingY/Nvidia-Video-Codec
2、Jetson Jetpack5.x视频编解码。项目地址:https://github.com/BreakingY/jetpack-dec-enc
3、音视频(H264/H265/AAC)封装、解封装、编解码pipeline,支持NVIDIA、昇腾DVPP硬编解码。项目地址:https://github.com/BreakingY/Media-Codec-Pipeline
4、simple rtsp server,小而高效的rtsp服务器,支持H264、H265、AAC、PCMA;支持TCP、UDP;支持鉴权。项目地址:https://github.com/BreakingY/simple-rtsp-server
5、simple rtsp client,rtsp客户端,支持TCP、UDP、H264、H265、AAC、PCMA,支持鉴权。项目地址:https://github.com/BreakingY/simple-rtsp-client
6、libflv,flv muxer/demuxer,支持H264/H265、AAC。项目地址:https://github.com/BreakingY/libflv
OpenIPC
基于 Buildroot/OpenWrt 项目的 Linux 操作系统, OpenIPC是IP摄像机的替代固件。其rootfs基于Buildroot,这一部分是开源的,但其中主要的ISP处理程序Majestic还是闭源状态
ISP
ISP处理程序,即图像信号处理器(Image Signal Processor),是相机系统中用于处理图像信号传感器输出的图像信号的核心组件。它负责将图像传感器捕获的原始数据转换成高质量的图像,以匹配不同厂商的图像传感器。
当前实现的部分
目前已经实现的功能包括但不限于
- RTSP视频流
- HLS HTTP视频流
- 静态图像生成
- YouTube直播
- ONVIF/NETIP/IPEYE等协议
- 移动检测并且发送通知到EMAIL/FTP/Telegram/Yandex Disk/HTTP API/MQTT broker
- 内置ZeroTier/WireGuard/Socks5等协议支持
1. Buildroot
Buildroot 是 Linux 平台上一个开源的嵌入式 Linux 系统自动构建框架。整个Buildroot是由 Makefile 脚本和 Kconfig 配置文件构成的。你可以和编译Linux内核一样,通过 buildroot 配置,menuconfig 修改,编译出一个完整的可以直接烧写到机器上运行的Linux系统软件(包含boot、kernel、rootfs以及rootfs中的各种库和应用程序)。
2. OpenWrt
OpenWrt 是一个基于 Linux 的、针对嵌入式网络设备的开源操作系统。
IP摄像头
OpenIPC 的革命
OpenHD 项目(和其他类似项目)中的经典设置包括连接到 Raspberry Pi 的 MIPI 或 USB 摄像头,它们充当机载系统的视频编码器和路由器,然后通过 USB 连接到 WiFi 适配器和通过 UART 连接到飞行控制器。地面站通常由相同的 WiFi 适配器、第二个 Raspberry Pi 或 x86 linux 笔记本电脑以及高对比度显示器或护目镜组成。
有时,MIPI 或 USB 摄像头会被 IP 摄像头换成 IP 摄像头,后者功能更强大(有自己的硬件编码器),价格更便宜,具有类似的特性。大多数现代摄像机都是典型的板载 Linux 设备(但与 Raspberry Pi 相比,RAM 和闪存大小要适中得多),这允许您在其上重新编译和运行几乎任何便携式软件。
在使用这项技术时,出现了简化飞行系统并将所有必要的软件直接移植到 IP 摄像机的想法。从技术上讲,OpenIPC 项目的 FPV 固件是一个特殊的组件,具有两种类型的流行 WiFi 适配器驱动程序,Majestic streamer(在发射器系统上的经典方案中扮演 GStreamer 的角色)和 WFB-ng。
- 好处
降低系统成本(H.265 IP 摄像机与配备 Raspberry Pi 的 H.264 MIPI 摄像机)
通过简化电路来降低总功耗并提高系统可靠性
减少视频延迟:在我们的 Glass-to-Glass 测试中,1080p@60延迟约为 80 毫秒(在中等预算的摄像机上),720p@60 的延迟约为 60 毫秒,1080p@30的延迟约为 100 毫秒(对于最预算的摄像机)。
可以调整硬件编码器,例如,更频繁地形成 I 帧(具体情况取决于 IP 摄像机的供应商)
社区在维修 IP 摄像机方面积累了大量经验,这使得进一步降低系统的运营成本成为可能。 - 弊
由于资源有限(已安装的 RAM 和永久内存),相机将不支持大多数流行的编程语言(如 Java、Python、NodeJS)。如果你喜欢用这些语言编写(或者想把这些语言写的软件移植到相机上),你需要额外使用一台NanoPi,把OpenIPC相机当作普通的网络摄像机连接在NanoPi(https://www.aliexpress.com/item/1005004679805441.html)上。
在大多数系统中,Linux 内核版本受到 IP 摄像机供应商的限制,因为某些模块以二进制形式提供。为新的 WiFi 适配器或特定外围设备开发内核驱动程序可能非常耗时。
在预算相机(主要为其开发 FPV 固件)上,资源非常有限,因此在撰写本文时无法运行神经网络。这种情况在不久的将来应该会发生变化。
配置一图

openipc系统架构
- openioc fpv-视频传输-单向数传方案的系统架构
- openipc fpv-双向数传方案的系统架构
Openipc的发展过程
wifibroadcast
- 为什么普通wifi不行
- 需要匹配认证,如果一台设备失去关联(例如由于信号强度太弱),视频传输会立即停止
- 无差错传输:Wifi 要么传输正确的数据,要么不传输数据。在 FPV 场景中,这意味着即使收到的数据只有很小的错误,也会被完全拒绝。尽管您已收到有用的数据,但这可能会导致视频停顿。
- 速率控制:如果信号强度太弱,普通 WiFi连接会自动切换到较低的传输速率。因此,(自动)选择的速率可能太低而无法传输视频数据。这样,数据就会排队并引入长达几秒的不可预测的延迟。
- 一对一传输:除使用广播或类似技术,否则普通的 WiFi 数据流是一对一连接。使用传统 WiFi 很难实现旁观者的场景。
- 为什么WIfiBroadcast就行
- Wifiroadcast 将 wifi 卡置于监控模式。该模式允许发送和接收任意数据包而无需认证匹配。此外,还能接收到错误的帧(校验和不匹配)。这样就建立了真正的单向连接,模仿了模拟链路的有利特性。
- 发送端发送数据不用管它的接收端状态。因此,不存在由于认证丢失而导致视频突然停顿的风险
- 只要视频在发射器的范围内,接收器就会接收视频。如果它慢慢超出范围,视频质量会下降,但不会停止。即使帧有错误,它们也会被显示而不是被拒绝。
- 传统模拟图传方案“单个广播器-多个接收器”也适用于Wifibroadcast。如果旁观者想用他们的设备观看视频流,他们只需“切换到正确的频道”
- Wifiroadcast 允许并行使用多个低成本接收器组合它们的数据以增加接收数据的准确性。(比如一个接收端具有覆盖 360°的全向天线和多个平板的远距离定向天线)
- Wifiroadcast 使用前向纠错来满足低带宽要求下实现高可靠性。它能够在接收器处修复丢失或损坏的数据包
EZ-WIfiBroadcast
OpenHD
项目通过一般的无线网卡作为无线电的发射与接受,通过载体树莓派实现高清图像的实时传输,同时集成了OSD功能、热点功能、支持HDMI显示器、手机、电脑作为终端、支持MAVlink、BF、INAV,支持发送和接受遥测、音频和各种控制数据,还配备有齐全的软件app。