首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >FairPlay流:在AVPlayerItemVideoOutput上调用copyPixelBufferForItemTime返回NULL

FairPlay流:在AVPlayerItemVideoOutput上调用copyPixelBufferForItemTime返回NULL
EN

Stack Overflow用户
提问于 2017-03-16 08:35:19
回答 1查看 1.1K关注 0票数 1

有没有人有使用HLS和Fairplay并成功地检索像素缓冲区的经验?

我使用的是AVURLAsset及其resourceLoader委托集。我的AVAssetResourceLoaderDelegate负责处理公平游戏过程。

但是,当我尝试使用附加到AVPlayerLayer上的AVPlayerItemVideoOutput并在其上使用copyPixelBufferForItemTime时,返回的pixelBuffer总是为NULL。

另一方面,当我使用非加密流而不使用resourceLoader时,copyPixelBufferForItemTime会按预期返回一个像素缓冲区。

这是按计划进行的吗?(也就是说,使用FairPlay进行保护的流不公开其像素缓冲区以防止误用。)

如果没有,是否有任何方法从使用FairPlay在iOS上保护的流中获取像素缓冲区?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-18 02:43:08

在进一步研究这个问题之后,我得出的结论是,苹果设计他们的AVPlayer时,一旦使用了FairPlay保护的HLS,就会成为解密数据copyPixelBufferForItemTime总是返回零的唯一出口点(参见A:)。

  • 我在没有加密的情况下测试了完全相同的流,copyPixelBufferForItemTime按预期返回对像素缓冲区的引用。
  • 我在一个上用加密测试了完全相同的流AVPlayerLayer,它将视频显示为例外。

看来,一旦使用FairPlay,显示受保护的视频内容的唯一方法就是使用AVPlayerLayer。到今天为止,似乎还没有办法从苹果的API中检索受FairPlay保护的HLS媒体,以便在3D空间的OpenGL纹理上显示它。

答:copyPixelBufferForItemTime是唯一的出口点,因为在AVPlayerLayer上调用renderInContext不起作用

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42839831

