AVPlayer 播放 m3u8 流时如何捕获图像?

2023-12-14

I use AVPlayer玩一个m3u8文件,我想在这些代码中捕获图像:

AVAssetImageGenerator *gen = [[AVAssetImageGenerator alloc] initWithAsset:self.player.currentItem.asset];
gen.appliesPreferredTrackTransform = YES;
NSError *error = nil;
CMTime actualTime;
CMTime now = self.player.currentTime;
[gen setRequestedTimeToleranceAfter:kCMTimeZero];
[gen setRequestedTimeToleranceBefore:kCMTimeZero];
CGImageRef image = [gen copyCGImageAtTime:now actualTime:&actualTime error:&error];
UIImage *thumb = [[UIImage alloc] initWithCGImage:image];
NSLog(@"%f , %f",CMTimeGetSeconds(now),CMTimeGetSeconds(actualTime));

NSLog(@"%@",error);
if (image) {
    CFRelease(image);
}

但它不起作用。错误是:

Error Domain=AVFoundationErrorDomain Code=-11800 "The operation could not be completed" UserInfo=0x7fadf25f59f0 {NSUnderlyingError=0x7fadf25f1670 "The operation couldn’t be completed. (OSStatus error -12782.)", NSLocalizedFailureReason=An unknown error occurred (-12782), NSLocalizedDescription=The operation could not be completed}

我该如何解决?
多谢。


