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

简介: 互联网市场中之所以存在那么多优质的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,从而在短视频领域激烈的竞争中“生存下去”。
本文声明原创,转载请注明出处。

相关文章
|
1月前
|
存储 缓存 边缘计算
揭秘直播带货背后的黑科技:播放流程全解析!
大家好,我是小米,今天聊聊社区直播带货的技术细节。我们将探讨直播播放流程中的关键技术,包括 HTTP DASH 协议、POP(Point of Presence)缓存和一致性哈希算法等。通过这些技术,直播流能根据网络状况动态调整清晰度,保证流畅体验。POP 和 DC 的多层次缓存设计减少了延迟,提升了观看效果。无论是技术人员还是直播运营者,都能从中受益。希望通过本文,你能更好地理解直播背后的技术原理。
45 3
|
2月前
|
监控 数据可视化 iOS开发
噔噔噔!5款优质软件闪亮登场!
本文介绍了一位黑科技软件爱好者的五款精选软件:轻量级网络速度监控工具NetSpeedMonitor,专业地理信息系统ArcGIS Desktop,智能微信空号检测软件燃精灵,免费文字转语音软件Balabolka,以及美化Windows任务栏的TaskbarToDock。这些工具各具特色,旨在提升用户的数字生活体验。
39 3
|
6月前
|
自然语言处理 安全
线下陪玩游戏系统开发多语言/海外版/成熟技术/方案项目/源码功能
Continuing to develop an offline companion game system may involve the following aspects:
重拾梦想!语音交友源码平台搭建技术知识:在线KTV功能的实现
随着网络的快速发展,语音交友源码平台的新型功能将我们儿时的歌手梦托起,这个功能就是语音交友源码平台的在线KTV功能,对于开发语音交友平台的公司和个人来说,这个功能是非常重要的,下面我就详细为大家讲解语音交友源码平台搭建技术:在线KTV功能的实现!
重拾梦想!语音交友源码平台搭建技术知识:在线KTV功能的实现
|
供应链 Linux Android开发
目前该不该入坑鸿蒙
最近有一些朋友问现在该不该学习鸿蒙系统,如果不学是不是会落伍了啊?今天跟大家说说我的看法!
|
测试技术 Android开发
热饭的测开成果盘点第二十七期:安卓自动化平台
热饭的测开成果盘点第二十七期:安卓自动化平台
热饭的测开成果盘点第二十七期:安卓自动化平台
|
监控 小程序 安全
热饭的测开成果盘点第十八期:微信小程序平台
本期介绍的是一款测试微信小程序的自动化平台,功能比较简单,算是我给我带着我小徒弟(txn) 练手的第一个学习用平台。
热饭的测开成果盘点第十八期:微信小程序平台
|
人工智能 自然语言处理 测试技术
热饭的测开成果盘点第十九期:移动端自动化智能平台
本期介绍的是移动端app智能架构平台,效果和上期一样,也是直接根据用例 来直接执行,它的初衷是可以简单的对我们测试环境几千条用例全部自动执行的框架。在具体稳定和速度上可能不如原始写法,但是对付这种上千条的大需求,是有奇效的。
热饭的测开成果盘点第十九期:移动端自动化智能平台
|
数据安全/隐私保护
直播软件app开发与相爱相杀的短视频如何共同稳住局面
  直播软件app开发最大的竞争压力来自短视频行业。而短视频APP可以抓住人们碎片化时间的优势,成为人们生活中不可或缺的娱乐软件。对于用户来说,短视频似乎既是娱乐的工具,同时也是获取信息源的工具。
直播软件app开发与相爱相杀的短视频如何共同稳住局面
直播系统源码,迎接新年的却是这些“旧”功能
直播系统源码,迎接新年的却是这些“旧”功能
159 0