Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【Airplay】WWDC学习_苹果开发者大会

【Airplay】WWDC学习_苹果开发者大会

作者头像
天天Lotay
发布于 2023-04-07 10:36:13
发布于 2023-04-07 10:36:13
8220
举报
文章被收录于专栏:嵌入式音视频嵌入式音视频

“App与新一代网络”讲座

演讲者:普拉巴卡尔·拉卡拉 ,斯图尔特·柴歇尔

偏离绿色应答线条 这意味着我们将数据发送到 网络的速度快于数据从另一侧被输出 和被应答的数据 如果数据被输入的速度 快于被输出的速度

情况就会变得不一样 数据将会进入缓存网络缓存中的 旧数据将会增大 由于缓存数据量增大 意味着数据包发送与 接收端应答之间的往返延迟增大

当缓存数据量达到一定程度时 网关将无法缓存更多数据 将开始出现丢包现象

将会发生混乱而且是非常严重的混乱 因此数据包进入队列末尾的速度 将会快于数据包出列的速度 我们收到数据包但是会丢失它们 其他数据包也会被丢失 队列被清空一点 我们获得一个数据包接受它 在队列的末尾是一片混乱 它获得一个数据包就会丢失一个数据包

但是在队列前部 有200个数据包依次排列等待 它们需要有序地 经过10Mb瓶颈链路 不能有间隔不能发生问题 只有在整个队列的数据 发送完之后我们才会看到 反映在发送端选择性应答消息中的 接收端的数据包丢失情况 然后开始进行补包 因此这是严重的混乱现象

由于网络传输API的工作方式 数据必须依次传输

如果一个数据包丢挡住 其后抵达的所有数据包 在内核中将被延迟 直到间隙被填满 这是有道理的 很多人曾经建议使用无序传输方法 但是结果发现几乎所有APP都很难 使用无序数据 如果你要解码H.264视频 只获得数据帧而无法获得它们 所依赖的I-Frame将不会有意义 因此顺序数据传输确实是 APP所需的传输模式

顺序数据传输导致 我们看到这些长时间的空白期 在此期间没有数据传输 对于Apple TV 视频回放流程来说 这相当于一个无信号时间段 在此期间将接收不到数据 我们不想要视频卡住 因此所有流媒体视频 都需要一个回放缓冲区

较大的回放缓冲区意味着 当你观看流媒体视频时 你会看到不断旋转的图标提示正在缓冲 因为缓冲区还有填满 因此当长时间没有数据到达时 可能会始终显示这个图标

当丢失的数据包到达时 我们开始填满间隙 并且立即播放视频

这将会给网络接收线程带来额外的负担 它需要将CPU时间分配给 视频播放线程之外的其他线程 从而造成视频播放卡顿 这不是我们想要的

这种不均衡的网络数据传输 给Apple TV等设备 造成不佳的用户体验在我们努力降低 设备的成本时 这种长时间的数据空白期 相当于我们需要增大设备内存 来缓存更多数据 并且推迟视频开始时间和降低用户体验

这种传输不均衡现象 还会导致设备需要更快的CPU 从而抬升设备价格 因此对于流媒体视频来说 这种不均衡的传输是十分有害的

最后作为总结我希望你们 记住今天讲座的要点

即 你应该尽可能地 使用最高层次的网络API 这样你将能够获得 这些API所能提供的全部功能

你绝对必须在NAT64网络上 测试你的APP 幸运的是我们进行了大量的简化工作 你只需要点击“选项”就可以了

可靠的网络回退机制 能够让你的APP提供更好的用户体验

你需要做的是注意 “Better Route”通知 这样当Wi-Fi重新可用时 你可以返回到Wi-Fi连接

“显式拥塞通知” 是一项新的基本功能

它通过降低队列等待和减少丢包 大幅提高网络数据传输的响应速度 我希望你们测试这些功能 并且报告任何问题

利用 CPNOTSENT-LOWAT选项 你可以为自己设置一个 socket选项 在下一个版本中你将可以免费使用它 从而大幅减少发送机中 缓存的迟滞数据量

深入了解HomeKit

演讲者:Keith Rauenbuehler 来自 HomeKit Engineering 团队

在iPad上进行桌面级浏览的介绍

演讲者:Charles Ying ,来自Safari WebKit团队的 Wenson Hsieh和Beth Dakin

我们认为可视化视窗API 是一个很棒的工具 可以充分利用iPad的大屏幕

