一.LightFox是什么? 1.有趣的介绍: 假如大公司都是卖饭的,字节跳动公司的产品:字式辣酱炒面 (抖音),贝锐公司的产品:贝式辣酱炒饭(向日葵远程协助),斗鱼公司的产品:斗式辣酱炒方便面(斗鱼TV),我们的产品:聆式炒饭(HeyFox远程协助)。然后,顾客们尝过我们的聆式辣酱炒饭后觉得还不错,便说你们辣酱炒饭不错,什么时候出辣酱炒牛肉方便面,辣酱炒海鲜拌饭,辣酱炒XXX。可惜,我们的大厨人不够,做不了。于是乎我们便作了一个大胆的行动:我们单卖辣酱!让顾客自己炒。 虽然大公司都有自己的辣酱,但是他们是不卖的,或者是顾客把原料给大公司,大公司用他们自己的辣酱炒完后把成品用他们公司的特有的饭盒装好后再给顾客。 2.LightFox项目介绍: 1.LightFox是一款用C++开发的基于私有可靠UDP,P2P协议的国产化跨平台音视频数据流传输协议。 2.LightFox支持传输的图像格式有:RGB24 RGB32YUV444p YUV420p。音频格式有:PCM。还支持用户传输自定义数据。 3.LightFox通过自研的RDF算法,大大降低延迟,尤其是在4G弱网(延迟高,丢包率不稳定,带宽小)下表现更好。新增数据侦测让体感可视化。 4.LightFox允许用户自建服务端,真正做到了“卖辣酱”。 5.LightFox搭配内网穿透(P2P)协议,在我国现有网络公网IP匮乏的体系下可以大大降低中转流量费用,为顾客节约成本。 6.LightFox的语法是传统的C语言语法,只要会用Printf就会用LightFox。用户不需要在意底层逻辑,数据是怎么传输的,音视频是怎么编解码的,只需要考虑应用层。 3.适配系统: 1. X86架构: 1.微软公司:Windows系统:XP 7 8 8.1 10Server 2008 2012 2016 2019。 2.开源Linux系统:Ubuntu,CentOS。 3.华为公司:OpenEuler。 4.统信软件公司:UOS。 5.国防科技大学:KylinOS 优麒麟 等。 2. Arm架构: 1.树莓派Arm开发板适配的系统。 2.华为鲲鹏ArmCPU适配的系统。 3.飞腾ArmCPU适配的系统。 4.国产化适配: 1.CPU适配:飞腾,鲲鹏,海光,龙芯等 2.系统适配:所有基于GCC8,G++8以上的X86或者Arm架构系统均适配。 5. 调用方式:
1.HF_Link(); 2.HFGetSendClient(); 3.HFInitSendClient(); 4.HFPostData(); 仅仅需要4个API即可高效的传输音视频数据,用户自定义数据,真正做到一处编写,处处编译。 LightFox的运用场景与优势: 场景一: 远程协助 LightFox可以完美的运行在Windows LinuxArmLinux,只需要调用HFPostData(图像数据)即可快速开发成一个远程协助软件,比如基于LightFox开发的HeyFox远程协助软件。 远程协助的网络环境更加复杂有:强对强,强对弱。弱对强,弱对弱,能否P2P等众多复杂环境。但是强对强这个网络环境下不管是 向日葵 TodeskTeamviewer 还是HeyFox 他们的效果差距几乎微乎其微。 我们主要测试弱网环境下HeyFox与向日葵 Teamviewer的对比: 1. 视频一:Windows下与向日葵Teamview的对比。 2. 视频二:鲲鹏CPU下国产系统(Uos)与向日葵对比视频 结论:延迟低,流量少,实时性高。 场景二:云桌面、云电脑 云桌面、云电脑的网络环境相对与远程协助来说更加简单只有:强对强,强对弱,能否P2P的网络环境。 设备环境来说有X86对X86,Arm对X86,前者的本质几乎和远程协助一模一样,只有Arm平台的才能突出与远程协助的不同点。 所以我们测试环境选择 Arm对X86, 网络环境选择强对弱,下LightFox与向日葵的对比。 1.视频一:在树莓派上连接Windows进行远程连接对比 2.视频三:与Vmware云电脑对比 场景三:云机器视觉 传统的机器视觉,采用在开发板上抓取摄像头数据,在开发板上跑识别,效率并不高。 LightFox可以帮助机器视觉开发者快速上云,实现在开发板上抓取摄像头数据,上云在PC电脑进行识别,再把数据发回来 1. 视频一:云机器视觉 结论:延迟低,流量少,实时性高,帮助开发者快速上云。 场景四:远程医疗,远程摄像头 通过部署我们的融媒体背包通过车载高清摄像头实时获取患者情况,还可以通过麦克风实现高清音视频通话。 优势: 一. 低流量消耗,高实时性 1. 采用流媒体编解码方案,支持主流的H264 H265视频编码,OPUS音频编码。传输同质量的图片,视频,音频流量消耗更低. 2. 动态FEC前向纠错算法,提高带宽利用率 3. 内置P2P协议,通过内网穿透使得城域网、广域网下的云桌面建设成为可能。 二、灵活的编写环境 1. 使用标准的C++语法,与跨平台库编写的LightFox使其支持三大平台 Window Linux ArmLinux,可以使得用户在任一平台编写即可在其他平台编译,为用户带来更灵活的编写环境。 2. 简洁的接口:通过HFGetSendClient,即可传输 图片/视频/音频/用户自定义数据。极大的开放度,使得用户二次拥有极大的开发的自由度。
特别提示:易语言例子不提供高效抓屏代码,需要的话自行编写或者加群用C语言例子 |