复制
相关文章
flutter - 方法 '[]'在null上被调用,但在inApp中有效
这意味着检索数据需要很短的时间, 试试这个。数据为空时,它将在短时间内通过进度指示器
徐建国
2021/08/03
9460
AVPlayer初体验之视频解纹理
AVPlayer是苹果提供的用来管理多媒体播放的控制器,提供了播放所需要的控制接口和支持KVO的属性,支持播放本地和网络视频,以及实时视频流。它一次只能播放一个AVPlayerItem,如果需要切换媒体源,需要使用replaceCurrentItem(with:)函数。如果需要播放多个视频,可以考虑使用AVQueuePlayer。在不同性能的设备上,甚至相同设备的不同iOS版本上,AVPlayer的最大支持清晰度都会不一样,例如在iOS10的某些机器上不支持4k播放,但是到iOS11就支持了,关于测定视频是
xferris
2018/06/01
3.5K0
【Kotlin 协程】Flow 异步流 ① ( 以异步返回返回多个返回值 | 同步调用返回多个值的弊端 | 尝试在 sequence 中调用挂起函数返回多个返回值 | 协程中调用挂起函数返回集合 )
在 Kotlin 协程 Coroutine 中 , 使用 suspend 挂起函数 以异步的方式 返回单个返回值肯定可以实现 , 参考 【Kotlin 协程】协程的挂起和恢复 ① ( 协程的挂起和恢复概念 | 协程的 suspend 挂起函数 ) 博客 ;
韩曙亮
2023/03/30
8.3K0
【Kotlin 协程】Flow 异步流 ① ( 以异步返回返回多个返回值 | 同步调用返回多个值的弊端 | 尝试在 sequence 中调用挂起函数返回多个返回值 | 协程中调用挂起函数返回集合 )
iOS开发-OpenGL ES实践教程(一)
教程 入门教程和进阶教程,介绍的是OpenGL ES基础,学习图形学基本概念,了解OpenGL ES的特性。 实践教程是OpenGL ES在实际开发中的应用,demo的来源主要是apple官网和gi
落影
2018/04/27
1.8K0
iOS开发-OpenGL ES实践教程(一)
在 React 16 中从 setState 返回 null 的妙用[每日前端夜话0x7D]
在 React 16 中为了防止不必要的 DOM 更新,允许你决定是否让 .setState 更来新状态。在调用 .setState 时返回 null 将不再触发更新。
疯狂的技术宅
2019/06/11
14.6K0
在iOS上推流
编译librtmp需要用到openssl,所以先编译openssl,下载脚本OpenSSL。
Helloted
2022/06/07
8640
在iOS上推流
【iOS】(二)GPUImage的Source,滤镜链的源头--万恶之源
(一)GPUImage的结构,滤镜链的实现原理 从上一节的滤镜链的原理中,我们知道了Source总是滤镜链的源头,必须继承GPUImageOutput,通过传递outputFramebuffer给target,实现滤镜链
MapleYe
2020/03/31
1.3K0
File.listFiles()返回null
如果已知ROOT路径存在,root.exists()返回true。且是文件夹。那么原因则是没有获取READ_EXTERNAL_STORAGE权限。
平凡的学生族
2019/05/25
5.1K0
NDK学习笔记:线程JNIEnv,JavaVM,JNI_OnLoad(GetEnv返回NULL?FindClass返回NULL?)
nativeThreadEnvTest打算实现这样一个功能:for循环调用MainActivity.getUuid方法,打印出5串不同的UUID。听上去很简单,逻辑代码如下:
全栈程序员站长
2022/07/30
2.8K0
NDK学习笔记:线程JNIEnv,JavaVM,JNI_OnLoad(GetEnv返回NULL?FindClass返回NULL?)
thrift:返回null的解决办法
本文讨论了Thrift框架返回null的问题,并提供了相应的解决方案。文章提到,Thrift不允许服务接口返回null,否则会抛出异常。为了解决这个问题,开发人员可以捕获ThriftApplicationException异常,并根据异常类型进行相应的处理。如果异常类型是TApplicationException,并且异常原因是missing_result,那么可以返回null。否则,应该继续向上抛出异常。
10km
2018/01/03
3.7K0
typeof运算对于null会返回“Object"
您也许会问,为什么 typeof 运算符对于 null 值会返回 "Object"。这实际上是 JavaScript 最初实现中的一个错误,然后被 ECMAScript 沿用了。现在,null 被认为是对象的占位符,从而解释了这一矛盾,但从技术上来说,它仍然是原始值。
阮键
2019/08/07
2.2K0
[PHP]json_encode中文JSON_UNESCAPED_UNICODE在php5.3返回null
注意当json_encode中文的时候 , 默认是以unicode编码的 , 如果想变成中文需要增加参数JSON_UNESCAPED_UNICODE
唯一Chat
2021/02/04
7480
以太坊执行miner.start返回null
问题场景 最近技术群中的朋友经常问到这样的问题,环境搭建已经搭建好,geth节点也成功启动,可为什么当执行miner.start()方法时却没有挖矿,返回null。 其实,不仅仅这些朋友,本人在启动最
程序新视界
2017/12/29
2.4K0
php json_decode 返回 null 乱码问题
编码错乱的昵称存在json字符串里,php调用json_decode(xxx, true) 失败,返回null的问题。
shirishiyue
2020/01/01
3.3K0
JavaScript基础:typeof null 为什么返回object
null本身实际上是基本类型,但是Javascript在存储的时候,会将不同的对象在底层存储都使用二进制的方式存储,在Javascript中如果二进制的前三位都为0的话就会被判断为object,null的二进制存储表示形式为全是0,自然前三位也是0,因此执行typeof时会返回”object”。
IT工作者
2022/01/26
3K0
React报错之ref返回undefined或null
原文链接:https://bobbyhadz.com/blog/react-ref-returns-undefined-or-null[1]
chuckQu
2022/08/19
1.3K0
如何在HUE上通过oozie调用Pig工作流
执行pig脚本将name_age_comma.txt文件中的逗号,转为竖线|,并输出到/user/hue/learn_oozie/mazy_pig_1/output路径下。
create17
2019/03/12
8650
如何在HUE上通过oozie调用Spark工作流
访问ip:8888/about/#step2,点击下载Oozie Editor/Dashboard,可以下载应用程序示例。如下图所示:
create17
2019/03/12
2.7K0
返回给前端图片流
在开发时遇到造一个这样的问题,场景是这样的,前端需要一个接口,根据用户的id返回用户的图片流,当时没明白什么是流,后来通过查看nodejs的文档,nodejs具有流场景的应用,代码如下:
挥刀北上
2021/11/30
2.2K0
返回给前端图片流
点击加载更多

相似问题

如何显示来自[AVPlayerItemVideoOutput copyPixelBufferForItemTime:]的结果?

11

AVPlayerItemVideoOutput copyPixelBufferForItemTime为特定视频在iOS上提供了不正确的CVPixelBufferRef

15

HEVC Fairplay流

110

调用.getEncoded()在SecretKey上返回null

13

Fairplay SPC请求返回空

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文