AVAssetImageGenerator可能需要本地资产。也许你会更幸运添加一个AVPlayerItemVideoOutput给你的AVPlayer,寻找所需地点并呼叫copyPixelBufferForItemTime:itemTimeForDisplay:在视频输出上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AVPlayer 播放 m3u8 流时如何捕获图像? 的相关文章

  • XCode 4.5 给我“SenTestingKit/SenTestKit.h”文件未找到,但适用于 4.4.1

    我刚刚安装了 XCode 4 5 它在我现有的项目之一上给了我一个 SenTestingKit SenTestingKit h 文件未找到错误 此错误仅发生在 XCode 4 5 中 但它在 4 4 1 上编译正常 我已经检查过SenTes
  • PIL - 需要抖动,但限制调色板会导致问题

    我是 Python 新手 正在尝试使用 PIL 来执行 Arduino 项目所需的解析任务 这个问题涉及到Image convert 方法以及调色板 抖动等选项 我有一些硬件能够一次仅显示 16 种颜色的图像 但它们可以指定为 RGB 三元
  • ios - 在哪里放置 s.static_framework = true

    我在 CocoaPods 中的级别为 0 当我使用pod install有一个错误说 The Pods App target has transitive dependencies that include static framework
  • 将 UIButton 中的图像缩放到 AspectFit?

    我想将图像添加到 UIButton 并且还想缩放图像以适合 UIButton 使图像变小 请告诉我该怎么做 这是我尝试过的 但它不起作用 将图像添加到按钮并使用setContentMode self itemImageButton setI
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图
  • HTML5 仅拖放图像

    我想做的是 如果所有拖动的文件都是图像 则将其删除 但如果有其他文件扩展名 则不要删除它们 而仅删除图像 这是我的尝试 HTML div div JavaScript var dropzone document getElementById
  • iPhone UINavigationBar 使用 [UINavigationBar 外观] 更改所有控制器的字体样式

    我知道我可以单独更改导航栏的字体 如本答案所述 更改导航栏的字体 https stackoverflow com questions 5832036 change the navigation bars font 目前我正在使用一种更全局的
  • 如何解决 CoreData mogenerator 未找到问题

    我收到如下所示的错误 我不知道我错过了什么 我该如何解决这个问题 如下图所示 Users nischalhada Documents XcodePro mnepalnews revisited 2 0 CoreData mogenerato
  • iOS 滚动视图允许滚动过去的内容

    我正在努力优化我的应用程序以适应横向和较小的屏幕 我主要使用滚动视图来实现这一点 在我的其中一个视图中 我有一个容器视图 当我在故事板中的设备之间切换时 这个容器视图看起来很完美 容器视图映射到具有滚动视图的视图控制器 该滚动视图的顶部 底
  • iOS 中的构建对象文件扩展名是什么?

    当我在项目中构建java对象类时 将创建带有 class扩展名的构建文件 并且人类不可读 快速构建文件怎么样 example car java gt build gt car class 构建后会是什么 car swift gt build
  • 如何恢复消耗品应用内购买?

    我正在开发一款 iOS 游戏 用户可以通过应用内消耗品购买一定数量的内部货币 比如 1000 金币 如果用户想将余额从一台设备转移到另一台设备 如何恢复消耗品购买 在苹果的文档中 它说我们必须使用我们自己的服务器 但是如何获取用户的Appl
  • iOS:提高图像绘制速度

    我有一系列想要制作动画的图像 UIImageView支持一些基本的动画 但不足以满足我的需求 我的第一个方法是使用UIImageView并设置image当图像属性 这太慢了 速度慢的原因是图像的绘制 这让我感到惊讶 我以为瓶颈会加载图像 我
  • 检测 AvPlayer 何时切换比特率

    在我的应用程序中 我使用 AVPlayer 通过 HLS 协议读取一些流 m3u8 文件 我需要知道在流会话期间 客户端切换比特率多少次 我们假设客户端的带宽正在增加 因此客户端将切换到更高比特率的段 AVPlayer能检测到这个开关吗 T
  • 架构armv7的重复符号

    尝试在我现有的应用程序中使用 Layar SDK 时出现以下错误 我该如何解决这个问题 Ld Users pnawale Library Developer Xcode DerivedData hub afxxzaqisdfliwbzxbi
  • 频繁绘制 CGPath 时的性能

    我正在开发一个将数据可视化为折线图的 iOS 应用程序 该图被绘制为CGPath在全屏自定义中UIView最多包含 320 个数据点 数据经常更新 图表需要相应地重新绘制 刷新率为 10 秒就很好了 到目前为止很容易 然而 我的方法似乎需要
  • Java-如何将黑白图像加载到二进制中?

    我在 FSE 模式下使用 Java 和 swing 我想将完全黑白图像加载为二进制格式 最好是二维数组 并将其用于基于掩码的每像素碰撞检测 我什至不知道从哪里开始 过去一个小时我一直在研究 但没有找到任何相关的东西 只需将其读入Buffer
  • NVActivityIndi​​catorView 仅适用于特定视图

    我正在使用这个库https github com ninjaprox NVActivityIndi catorView https github com ninjaprox NVActivityIndicatorView用于显示加载指示器
  • WhatsApp 显示警告“此项目无法共享。请选择其他项目。”对于 iOS 应用程序。

    我正在开发一个 iOS 应用程序 在该应用程序中 我有社交共享功能 并且社交共享功能使用深度链接来共享 URL 该网址共享对于所有应用程序都运行良好 除了WhatsApp 它会显示一个警报弹出窗口 此项目无法共享 请选择其他项目 以下是我的
  • git 提交错误:检测到大文件

    您好 我正在为 ios 8 1 开发一个应用程序 xcode 我已经使用 googleMaps 框架来实现自动完成功能 当我尝试在 Git 中推送我的项目时 我收到大文件检测错误 后来尝试使用 git lfs 并跟踪 git 检测到的文件
  • 苹果企业程序分发问题[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 这个问题涉及到Apple iOS 开发者企业计划 http developer apple com programs ios enterprise 我

随机推荐

  • 如何在画布上绘制像素字体而不使用抗锯齿

    我有一个像素艺术字体 在 ttf 文件中 我发现它的原始分辨率为 8 像素 CTX font 8px mainfont 当我执行 fillText 时 字体在 Firefox 中显示完美 但在 chrome 中显示模糊 firefox ch
  • 如何在 Linux 中以编程方式检测 IP 地址更改?

    有没有办法使用 C 以编程方式检测 Linux 中本地计算机上的 IP 地址更改 给你 这不需要轮询就可以完成 它只监听 RTM NEWADDR 但如果需要的话应该很容易更改为支持 RTM DELADDR include
  • 通过反射检测本机对象

    我正在使用基于反射的对象翻译器 它基本上循环遍历对象的属性 并将值分配给翻译对象上具有相同名称 类型的属性 对象A Name 乔 翻译为 ObjectB Name 乔 我需要提出一个特殊情况 当属性是自定义类时 例如 对象A 地址 我希望我
  • Bash、grep 在具有指定字符串的两行之间

    Example a43 test1 abc cvb bnm test2 kfo 我需要 test1 和 test2 之间的所有行 普通的 grep 在这种情况下不起作用 你有什么建议吗 打印自test1 to test2 包括触发线 awk
  • Delphi中如何将一个数组附加到另​​一个相同类型的数组?

    如何在不使用迭代语句的情况下将一个数组附加到另 一个相同类型的数组 for or while循环 在德尔福 在最新的 Delphi 版本 XE7 中 您可以使用 运算符或Concat附加数组的例程 Link 官方帮助 没有提到 否则编写您自
  • 如何防止内联函数绑定到旧状态值

    在使用钩子的 React 组件的项目中 我试图了解如何正确避免调用绑定到旧状态值的回调 下面的示例说明了这个问题 但不是我正在处理的代码 import React useState useEffect from react import R
  • Blazor 服务器和实体框架。如何避免对数据库的多次冲突调用

    Summary 在我的 Razor 页面中 单个用户操作会触发两个事件 这些事件会导致对 EF 的调用 从而导致错误 System InvalidOperationException HResult 0x80131509 消息 A 在上一个
  • 限制pytest中要执行的测试用例的数量

    一点背景 我正在使用 Jenkins 执行我的测试用例 我现在正在使用 Jenkins 进行一些 POC 而且 就我而言 有 500 多个测试用例 需要一个小时才能执行 我只想执行一个测试用例 只是为了知道我在执行 Jenkins POC
  • 如何将 datagridview 行添加到 xml 文件?

    我是 c 的初学者 我创建了一个dataGridView1 in a Form我添加了一些行和列 不使用DataSet and Datatable 现在我需要发送数据dataGridView1到一个 xml 文件 xml 文件应该updat
  • OpenStack 中的通知

    我感兴趣的是如何向其他应用程序通知 openstack 中的事件 例如 我不想在我的应用程序中知道 nova 中的实例何时被挂起或恢复 是否有任何网络钩子或类似的东西我可以在哪里获得该信息 我正在查看有关通知的官方文档 但我无法从中得出任何
  • VB.NET 将查询字符串解析为数组

    我有这个字符串 1 True 2 150 minutes 3 True 4 True 5 Continuing to smoke 我怎样才能将它放入数组或对象中 如下所示 1 gt True 2 gt 150 minutes etc 我已经
  • Jfreechart:在 x 轴上显示周数的天数

    我正在使用 JFreeChart 显示一个月中每一天的值 现在我想让我的 x 轴显示一个月中的几周而不是几天 目前 我的图表的 y 轴值是 double x 轴值是 int Timestamp ts a getTimestamp Doubl
  • PDO - 致命错误:在非对象上调用成员函数 fetch() [重复]

    这个问题在这里已经有答案了 如果我尝试运行以下 PHP 代码 我会得到一个 调用非对象上的成员函数 fetch 你知道为什么吗 我在另一个网站上使用相同的代码 它运行得很好
  • z-index 属性不起作用

    嗨 伙计 我有以下代码 当我单击某个按钮时我不会这样做fadeTo只有内容没有 some tag在这种情况下fadeTo涉及 some tag div div div div content width 100 height 100 out
  • 6000万条条目,精选某月的条目。如何优化数据库?

    我有一个包含 6000 万条条目的数据库 每个条目包含 ID 数据源ID 一些数据 DateTime 我需要选择特定月份的条目 每个月包含大约 200 万个条目 select from Entries where time between
  • Watir Webdriver(0.9.1) 不再打开 Firefox 实例

    在将 Watir Webdriver v0 9 1 用于 Rails 以及 Selenium Webdriver 2 53 1 时 Firefox 在打开时 browser Watir Browser new firefox 被称为 然而现
  • 推荐一种在Java中将同步方法转为异步的更好方法

    类中有一些同步运行的方法 我希望它们异步运行 第一个想法是包装它 并使用 switch 枚举来决定应该调用哪个函数 但对于调用的每个方法 我都需要包装类中的一个新方法和一个新的枚举 它看起来像这样 public class QueuedSh
  • 如何为工作表制作下拉列表

    我的工作簿中共有五张工作表 我的任务是在第一个工作表中创建一个组合列表按钮 该按钮将能够指向其他四个工作表 如果用户选择工作表名称之一 则该按钮将自动激活所选工作表 尽管可能会添加工作表 但不太可能删除工作表 我什至不确定如何让工作表名称显
  • 在 Selenium Android Webdriver 测试中使用 Xpath 和 CSS 查找元素有困难

    我想使用 Selenium WebDriver 自动化 Android Web 应用程序 并且我运行了一个简单的程序来打开 google 页面并搜索术语 当找到具有名称和 ID 的元素时 它运行完美 但是 尝试使用 Xpath 和 Css
  • AVPlayer 播放 m3u8 流时如何捕获图像?

    I use AVPlayer玩一个m3u8文件 我想在这些代码中捕获图像 AVAssetImageGenerator gen AVAssetImageGenerator alloc initWithAsset self player cur