让我们谈谈流媒体 在网页浏览器上提供 优质流媒体内容的用户们 很可能已经知道 最佳方式是HTTP Live Streaming 或简称为HLS

HLS在iPhone、iPad 和Mac上可用 它是一个疑难问题的简便方案 因为它替你分担了全部繁冗的工作 它可以和CDN一起使用 并且你会免费获得一些东西 比如AirPlay整合

然而有些电脑版内容使用了 Media Source Extensions 或简称为MSE MSE是一个可以让视频供应商 精确控制所提供给用户的 数据的API 比如你可以手动提升或降低视频品质 从而响应带宽变更 如果你当前有内容使用了MSE 我有一个好消息给你 iPadOS中MSE在iPad上 的电脑版网站上首次可用

如果你当前的引擎 针对电脑版网站使用了MSE 它在iPad上也没问题 并且如果你使用实施了MSE引擎的 JavaScript库 那也没问题

因为有了HLS和MSE两个选项 流媒体在iPad的Safari中 变得比以前更强大了

隐私保护方面的新功能

演讲者: Privacy Engineering 部门的 Justin ,欢迎收看 “What’s new in Privacy

以前使用这些协议流媒体时 App 需要获得访问本地网络的许可 通常还需要蓝牙 这个许可是需要的 因为管理设备选择 需要了解所有的设备 但这提供了超出必要范围的信息 并带来了设备指纹的风险 媒体设备发现可让您的 App 流传输到选定的设备 而无需显示网络或蓝牙访问提示 流媒体设备与 AirPlay 显示在 同一个选择器中 而App 只能看到 被选中的流传输到的设备 这要得益于 DeviceDiscovery 扩展

这个扩展可以搜索本地网络 和蓝牙设备 但是沙盒独立于 App 因此无法将扫描结果发回 这意味着 App 访问本地网络 或蓝牙不需要广泛的权限 因为 App 不能看到整个网络 相反 扩展只能将发现的附件 发送到 DeviceDiscoveryExtension 框架 DeviceDiscoveryExtension 框架 在选择器中显示发现的设备列表 做出选择后 系统启用与所选设备的通信 不需要其他权限

协议提供商应使用 DeviceDiscoveryExtension 来创建 App 扩展 扩展 AVRoutePickerView 以处理用户选择回调 处理您的协议中用户选择的网络设备 下载示例扩展和 App 来了解更多信息 App 开发人员应联系 他们的流协议提供商 以实现 DeviceDiscoveryExtension 媒体设备发现是构建 具有极大隐私性的 出色功能的机会 您的 App 可以准确访问 流式传输需要的数据 发现简单且无需提示 用户还能获得良好的网络隐私 各方都能受益 就像媒体设备发现提供 在没有提示的情况下 仅访问所需设备的权限一样 PHPicker API 提供了 只访问所需照片的权限而没有提示 PHPicker 现在在带有 macOS Ventura 的 Mac 以及带有 watchOS 9 的手表上 更新您的 Mac 和 Watch App 以访问照片 而不提示用户 访问所有照片

Web开发者的创新

您可以使用媒体查询来检测高动态范围显示支持。在CSS中,您可以像这样查询动态范围高的支持。或者,您可以在JavaScript中使用windows matchMedia方法,这样您就可以通过HDR显示器向用户提供逐步增强的内容。继续视频更新WebKit增加了对远程播放API的支持。我们以前一直有一个用于进行AirPlay的API,但远程播放API是一种基于标准的方式,可以将音频或视频的远程播放添加到自定义的基于网络的媒体播放器中,并将其发送到各种其他远程播放设备,如连接的电视、纯音频扬声器和任何支持AirPlay的设备。要使用它,您将在视频播放器控件上设置一个自定义按钮,并响应用户交互调用视频元素远程提示方法。然后,您可以在回调处理程序中处理远程播放状态的更新。真的那么简单。然后在您的设备上,用户可以点击控件以获取可用远程播放设备的菜单。选择后,视频将发送到该设备。支持远程播放API使您的用户能够灵活地在所有设备上欣赏媒体。另一种帮助用户享受媒体的方法是画中画API。

针对隔空播放2视频的HLS创作

演讲者: Eryk Vershen ,是HLS Streaming 团队的一名工程师 我们来聊一下 AirPlay 2 Video的HLS Authoring

