Android音视频直播低延迟探究之:WLAN低延迟模式
创作时间:
作者:
@小白创作中心
Android音视频直播低延迟探究之:WLAN低延迟模式
引用
CSDN
1.
https://blog.csdn.net/renhui1112/article/details/143709701
Android WLAN低延迟模式是Android 10引入的一种功能,允许对延迟敏感的应用将Wi-Fi配置为低延迟模式,以减少网络延迟。该功能的启动条件包括:Wi-Fi已启用且设备可以访问互联网;应用已创建并获得Wi-Fi锁,并且正在前台运行;屏幕处于开启状态。
理论层面解读
各部分含义
- "WIFI_MODE_FULL":
- 通常表示全功能模式。在这种模式下,设备可能会启用所有可用的Wi-Fi功能和特性,以提供最佳的连接性能和体验。这可能包括较高的数据传输速率、支持多种协议和功能扩展等。
- "LOW_LATENCY":
- 表示低延迟。低延迟对于一些对实时性要求较高的应用非常重要,例如在线游戏、视频会议、实时流媒体等。在这种模式下,Wi-Fi连接会尽量减少数据传输的延迟时间,以确保快速响应和流畅的交互体验。
可能的应用场景
- 在线游戏
- 对于竞技类在线游戏,低延迟是至关重要的。玩家需要快速的响应时间来执行操作,否则可能会导致游戏体验不佳。启用WIFI_MODE_FULL_LOW_LATENCY模式可以减少网络延迟,提高游戏的流畅性和响应速度。
- 视频会议和直播
- 在视频会议和直播中,低延迟可以确保实时的音频和视频传输,避免出现卡顿和延迟现象。这种模式可以提供更稳定和流畅的通信体验,提高会议和直播的质量。
- 实时流媒体
- 对于观看实时体育赛事、音乐会等流媒体内容,低延迟可以减少缓冲时间,提供更即时的观看体验。
实现方式
- 硬件支持
- 设备的Wi-Fi芯片和天线需要支持低延迟功能。一些高端的Wi-Fi芯片可能会专门针对低延迟应用进行优化,提供更好的性能。
- 软件配置
- 操作系统和应用程序可以通过设置来启用低延迟模式。例如,在设备的网络设置中选择WIFI_MODE_FULL_LOW_LATENCY模式,或者在特定的应用程序中进行网络优化设置。
- 网络优化
- 可以通过优化网络环境来减少延迟。例如,使用更靠近设备的Wi-Fi接入点、减少网络拥塞、优化路由器设置等。
需要注意的是,具体的实现方式可能因设备和操作系统的不同而有所差异。在使用WIFI_MODE_FULL_LOW_LATENCY模式时,可能会对设备的电池寿命、功耗和其他性能方面产生一定的影响。此外,不是所有的设备和网络环境都支持这种模式,因此在使用前需要确保设备和网络的兼容性。
Android平台代码实现
为了验证Android平台WLAN低延迟模式,我们在大牛直播的RTSP|RTMP播放器模块,添加了如下的代码测试,下图展示的是我们Windows平台RTMP推流模块,采集屏幕数据,然后推RTMP到nginx服务,然后Android端从nginx获取RTMP流,同时播放4路的效果图(1920*1080分辨率),几无多大延迟,值得注意的是,实际上我们不开启这个选项,SDK也没多大延迟,所以是不是这块设置有效果,还要后面慢慢探究论证。
AndroidManifest.xml添加相关权限:
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK"/>
启动APP的时候,打开:
WifiManager wifiManager = (WifiManager) context_.getSystemService(Context.WIFI_SERVICE); //激活WIFI性能锁定
wifi_lock_ = wifiManager.createWifiLock(WifiManager.WIFI_MODE_FULL_HIGH_PERF, TAG);
wifi_lock_.acquire();
PowerManager powerManager = (PowerManager) context_.getSystemService(Context.POWER_SERVICE); //激活CPU性能锁定
wake_lock_ = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, TAG);
wake_lock_.acquire();
APP停止播放或业务关闭的时候,调用release接口释放:
if (wake_lock_ != null) {
wake_lock_.release();
wake_lock_ = null;
}
if (wifi_lock_ != null) {
wifi_lock_.release();
wifi_lock_ = null;
}
总结
Android WLAN低延迟模式为开发者提供了一种优化网络延迟的方式,但在使用时需要满足特定的条件,并且设备制造商也需要更新WLAN驱动程序和供应商HAL来支持该功能。特别是我们做音视频对延迟比较敏感的行业,可酌情参考。
热门推荐
这个与众不同的博物馆,告诉您羽绒的“前世今生”!
孕妇用的洗发水不能含有什么成分?致畸率最高的10个洗发水
狗狗认识自己的父母吗(为什么小狗长大就不认识妈妈了)
为什么越来越多的年轻人放弃传统工作,投身灵活就业?
2024年下半年教师资格证考试:通过率揭秘与备考指南
支持Qi无线充电协议的手机:优势、应用场景与未来展望
国际纸张标准:A、B、C系列纸张尺寸对比
RTK作业原理及作业流程
足部健康指南:足底筋膜炎和拇趾外翻的专业解析与选鞋建议
项目前期规划的全面指南:从目标设定到项目收尾
中华文化掌故:六大茶系的品鉴
三亚潜水完整指南!四大潜水地点如何选择?专门针对潜水初学者
石菖蒲的功效与作用
今日蒜苗最新行情价格表?
古代战争中的箭矢:从制作到回收的智慧
外出旅游食品安全小贴士!
多吃这类食物,可以减轻脂肪肝
笔记本无线网络适配器完全指南:从入门到精通
2024年险资举牌高达20次,2025年还会继续吗?
供奉供品:对逝者的尊敬与怀念
离婚财产证据如何收集?这份指南请收好
健康管理系统:个性化健康方案定制
2024新疆考古工作汇报会:实证中华民族多元一体,讲好中国新疆故事
朱载堉的《十不足歌》和吴国发的《政客不足歌》
直播中如何引导观众进行互动
秋天吃这5种食物最养脾胃!隔天吃一次,气血足了,身体更好了
一文搞懂标普500指数:观察美国企业全貌的最佳指标
如何应对信用卡的高利息和费用
怎样维护夫妻感情
春晚最出圈的机器人和泰山机器狗“师出同门”,前年8月推出,曾亮相机器人大会