Android 直播 直播架构技术浅析

直播推流全过程:

在这里插入图片描述

直播间页面UI分析

这里截取了陌陌中直播页面UI样式,做个简单分析
在这里插入图片描述
拉流端上下滑切换直播间选型方案
VerticalViewPager推荐

  • 970 stars
  • 未维护

Android-DirectionalViewPager

  • 1040 stars
  • 未维护

InkeVerticalViewPagerLive

  • 212 stars
  • 未维护

VerticalViewPager

  • 278 stars
  • 未维护
直播涉及专有名词解释

软,硬编码
软编码:利用软件或CPU对所拍视频进行编码。软编兼容性好,能解码所有的视频格式文件,画质清晰、画面精致,速度较快。软件编码的CPU占用率高,一些性能比较差的手机可能会因CPU发热而降频、卡顿,无法流畅录制、播放视频,同时使用软件编码的方式可能会让软件包体变大手机内存占用率变高

硬编码:即利用手机硬件芯片(如GPU)对原视频进行编码的操作。硬编的优势在于它的编码速度非常快且效率极高,由于GPU承担起了编码的重担,因此硬编码对CPU的占用率低,就算长时间高清录制视频手机也不会发烫降频。由于机型区别,采取硬件编码的方式可能会出现兼容性上的问题,还有硬件编码画面不够精细的问题一直都很难解决

码率
视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒。通俗一点的理解就是取样率,单位时间内取样率越大,精度就越高,处理出来的文件就越接近原始文件

fps
FPS是图像领域中的定义,是指画面每秒传输帧数,通俗来讲就是指动画或视频的画面数。FPS是测量用于保存、显示动态视频的信息数量。每秒钟帧数愈多,所显示的动作就会越流畅。通常,要避免动作不流畅的最低是30。某些计算机视频格式,每秒只能提供15帧

直播相关技术点及开源项目
  1. ViewPager 或 RecyclerView + PagerSnapHelper 切换直播间

  2. 来疯手机安卓直播 SopCastComponent

  • 2062 stars
  1. 使用MediaCodec和RTMP做直播推流 AndroidInstantVideo
  • 418 stars
  1. LibRtmp-Client-for-Android
  • 330 stars
  1. android-openGL-canvas
  • 512 stars
  1. VideoPlayerManager
  • 2779 stars
  1. 视沃科技-大牛直播SDK daniulive.com
  • 6461 stars

后续会持续补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

初心一点

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值