短视频平台开发时那些容易掉进去的“深坑”

简介: 互联网市场中之所以存在那么多优质的app,都是经过无数次的测试、优化和更新完成的。要想开发一款优质的app并没有那么容易。比如在短视频平台开发时,不仅需要考虑音视频是否同步、首屏打开速度等问题,还需要考虑界面的UI和功能等是否贴近用户需求。

互联网市场中之所以存在那么多优质的app,都是经过无数次的测试、优化和更新完成的。要想开发一款优质的app并没有那么容易。比如在短视频平台开发时,不仅需要考虑音视频是否同步、首屏打开速度等问题,还需要考虑界面的UI和功能等是否贴近用户需求。所以难免会在开发过程中遇到问题,今天就简单的盘点一下硬编解时可能会遇到的“坑”。
1.图像质量
在使用硬编码之后,对比可以发现视频的画质转码后图像质量会变差。原因是什么呢?因为在使用mediacodecAPI时,选择了CBR。虽然CBR的优势是码率比较稳定,但是它会牺牲一部分画质,所以CBR更适合在移动的直播场景中应用。在短视频的转码过程中,使用硬编时更适合选择VBR,这样一来VBR能够获得更好的图像质量。但是在软编时选择VBR,情况就不太稳定,无法保证图像质量的“稳定输出”。
4afe2eae6c35472a8b0ba5e03a054e51_wps_jpeg

2.硬解不兼容
H.264是短视频编解码过程中常用的标准格式,起码流主要分为AVCC和Annex-B两种格式。其中两者的主要区别在于参数集和帧格式。Annex-B的参数集pps、sps及NAL的形式存在于码流之中,也可以理解为是带内传输,以startcode分隔NAL。而AVCC的参数集主要存储在extradata中,即带外传输,使用NALU长度分隔NAL,一般MP4和MKV都使用AVCC格式进行存储。需要注意的是,Android端的硬解只接受Annex-B格式的码流,所以相似解码MP4demux出的视频流时,需要对extradata进行解析,取出pps和sps,借助CSD进行初始化解码器,并将AVCC码流转化为Annex-B,并在ffmpeg中使用H.264进行转换。
3.时间戳不准确
通常硬解码器会将视频解码到surface,这个时候我们所获得的时间戳并不准确,某些机型还可能会出现异常。所以就需要使用解码输入的时间戳,从而将解码过程由异步转为同步,或者也可以将pts存储到队列中实现。
33

4.硬编解的速度问题
Mediacodec音频编解码的具体实现跟机型也有一定的关系,根据相关的测试,mediacodec音频硬编码比起软编码有6%左右的提速,但是mediacodec音频硬解反而比起软解来速度更慢一些。
由于适用的应用场景和用户需求各不相同,在硬编解和软编解的选择上也是非常的令人头疼。但无论如何选择,短视频平台开发的大前提都是以用户体验为主。所以在开发时,需要进行多方考虑,不仅要保障app的流畅运行,还要从功能机制上多下功夫。这样一来,才能开发出优质的短视频app,从而在短视频领域激烈的竞争中“生存下去”。
本文声明原创,转载请注明出处。

相关文章
|
14天前
|
前端开发 搜索推荐 PHP
大开眼界!uniapp秀操作,陪玩系统新功能,陪玩app源码,可实时互动随心优化!
多客游戏陪玩系统采用前端uniapp与PHP语言,实现全开源、易改造,RTC传输协议确保低延迟语音连麦,分布式部署应对高并发。功能创新包括游戏约单、多人语音聊天室、动态广场、私信聊天等,提供高端社交和个性化服务,满足各类需求,让玩家畅享游戏乐趣。
|
3月前
|
存储 缓存 边缘计算
揭秘直播带货背后的黑科技:播放流程全解析!
大家好,我是小米,今天聊聊社区直播带货的技术细节。我们将探讨直播播放流程中的关键技术,包括 HTTP DASH 协议、POP(Point of Presence)缓存和一致性哈希算法等。通过这些技术,直播流能根据网络状况动态调整清晰度,保证流畅体验。POP 和 DC 的多层次缓存设计减少了延迟,提升了观看效果。无论是技术人员还是直播运营者,都能从中受益。希望通过本文,你能更好地理解直播背后的技术原理。
65 3
|
8月前
|
vr&ar
字节跳动上线Pixsoul,主打特效变脸
字节跳动上线Pixsoul,主打特效变脸
120 0
|
自然语言处理 搜索推荐 UED
有钱景线上赛事直播开发搭建,探讨需要哪些核心功能
随着体育赛事直播平台成为用户最主要观赛,那么要打造一家充满活力的赛事直播平台,需要提供以下功能和内容。
如何开发自主体育直播足球竞猜系统?说难不难,做好这三步就行了
随着网络技术的发展,体育直播已经成为人们观看体育比赛的主要方式之一。对于想要开发自主体育直播系统的企业或个人来说,以下三步是必须要做的。
游戏+娱乐直播源码是干嘛的?为什么能轻松开发类似虎牙斗鱼平台
本文将深入探讨“东莞梦幻网络科技”的娱乐游戏直播源码的作用以及其为何能轻松开发类似平台,同时详解无需开发的优势和避免的风险。
|
监控 前端开发 jenkins
新来个技术总监,给团队引入了这款开发神器,同事直呼哇塞
带团队时间久了,就能发现整个 Team 都渐渐疲了。前两年老板还专门买了个系统搞 OKR,现在也不大提了;Scrum 我们也搞了,用起来也就那样;项目管理工具试了好几个,禅道、Worktile、现在用 Coding,反正有一个能用的就行;微服务化改造从去年开始在吭哧吭哧搞,我们自己搞得觉得很厉害,但业务部门那边就觉得没啥差别,搞不懂你们研发部门每天在弄些什么,赶紧做我们提的需求要紧。
新来个技术总监,给团队引入了这款开发神器,同事直呼哇塞
|
监控 小程序 安全
热饭的测开成果盘点第十八期:微信小程序平台
本期介绍的是一款测试微信小程序的自动化平台,功能比较简单,算是我给我带着我小徒弟(txn) 练手的第一个学习用平台。
热饭的测开成果盘点第十八期:微信小程序平台
|
监控 算法 Linux
挥泪告别录播组,传授录播方法
挥泪告别录播组,传授录播方法
挥泪告别录播组,传授录播方法
|
弹性计算 NoSQL Java

热门文章

最新文章