自从我们在iOS上 引入隔空播放功能以来 用户们都喜欢在Apple TV 使用隔空播放视频 今年年初 我们大幅度地提升了在TV 直接使用隔空播放功能的支持

Apple TV和AirPlay capable TV 都能回放高质量的视频 你可能记得我们有 一些特殊的要求 关于投影到tvOS和 Apple TV的内容 AirPlay capable TV 是一类新的设备 所以这类设备有属于 它们自己的要求标准

接下来会有一个简单议程 我会说明新的要求标准 以及我们对验证工具 做出的修改 来帮您排查问题

我们最近发布了 一个新的HLS编写规范 关于对AirPlay 2 额外的要求标准

这是一个简练的列表 您无需现在就全部 了解整个清单 我将在一个演示文档中 详细说明每一条改动 我们来看一下细节

你需要同步 不同的视频类型 这能让转换容易点 如果彩色方块在时间线上 代表不同的视频类型 我们要做的是 将它们排列整齐 推荐你使用 毫秒级精度以上的标准 以及你的视频片段应该以 IDR帧来开始

你也要避免 不连续的变化 比如 不要在 HEVC和H.264以及 AAC和Dolby Digital 之间切换 因为这些格式不能在iOS 和Apple TV无缝转换 你可以小心地调整帧率 不要在 每秒25帧和30帧之间转换

如果你要每个编解码器都能 很好地支持每种格式 而这些视频格式使用的 一直是最开始的编解码器 所以 特别是 不要只在低分辨率视频 中使用H.264 在高分辨率视频中只使用HEVC 虽然在其他设备上起作用 但这里不行 你应该使用 I-frame方差 它们让快进 倒带 查询更有效率 因为此类设备 不太会切换编解码器 你需要使用一系列I-frame方差 来适配一般视频的编解码器

下面是关于编码的要求 并不只针对AirPlay 2 但我们要了解这些要求

一般的加密标准 推荐使用10%部分加密 我们需要使用FairPlay 其他的编码可能无法工作

对于样本加密 有两种方法 CMAF使用了一个senc box ISO则基于媒体格式 使用一对saio box和saiz box 我们推荐第二种方式 但你可以使用两者

最后 我们讲下其他要求 如果你要使用HDR内容 最好的方式是 提供多种格式类型 比如Dolby Vision和HDR 10 因为TV可能只支持 其中一种格式

使用WebVTT添加字幕 所有网络内容 我们都推荐 都使用MIME格式 下面我们来讲下具体 细节

我们使用MIME格式 发送HLS播放列表很长时间了 关于视频和音频的 MIME格式推荐 可能是你想要了解的 请留意 对于WebVTT 我们使用text/plain 尽管WebVTT文档 推荐text/VTT格式 然而text VTT格式 并不是由IANA注册 也可能不被一些客户端兼容 所以要使用text/plain格式

下面是 一些不太常用的MIME类型清单 清单的最后两个 不被AirPlay 2兼容 在这里列出 是因为我们推荐MIME格式 包括所有网站内容 而不仅仅是AirPlay 2

现在我们来看看 如何检测你的流媒体

我们记得有两个 工具来验证HLS 这些工具各有所长 Mediastreamvalidator 的特色是检测HLS是否符合标准 HLSreport则是 检测是否符合编写规范标准 你应该要始终使用这两个工具 我建议你写个脚本 使用这两个工具一并测试

至于HLSreport 我们做了重要的修改 以前你需要使用“-os”选项 测试多次 如果你想要检查iOS和tvOS 的规则的话 现在 默认情况下 它可以检测所有的规则 包括AirPlay 2的规则 设置选项的规则 来修改你的检测的测试 但通常你们不必使用它 当OS选项还在工作时 你需要停止使用它

我们来看下HLSreport 变化后的输出

请留意标题栏 所有的规则标准都被检测过了

一部分规则现在则被 分类到各个规则集 我们有通用的要求说明 每个规则集有Must Fix 和Should Fix 两个分项

在输出的最底部 有iOS要求说明

请留意规则10 上面的最后一则通规 被标记为Should Fix 然而在AirPlay 2 相同的规则是Must Fix

如果某个部分或 子部分没有违规 该部分或 子部分会被放过 比如 针对AirPlay 2 这个流媒体没有Should Fix

最需要留意的是 针对AirPlay 2的设备 我们添加了新的需求说明 记得使用HLSreport 这样你就可以 检测是否符合编写规范标准 HLSreport现在 可以检测默认设置中的所有规则

