音视频技术之《移动直播场景的坑与规避措施》

音视频技术之《移动直播场景的坑与规避措施》,第1张

概述移动平台上视频直播的坑主要可以总结为两个方面:设备差异,以及网络环境这些场景下带来的技术考验。移动直播场景的坑与规避措施1不同芯片平台上的编码差异iOS平台上无论硬编还是软编,由于是Apple一家公司出厂,几乎不存在因为芯片平台不同而导致的编码差异。然而,在Andr

移动平台上视频直播的坑主要可以总结为两个方面:设备差异,以及网络环境这些场景下带来的技术考验。
移动直播场景的坑与规避措施

1 不同芯片平台上的编码差异


iOS 平台上无论硬编还是软编,由于是 Apple 一家公司出厂,几乎不存在因为芯片平台不同而导致的编码差异。

然而,在 AndroID 平台上,AndroID Framework SDK 提供的 MediaCodec 编码器,在不同的芯片平台上,差异表现很大, 不同的厂家使用不同的芯片,而不同的芯片平台上 AndroID MediaCodec 表现略有差异,通常实现全平台兼容的成本不低。

另外就是 AndroID MediaCodec 硬编层面的 H.264 编码画质参数是固定的 baseline,所以画质通常也一般。因此,在 AndroID 平台下,推荐是用软编,好处是画质可调控,兼容性也更好。

2 低端设备如何上高性能地采集和编码


例如 Camera 采集输出的可能是图片,一张图的体积并不会小,如果采集的频次很高,编码的帧率很高,每张图都经过编码器,那么编码器又可能会出现过载。

这个时候,可以考虑在编码前,不影响画质的前提下(前面我们讲过帧率的微观意义),进行选择性丢帧,以此降低编码环节的功耗开销。

3 弱网下如何保障高清流畅推流


移动网络下,通常容易遇到网络不稳定,连接被重置,断线重连,一方面频繁重连,建立连接需要开销。另一方面尤其是发生 GPRS / 2G / 3G / 4G 切换时,带宽可能出现瓶颈。当带宽不够,帧率较高/码率较高的内容较难发送出去,这个时候就需要可变码率支持。

即在推流端,可检测网络状态和简单测速,动态来切换码率,以保障网络切换时的推流流畅。

其次编码、封包、推流 这一部分的逻辑也可以做微调,可以尝试选择性丢帧,比如优先丢视频参考帧(不丢 I 帧和音频帧 ),这样也可以减少要传输的数据内容,但同时又达到了不影响画质和版视听流畅的目的。

4 需要区分直播流的状态和业务状态

直播是媒体流、APP 的交互是 API 信令流,两者的状态不能混为一谈。尤其是不能基于 APP 的交互的 API 状态来判断直播流的状态。


以上是移动直播场景下常见的几个坑和规避措施。

总结

以上是内存溢出为你收集整理的音视频技术之《移动直播场景的坑与规避措施》全部内容,希望文章能够帮你解决音视频技术之《移动直播场景的坑与规避措施》所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1062088.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存