音视频技术在手机上的应用与挑战

2023-08-25  本文已影响0人  李菜菜同学

一、手机音视频现状

1.手机生态划分

手机在线生态--包含手机app应用,如抖音,快手,bilibili

手机本地生态--包含手机相机等

2.手机音视频应用的特点

便携性

多功能性

高清晰度

实时性

社交性

互动性

3.用户关心的特性

视频画质、播放流畅性,支持的格式、稳定性、丰富功能、节省电量

4.体验性技术优化

4.1包体积小(so)

优点:

更快的下载速度:apk体积小,下载速度快,用户可以更快的安装应用程序

更小的存储空间:apk体积小,占用更少的存储空间

更好的用户体验:apk体积小,启动速度更快,应用程序响应更迅速,可以提高用户满意度个体验。

更少的资源消耗:apk体积小,消耗的存档及网络带宽更小,节约网络及存储成本。

如何实现:

1.精简动态符号表

2.去除无用代码

3.ffmpeg定制化编译

4.2内存

内存小优点:

存活更长:减少内存溢出异常OOM,减少内存过大,被系统清理

运行流畅:在GC(java层)时,所以线程都要停止,会导致掉帧

三方友好:占用过大,会导致三方应用系统被清理

优化方式:

内存分析:使用工具 分析内存占比,android studio,dumpsys meminfo,分析代码中的大内存分配,评估必要性。

减少频繁创建销毁:内存分配器(jemalloc)的存在,部分场景自定义内存分配器

减少数据流转:减少数据的拷贝流转,如mediacodec直接渲染视频

4.3功耗

优点:

延长电池寿命:功耗低的手机可以更有效的利用电池电量,减少充电次数

减少发热:产生的热量会响应的减少,从而减少对手机硬件的损耗

提高性能:更加有效的管理资源,从而提高手机的整体性能和反应速度。

降低功耗处理方式:

网络访问:不影响业务和性能的前提下,降低网络访问频率

物尽其用:vpu cpu gpu(后处理并行处理)

cpu高负载优化:排查无用循环

显示模式:texturerview转换sufaceview(进行缩放操作可能会闪黑/)

4.4流畅性(网络播放)

数据调整:MP4 moov位置,大文件拆分

缓存:预先缓存部分数据

预渲染:多实例渲染

优先硬解:优先考虑硬解

4.5稳定性

自动化测试:可以随时测试

重在预防,监控跟踪:代码评审,监控平台

思考深入:解决一个问题,深入是思考代码中是否还存在类似情况

4.6特色功能

视频源协同:多与相机(本地)服务器(在线)交流讨论,多方协同开发

跨平台:关注其他平台特色功能,并思考手机应用场景及实现技术

自身技术:努力提升自身技术实力,关注新技术。

二、性能与挑战

架构选型:

参考

减少sdk体积方式:

本地功能解耦,网络协议,封装格式,编码格式,逻辑精简

图示 起播时间 实现流程方案

手机侧优化

手机侧的优化

三、使用的相关开源技术工具

Bento4 Yuview bitStream

四、未来展望

ARAVR技术的应用: 随着ARVR技术的不断发展,未来音视频可能会更加注重增强现实和虎拟现实的体验,例如道过AR技术将虚拟物品融入到现实场是中,或者通过VR技术让用户身临其境地体验音视频内容。

5G技术的应用; 5G技术的到来将会使得音视频的传输速摩更快延迟电低,这将为用户提供更加流畅的音视频体验,同时也将为音视频应用的创新带来更多的可能性。

Al技术的应用: AI技术的发展将会为音视频应用带来更多的可能性,例如通过语音识别技术实现智能语音交互,或者通过图像识别技术实现智能视频分析等。

上一篇下一篇

猜你喜欢

热点阅读