以上就是演讲507的所有内容 如你想要了解更多信息 你可通过链接 查看编写规范 以及工具 和HLS的其他信息 感谢聆听 祝你接下来的会议行程愉快

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-04-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
演进中视频流媒体容器格式与传输协议
最近几年,在线视频行业发展十分迅速,无论是视频播放设备还是视频传输技术都在不断革新,从60英寸的UHD平面屏幕到平板电脑或者手机,从光纤网络到3G,4G的蜂窝网络技术,这些技术的革新使得流媒体视频制作人员要支持多种自适应流技术。
用户1324186
2018/07/26
3.5K0
演进中视频流媒体容器格式与传输协议
WWDC2023 | 如何为visionOS准备和提供视频内容
在本次会议中,我们将探讨如何为空间体验准备和提供流媒体内容。我们将从回顾使用HTTP Live Streaming (HLS) 生产、准备和提供2D媒体的当前步骤开始,然后转向3D视频内容的支持及其步骤的更新。本次会议的目标是使得在此平台上提供2D视听内容的过程与在我们所有其他平台上的过程相同。
用户1324186
2024/02/29
3050
WWDC2023 | 如何为visionOS准备和提供视频内容
没熬夜看苹果开发者大会 2015 WWDC直播?来这看吧!
转自|百度百家 微信|baidu_baijia 和百家一起熬夜看WWDC,在会议开场前,现场已人头攒动。 开场的是BillBoard 上大热的单曲《Uptown Funk》 发布会将公布全新的操作
大数据文摘
2018/05/23
6350
AirServer2023免费版苹果手机投屏电脑桌面软件
AirServer是一个Mac专用投屏工具,功能强大,并且可以通过网络和其他平台同步视频内容。可以使用多个设备进行投屏,快速查看同一局域网内的视频。支持的设备:苹果系统。支持 Windows、 Mac、 Android、 iOS、 windows平台。
用户7442547
2022/12/15
1.8K0
HLS直播协议详解
首先我们先使用 ffmepg 对一段视频文件进行切片,视频所在路径:D:\Work\test
Gnep@97
2023/10/29
1.8K0
HLS直播协议详解
AirServer2023MAC电脑专用投屏软件功能介绍
AirServer是一个Mac专用投屏工具,功能强大,并且可以通过网络和其他平台同步视频内容。可以使用多个设备进行投屏,快速查看同一局域网内的视频。支持的设备:苹果系统。支持 Windows、 Mac、 Android、 iOS、 windows平台。
用户7442547
2023/04/21
1.6K0
【智能家居】
AirPlay允许人们将媒体内容从iOS、ipad、macOS和tvOS设备无线传输到支持AirPlay的Apple TV、HomePod以及电视和扬声器上。
天天Lotay
2023/10/25
4610
【智能家居】
Apple FairPlay DRM及其工作原理
 点击上方“LiveVideoStack”关注我们 翻译、编辑:Alex 技术审校:刘姗 本文来自OTTVerse,作者为Krishna Rao Vijayanagar。 ▲扫描图中二维码或点击阅读原文▲ 了解音视频技术大会更多信息 Apple FairPlay Easy-Tech #020# 在本篇文章中,我们将了解Apple推出的FairPlay DRM解决方案(主要用于在iOS、tvOS和macOS设备上安全分发内容)。让我们一起来看下FairPlay DRM的重要构成、基本工作流和一些有趣
