小视频app开发过程中,转码的速度是否够快也是众多软件开发商十分关心的一个方面。如果转码的时间过长,就会造成用户的产品体验非常差。为了避免用户体验差,就需要了解相关的问题所在。所以今天来给大家简单分享一下,关于转码速度方面的几点经验总结。

1.    调整软件编码的编码参数

一般转码的时间大部分都会被视频的编码占用,在保证画质不会出现较大影响的前提下可以将编码参数进行调整,可以节省百分之三十或以上的编码时间。

2.    开启硬件编码和解码

这里先来说一下硬件编码的缺点:在Android端,硬件编码的兼容性比较差,而且相比起来硬件编码的压缩比要低于软件编码。说到硬件编码的优点,就十分显而易见了。硬件编码器的速度快,而且占用的资源相对较少。硬件解码的兼容性比起硬件编码来说会好很多,所以使用硬件解码可以节省软件解码的时间开销。

在开启硬件编解码后,实现过程中需要注意什么?下面接着来讲一下实现过程中会遇到的问题。

1.   图像质量问题

开启硬件编码后,对比画质可以发现转码后的图像质量较差。原因就是在使用API时,选择的是CBR即固定码率,它的好处是码率比较稳定但是容易牺牲画质,所以CBR更适用于移动直播场景。那么在短视频的应用场景下,选择VBR即动态比特率会获得更好的图像质量。

2.   硬件解码与码流格式不兼容

H.264码流主要分Annex-B和AVCC两种格式,而硬件解码只接受Annex-B格式的码流,所以在解码MP4 Demux出的视频流时,需要解析extradata,取出sps和pps,通过CSD(Codec-Specific Data)来初始化解码器;并且将AVCC码流转换为Annex-B,在ffmpeg中使用h264_mp4toannexb_filter或hevc_mp4toannexb做转换。

3.硬件解码时间戳不准确的问题

硬解码器解码视频到Surface,但是通过SurfaceTexture.getTimestamp()获得的时间戳并不准确,会出现情况异常。所以还是要使用解码输入的时间戳,将解码过程由异步转为同步,或者将pts存储到队列中来实现。

其实在小视频app开发的过程中,转码对于普通的用户来说是看不见摸不着的,但它确实是短视频SDK中的一个重要过程。所以在开发过程中怎样才能

使转码过程耗时更短、转码后图像的质量更高和减少开发和维护成本,这些也是众多软件开发商十分关注的。

小视频app开发过程中关于转码问题的经验总结相关推荐

  1. 小视频app源码,邻接矩阵实现图的相关代码

    小视频app源码,邻接矩阵实现图的相关代码 /*Author:Albert Tesla WizardTime:2020/10/26 20:22 */#include<bits/stdc++.h& ...

  2. 小视频app源码,Android 滑动拼图验证码控件

    小视频app源码,Android 滑动拼图验证码控件 代码实现: 滑块视图类:SlideImageView.java.实现小视频APP源码随机选取拼图位置,对拼图位置进行验证等功能. public c ...

  3. 小视频app源码开发不可忽视的重点在这里

    小视频app适合各种移动场景下的用户参与,以内容为卖点,通过大数据功能筛选市场喜爱的视频,实际操作简单,容易引发二次传播,且变现模式成熟,因此,在抖音.微信等小视频app的刺激下,小视频app源码开发 ...

  4. 小视频app源码无障碍服务实现自动跳过APP启动页广告

    小视频app源码无障碍服务实现自动跳过APP启动页广告实现的相关代码 一. res目录下新建xml文件夹新建文件accessibility.xml <?xml version="1.0 ...

  5. 小视频APP源码开发者对小视频平台的三个忠告

    在这个短视频APP火爆的时代,小视频APP源码供不应求,无数人都想进来掺和一脚,因此无数短视频APP层出不穷,质量也是参差不齐,在此,我作为一个小视频APP开发人员,向各位想要开发短视频APP的朋友们 ...

  6. 整理Flutter App开发过程中遇到的问题及解决方法

    整理Flutter App开发过程中遇到的问题及解决方法 最近使用flutter开发一款app,因为是第一次接触flutter,在开发过程中遇到一些问题或常用的功能点,在此记录一下(持续更新-) (1 ...

  7. Android短视频app开发中如何实现上下滑动切换效果

    在大部分短视频app开发中,都会在app内增加上下滑动切换视频的功能,即下滑切换到下一条短视频,上滑切回到上一条.这种机制可以给用户带来良好的视觉体验,云豹作为优秀的app源码供应商,在该效果的实现上 ...

  8. 火山小视频服务器维护中,火山小视频整改时间多久 火山小视频整改哪些方面...

    火山小视频v3.7.0安卓版 类型:影音播放大小:24.7M语言:中文 评分:5.5 标签: 立即下载 火山小视频app是一款短视频录制软件,喜欢玩短视频的伙伴,大多数都在玩火山小视频,但是由于某些方 ...

  9. 短视频app开发中,给短视频加水印的技术该如何实现

    在短视频app开发中,对短视频编辑功能的开发是必不可少的,短视频的编辑处理模块包括视频裁剪.延时/加速特效.视频滤镜.音乐混音.静态贴纸.加水印等模块,我们现在来讲解一下,如果想给短视频添加水印,该如 ...

  10. 微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化

    微信小程序app.js中的全局变量globalData改变,如何通知其它页面界面显示改变,小程序中如何在其他页面中监听到globalData中值的变化 在小程序中,我们一般在app.js的onLaun ...

最新文章

  1. 从追MM谈23种设计模式
  2. SQLite的ADO.NET Provider支持ADO.NET Entity Framework
  3. java广度优先遍历
  4. Windows上安装Mac OS虚拟机
  5. 函数函数sigaction、signal
  6. Anti-Forgery Request Recipes For ASP.NET MVC And AJAX 防伪验证,防伪请求
  7. MaxCompute规格详解 让您花更低的成本获得更高的业务价值
  8. 微软认证学习资料大集合(软件+资料)
  9. 电脑端音乐播放器html5,分享|5 个很酷的音乐播放器
  10. python开发游戏脚本_Python开发游戏开服脚本
  11. struts的比较标签,在使用时,与测试时需要留心。
  12. 动态URL、静态URl、伪静态URL
  13. java xcap,xcap发包工具的简单使用2(发送报文)
  14. 数学建模之传染病SIR模型(新冠真实数据)
  15. 由内而外全面造就自己(七)
  16. docker X509 证书错误的终极终极终极解决
  17. 东软始业教育结业考试
  18. Python——简化表达
  19. 【Spark重点难点】你的数据存在哪了?
  20. 天池大数据《快来一起挖掘幸福感!》项目第169名

热门文章

  1. 用户登陆过程 及时更新信息方法
  2. 关于Xcode的一些方法-15-05-02
  3. RHEL5下编译ACE 5.5
  4. 如何让Mac在 Finder 顶部显示完整的文件路径
  5. 【Flutter】Dart的工厂构造方法单例对象初始化列表
  6. 教你如何保持Tuxera NTFS For Mac软件的更新
  7. Android与物联网设备通信-网络模型分层
  8. Hexo,自定义博客主题
  9. jsp 判断时间大小
  10. org.apache.hadoop.hbase.PleaseHoldException: Master is initializing