这是一篇没能赶上热点的文章,但好在对技术的讨论总是多多益善,不分冷热。

作者:唐赓&LiveVideoStack

编辑:Coco Liang

时间倒回4月9日,9To5Mac通过iOS 14的代码,猜测苹果或将推出全新的APP下载和使用方式,用户只需扫描二维码或打开链接,即可体验应用程序的某些特定功能,而不需要在iPhone或iPad上安装APP的完整版本。

消息称,iOS 14将会使用一种被苹果内部称为“Clips”的API。 “Clips”允许开发人员向用户提供应用程序中交互式的动态内容(在用户尚未安装该应用程序的情况下)。

假设用户扫描的二维码带有指向YouTube视频的链接,但是该用户并没有在iPhone上安装YouTube官方应用程序,那么只要通过 “Clips”,用户便能够扫描该二维码,并在本地用户界面而不是Safari网页上观看视频内容。

由于目前关于 “Clips”的资料非常有限,我们专门采访了花椒直播技术部负责人唐赓,和他一起对“Clips”进行了一些有(大)限(胆)的探(猜)讨(测):

1. 相比Android的Slice,更像是微信小程序

2. 可能是Siri功能的延伸,但容易引发隐私忧虑

3. 将强化专有生态(iOS、Webkit)

4. 完善iOS用户定制化的短板

有关第1、2点猜测,唐赓的看法是:

"先说说我熟悉的直播领域音视频技术的现状,目前iOS系统硬件已经很强大,H.264、H.265硬件编解码也已经很普及,此外,硬件回声消除效果也很令人满意,常规的采集和播放也不存在难度,更多的问题还是集中在网络层面。

低延迟、抗丢包、抗抖动以及多人实时互动等等,还需要技术优化。另外,基于AI的视频人脸识别、表情识别、肢体识别、背景分割、虚拟形象驱动、虚拟主播等也是目前非常重要的方向,可以提供很多面向未来的体验和玩法。

说回Clips,大家都拿安卓的Slices进行对比,不过我觉得安卓Slices主要出现在Search结果页和Assistant,目标是用于整合手机内部应用的功能。

而iOS的Clips从描述上看更接近国内用户早已熟悉的微信扫码和小程序,主要定位应该是和线下应用结合,进行动态展示和交互,就像现在大家常用的扫码购物、点餐、租车、导游和购票等等。

‘Clips’API允许开发人员向用户提供应用程序中交互式的动态内容,支持用户‘扫描二维码—跳出程序卡片—本地观看视频’。为了让用户无感下载显然应该要想方设法最小化Clips组件的体积,我认为开发者应该选择基于系统已有的组件来实现。

比如基于系统的HLS播放器、原生WebRTC,或者可以更激进一些,把一些原来基于客户端实现的一些特效如点赞、礼物特效等等,在服务端混入视频流后在Clips内进行展示,以提供更完整更接近App的用户体验。

估计苹果也会允许直接调用ApplePay、IAP进行支付,登录也会基于Apple ID(苹果要求6/30之前所有App都要支持苹果登录可能就是在给它铺路?)。

如果主要基于HLS播放的话,要实现低延迟的用户体验,采用去年苹果推出的低延迟HLS方案可能是一个必然选择。当然,如果不需要强调低延迟特性的话,普通HLS也应该够用了。

理论上,只要能不受限地访问网络,观看、互动问题都不大,功能取舍更多是在资源、布局限制下的产品设计问题,如果连登录、支付都利用上的话,功能支持和体验可以更完整快捷。

Clips的定位应该主要是线下应用,音视频方面应该是更倾向于点播类型的业务,实时类型的业务基于WebRTC也应该没有问题。

而花椒直播本身作为线上直播平台,平台本身直接与线下结合的场景相对较少(当然我们有不少主播是做线下户外直播的),可能会有一些线下的广告扫码后就可以推荐附近的主播、附近的兴趣类似的用户进行一些交互,或者用于线下活动场合方便用户体验和安装。"


也有另一种声音认为,无论是Android的Slice还是iOS的Chips,都对开放网络标准(HTML5和Web)构成了巨大的威胁,使网络环境变得更加碎片化,甚至让前者开始为专有生态系统(iOS、Webkit)提供额外的功能,使得专有标准在实现硬件、操作系统以及应用程序之间的紧密集成方面更上一层楼。

事实上,即使是Chrome也很难同时支持网络应用、iOS和Android,而我们最不需要的就是Android和iOS也同样加速脱离Web标准。

有网友称,如果你担心Chromium的影响太大,那么你也应该担心Webkit的控制太多。

拿HLS举例,HLS由苹果开发,也被广泛使用。但如果要在Apple设备上播放视频,则必须使用HLS。而iOS上的Webkit中不提供构建自己的播放器(MSE)所需的工具,并且由于用户无法使用其他浏览器引擎,事情因此变得很麻烦。

Safari不支持WebP或VP9之类的开放标准,苹果也在尽力禁用硬件解码器支持的类型。现在基本上每个大型流媒体平台都需要对内容分别进行DASH和HLS编码,类似与Webkit-iOS相关的问题肯定也存在于其他行业。而将所有人锁定在一个渲染引擎上是非常anti-consumer的。

不会有人想让一家公司控制Web标准,这将意味着这家公司可以在该标准损害其商业模式的情况下对其进行修改甚至是删除。这就类似于AppStore可以通过限制用户对应用程序类型的访问(例如游戏直播应用)来减少用户的选择,which,损害了消费者利益。