LiveVideoStack
2022/04/11
3.7K0
Apple FairPlay DRM及其工作原理
无线投射: 电视盒子中的一些技术参数
选购一款合适的电视盒子产品,无非考虑其性能,价格,外观,易用性,扩展性等几个方面。鉴于互联网产品生命周期越来越短,综合因素选择真正适合的一款产品目前还不算容易,毕竟可供选择的相对较少,而且似乎无良商家都抓住了“饥饿营销”救命稻草,恶心你到死!
gigiwangs
2019/02/28
1.7K0
WWDC的Keynote,开发者们需要关注什么?
北京时间6月14日凌晨1点,2016年苹果WWDC(开发者大会)在美国旧金山的比尔·格雷厄姆市政礼堂举办,此次大会以“四大OS”为主题,虽然没有期待的硬件发布,但“四大OS”的更新对于开发者而言,似乎
CSDN技术头条
2018/02/12
1.7K0
WWDC的Keynote,开发者们需要关注什么?
AirServer 7 for Mac(Mac专用投屏工具)v7.2.6永久激活版
AIrServer 7 for Mac是一款能够通过本地网络将音频、照片、视频以及支持AirPlay功能的第三方App,从iOS设备无线传送到Mac电脑的屏幕上,把Mac变成一个AirPlay终端的实用工具。
一小朵
2022/10/21
1K0
AirServer 7 for Mac(Mac专用投屏工具)v7.2.6永久激活版
HEVC支持苹果HLS的几个关键问题
2017年的苹果WWDC大会上,苹果宣布HEVC支持HLS,涉及了iOS、MacOS和tvOS等系统终端。但任何升级改进都是一个过程,这里整理了开发者最关心的问题。
LiveVideoStack
2021/09/02
1.2K0
HEVC支持苹果HLS的几个关键问题
Infuse for Mac(高品质媒体播放器)
Infuse是一款非常流行的媒体播放器应用程序,它支持广泛的视频格式,包括MP4、MKV、AVI、WMV等,并提供高品质的解码功能,支持4K、HDR和Dolby Vision等高清视频特性。
快乐的小丸子
2023/04/11
1.7K0
Apple TV 与 Roku:该购买哪种流媒体设备?
摘要:毫无疑问,Roku 和 Apple TV 在行业中都有各自的价值,但究竟谁比谁更好呢?本文讨论 Apple TV 与 Roku,重点介绍这两种设备的顶级功能。基于用户在流媒体设备中寻找的不同基本功能和标准,本文对这两种设备进行了详细比较。请阅读下文以了解有关这两种流媒体设备的更多信息。
inthemostwantedsea
2023/06/28
8330
Apple TV 与 Roku:该购买哪种流媒体设备?
直播间源码android音视频开发
简介: 随着音视频领域的火热,在很多领域(教育,游戏,娱乐,体育,跑步,餐饮,音乐等)尝试做音视频直播/点播功能,那么作为开发一个小白,如何快速学习音视频基础知识,了解音视频编解码的传输协议,编解码方式,以及如何技术选型,如何解决遇到的坑,本文抛砖引玉,欢迎大咖交流。
云豹短视频嘉兴
2020/08/24
3.8K0
投屏技术深度解析:从原理到成功率优化实战·优雅草卓伊凡
投屏(Screen Mirroring/Casting)本质上是一种跨设备的实时媒体流传输系统,其核心流程如下:
卓伊凡
2025/06/07
1060
智能电视的未来在哪儿
  最近一段时间,不少软件公司侵入硬件市场。从Google到戴尔,从阿里、360到早已登场的小米和乐视……一个新的蓝海正在浮现。如果说电脑早已日落西山,智能手机和平板刚过正午,那么,电视机旁边的争夺,则是八九点钟的太阳,充满朝气和想象。
阳光岛主
2019/02/19
1.5K0
智能电视的未来在哪儿
2018苹果开发者大会:推出机器学习应用套件Core ML 2,揭开iOS12的面纱
在苹果年度开发者大会WWDC的主题演讲中,苹果可能根本就没有讨论什么硬件,但是这个演示依然持续了两个多小时。苹果所有四个平台(iOS,watchOS,tvOS和macOS)都将在今年秋季重大更新,公司花费大量时间详细说明各种功能,这将改变你使用苹果设备的方式。
AiTechYun
2018/07/27
8940
2018苹果开发者大会:推出机器学习应用套件Core ML 2,揭开iOS12的面纱
Infuse for Mac(音视频播放器) 7.5.1中文免激活版
Infuse是一款多媒体播放器应用,它支持播放多种格式的视频文件、音频文件和图片文件,并且可以通过AIrPlay将媒体内容投放到其他设备上。Infuse还支持在线视频流媒体播放和本地网络共享,用户可以通过它来访问家庭网络上的媒体文件。
一小朵
2023/03/28
3K0
Infuse for Mac(音视频播放器) 7.5.1中文免激活版
一文看完 WWDC 2022 音视频相关的更新要点丨音视频工程示例
这个公众号会路线图式的遍历分享音视频技术:音视频基础(完成) → 音视频工具(完成) → 音视频工程示例(进行中) → 音视频工业实战(准备)。关注一下成本不高,错过干货损失不小 ↓↓↓
关键帧
2022/11/29
2.8K0
一文看完 WWDC 2022 音视频相关的更新要点丨音视频工程示例
相关推荐
演进中视频流媒体容器格式与传输协议
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档