Flutter浪潮下的音视频研发探索

导读:本文来自 LiveVideoStack 线上分享第三季,第十期阿里巴巴闲鱼事业部无线开发专家陈炉军带来的分享内容,针对闲鱼APP在当下流行的跨平台框架Flutter的大规模实践,介绍其在音视频领域碰到的一些困难以及解决方案。

大家好,我是阿里巴巴闲鱼事业部的陈炉军,本次分享的主题是 Flutter 浪潮下的音视频研发探索,主要内容是针对闲鱼APP在当下流行的跨平台框架 Flutter 的大规模实践,介绍其在音视频领域碰到的一些困难以及解决方案。

分享内容主要分为四个方面,首先会对 Flutter 有一个简单介绍以及选择 Flutter 作为跨平台框架的原因,其次会介绍 Flutter 中与音视频关系非常大的外接纹理概念,以及对它做出的一些优化。之后会对闲鱼在音视频实践过程中碰到的一些 Flutter 问题提出了一些解决方案—— TPM 音视频框架。最后是闲鱼 Flutter 多媒体开源组件的介绍。

Flutter

Flutter 是一个跨平台框架,以往的做法是将音频、视频和网络这些模块都下沉到 C++ 层或者 ARM 层,在其上封装成一个音视频的 SDK ,供 UI 层的 PC 、 iOS 和 Android 调用。

而 Flutter 做为一个 UI 层的跨平台框架,顾名思义就是在 UI 层也实现了一个跨平台开发。可以预想的是未Flutter发展的好的话,会逐渐变为一个从底层到 UI 层的一个全链路的跨平台开发,技术人员分别负责 SDK 和 UI 层的开发。

在 Flutter 之前已经有很多跨平台 UI 解决方案,那为什么选择 Flutter 呢?我们主要考虑性能和跨平台的能力。

以往的跨平台方案比如 Weex,ReactNative,Cordova 等等因为架构的原因无法满足性能要求,尤其是在音视频这种性能要求几乎苛刻的场景。

而诸如 Xamarin 等,虽然性能可以和原生 App 一致,但是大部分逻辑还是需要分平台实现。

我们可以看一下,为什么 Flutter 可以实现高性能:

原生的native组件渲染以 IOS 为例,苹果的UIKit通过调用平台自己的绘制框架 QuaztCore 来实现 UI 的绘制,图形绘制也是调用底层的 API ,比如 OpenGL 、 Metal 等。

而 Flutter 也是和原生 API 逻辑一致,也是通过调用底层的绘制框架层 SKIA 实现 UI 层。这样相当于 Flutter 他自己实现了一

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值