互联网时代,新事物更新迭代速度飞快,无论是短视频还是直播,都要经过无数次的测试、优化等步骤完成,但是,一款优质的短视频APP诞生并非易事,开发过程也是需要考虑各种问题,包括音视频问题、开屏速度等等。
短视频APP开发是选择硬编解还是软编解呢?
由于在短视频APP的应用场景多种,在选择硬编解和软编解上也是让人非常纠结的事,在开发短视频APP时一定要注意的是以用户体验为主,永远放在位,今天同创天达小编就给大家介绍一下在开发短视频APP过程中硬编解时的注意事项。
1.图像质量
在使用硬编码之后,对比可以发现视频的画质转码后图像质量会变差。原因是什么呢?因为在使用mediacodecAPI时,选择了CBR。虽然CBR的优势是码率比较稳定,但是它会牺牲一部分画质,所以CBR更适合在移动的直播场景中应用。在短视频的转码过程中,使用硬编时更适合选择VBR,这样一来VBR能够获得更好的图像质量。但是在软编时选择VBR,情况就不太稳定,无法保证图像质量的“稳定输出”。
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存储到队列中实现。
4.硬编解的速度问题
Mediacodec音频编解码的具体实现跟机型也有一定的关系,根据相关的测试,mediacodec音频硬编码比起软编码有6%左右的提速,但是mediacodec音频硬解反而比起软解来速度更慢一些。
短视频APP开发是选择硬编解还是软编解呢?
短视频APP开发需要多方考虑才能保证终开发出来的APP是佳版本,不仅是在UI界面上,而且短视频APP的流畅程度也都是重点,优质的短视频APP一定是在前期进行过长期的设计和讨论,以及在开发技术上都有要求。
开发短视频APP过程中硬编解时的注意事项
济南网站/软件服务相关信息
1天前