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

  • 时间:
  • 浏览:0

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存储到队列中实现。

互联网市场中未必占据 没法多优质的app,都有经过无数次的测试、优化和更新完成的。要想开发一款优质的app并没法没法容易。比如在短视频平台开发时,不仅须要考虑音视频否有同步、首屏打开强度单位等难题,还须要考虑界面的UI和功能等否有贴近用户需求。但会 难免会在开发过程中遇到难题,今天就简单的盘点一下硬编解时机会会遇到的“坑”。

1.图像质量

在使用硬编码事先,对比还须要发现视频的画质转码后图像质量会变差。意味着 是哪几种呢?机会在使用mediacodecAPI时,选着了CBR。着实CBR的优势是码率比较稳定,但会 它会牺牲一次责画质,但会 CBR更适合在移动的直播场景中应用。在短视频的转码过程中,使用硬编时更适合选着VBR,事先一来VBR不能获得更好的图像质量。但会 在软编时选着VBR,情况汇报就不太稳定,无法保证图像质量的“稳定输出”。

4.硬编解的强度单位难题

Mediacodec音频编解码的具体实现跟机型都有一定的关系,根据相关的测试,mediacodec音频硬编码比起软编码有6%左右的提速,但会 mediacodec音频硬解反而比起软解来强度单位比较慢但会 。

机会适用的应用场景和用户需求各不相同,在硬编解和软编解的选着上也是非常的令人头疼。但无论怎么才能 才能 选着,短视频平台开发的大前提都有以用户体验为主。但会 在开发时,须要进行多方考虑,不仅要保障app的流畅运行,须要从功能机制上多下功夫。事先一来,不能开发出优质的短视频app,从而在短视频领域激烈的竞争中“生存下去”。

本文声明原创,转载请注明出处。