目前并不确定Clips的应用范围(iOS 14构建了QR码),但如果它被用在搜索结果或Siri中,也不足为奇。但Siri的功能因此被延伸的同时,也存在着很大的安全隐患就是了。

苹果公司正在OpenTable、Yelp、DoorDash、索尼(及其PS4 Second Screen应用程序)和YouTube测试新的API,并可能在WWDC演示中将这些APP用作示例,也就是说,或许一切将在6月揭晓。


2020.6.20-2020.6.21 LiveVideoStack首届音视频线上峰会

万物皆可“小程序”——迟到的iOS 14之猜想相关推荐

  1. 微信小程序中苹果iOS手机显示时间格式NaN不正确的问题

    项目场景: 实现安卓Android和苹果iOS中微信小程序显示订单时间信息 问题描述 微信小程序中苹果iOS手机显示时间格式NaN不正确的问题 原因分析: 安卓微信小程序显示正常,苹果按格式YYYY- ...

  2. 小程序textarea在ios中内边距的解决办法

    小程序textarea在ios中内边距的解决办法 官方文档上面有一个 disable-default-padding 属性去除在ios上面的内边距

  3. 小程序兼容各个ios版本

    本篇文章记录的是小程序兼容的ios 6.7.7 ,plus, x及xs等等,最后方式设计人员应该看懂的设计方式(会了才能开发设计搞-) 第一.各个iphone的尺寸 绝对是帮你解决各种问题的表,对应微 ...

  4. uni-app app 跳转 微信小程序(安卓/ios)

    uni-app app 跳转 微信小程序(安卓/ios) 近日接到需求,需要实现在 app 中直接跳转到微信小程序中,其实非常简单,uni-app 都已经集成好了. 安卓和ios 有点区别,这个需要注 ...

  5. 微信小程序 1rpx border ios 真机显示不全

    微信小程序 1rpx border ios 真机显示不全 问题描述 在微信小程序的原生页面,ios 真机上 1rpx border 会出现个别边显示不全的情况: 解决方案 这里先放上问题直通车:微信小 ...

  6. 微信小程序的网络请求 —— 微信小程序教程系列(14)

    网络请求,基本上是必须的环节之一. 小程序提供了wx.request(object),与开发者的服务器实现数据交互的一个很重要的api. 最简单的用法如下(以GET请求为例) <view bin ...

  7. uniapp小程序 安卓和ios时间兼容性问题解决方案

    1.问题描述 在ios的小程序中如果时间格式为 2022-12-09 10:10:10 这种格式的话 new Date('2022-12-09 10:10:10') 会报NaN或invalid Dat ...

  8. dakai微信小程序 ios_【iOS】微信小程序打开APP到底是怎么回事?

    前言 从苹果官方来看,小程序新增了两个功能: 1. 支持打开移动应用 2. 标题栏区域开放自定义 针对第二个功能,就是开发者可以自定义小程序菜单栏的颜色风格,根据需求,对小程序菜单外的标题区域进行自定 ...

  9. 【小程序】小程序安卓,ios,ipad兼容问题

    1,formId 不同 说明:安卓与ios下的formId的规则是不一样的,之前由于后端拦截了导致报错 ios下的formId 安卓下的formId 2,尽量少用定位fixed的百分比 说明:由于小程 ...

最新文章

  1. spark on yarn提交后vcore数不对
  2. 安装SSL证书-解决导入证书时的ASN1 bad tag value met错误
  3. PowerShell在Exchange2010下交互式创建域用户和邮箱
  4. [html] websocket和http2有什么区别?http2能取代websocket吗?为什么?
  5. Delphi XE7实现的任意位置弹出菜单
  6. Python 将 HTML 文件转成指定的编码
  7. mysql怎么进行删除操作_利用PHP怎么对MySQL数据库进行删除操作
  8. c c++函数资源释放时避免goto的方法
  9. python豆瓣Top250数据分析
  10. 机场三字代码和四字代码的资料汇编
  11. 远程服务器时Ubuntu报错:qt.qpa.xcb: could not connect to display
  12. vue实现输入六位密码支付页面
  13. JavaScript模拟出一个input用于添加本地文件
  14. xp无法访问win7计算机,xp系统访问win7共享文件夹提示无权限如何解决
  15. Wox - 开源免费强大的快捷启动器辅助工具,快速高效率打开软件/搜索文件!
  16. 强化调色原理—制作老旧照片效果
  17. Python|随机数的奥秘
  18. Netty——ByteBuffer(ByteBuffer消息粘包、半包示例)
  19. 面试笔记 如何3秒钟看出一个人的实力?| 奸商行走江湖7年的经验分享
  20. 微信小程序(一)_APPID_的作用

热门文章

  1. 《CDN 之我见》原理篇——CDN的由来与调度
  2. js 对 URL 参数进行 加密 解密
  3. corosync+pacemaker在centos7上的安装,配置简述
  4. 转:mac下安装homebrew
  5. hdu1160 dp
  6. python交互模式设置及VIM的tab补齐
  7. Repeater控件的分隔线
  8. mantis缺陷管理系统配置与安装
  9. flash cs3 代码提示 应该加强
  10. 2021牛客多校2 - Stack(单调栈+拓扑)