iOS AVFoundation 视频捕获方向选项

2023-12-30

我有一个应用程序,我只想为前置摄像头进行视频捕获。那没问题。但我希望视频捕捉始终是横向的,即使手机处于纵向状态也是如此。

我有一个基于 Apple 发布的 AVCamDemo 代码的工作实现。并借用了中的信息本技术说明 http://developer.apple.com/library/ios/#qa/qa1744/_index.html#//apple_ref/doc/uid/DTS40011134,我能够指定方向。只有一个技巧:虽然视频帧的方向正确,但内容仍然看起来像纵向拍摄的:

我想知道我是否只是受到硬件的物理限制的束缚:图像传感器只是这样定位的吗?上面引用的技术说明做了这样的说明:

重要提示:设置静态图像输出和动画的方向 文件输出不会物理旋转缓冲区。对于电影文件 输出,它将轨道变换(矩阵)应用于视频轨道,以便 影片在播放时旋转,并用于静态图像输出 它插入图像查看器用于旋转图像的 exif 元数据 稍后查看时正确。

但我回放该视频却发现事实并非如此。任何见解或建议将不胜感激!

谢谢, 亚伦.


回答你的问题,是的,图像传感器就是这样定位的。摄像机是大约 1 兆像素的“1080p”摄像机,具有固定方向。 5MP(或 4S 等的 8MP)静态相机也有固定方向。镜头本身不旋转,任何其他相机部件也不旋转,因此馈送本身具有固定方向。

“但是等等!”,你说,“我用相机应用程序(或 API)拍摄的照片可以正确旋转。这是为什么呢?”这是因为 iOS 会在拍照时查看手机的方向,并将该信息与图片一起存储(作为 Exif 附件)。然而,视频并没有如此标记——并且每个帧都必须单独标记,然后存在用户旋转手机时该怎么做的问题during视频....

因此,不,您不能询问视频流或静态图像在捕获视频时手机处于什么方向。但是,您可以直接询问手机的方向now:

UIDeviceOrientation currentOrientation = [UIDevice currentDevice].orientation;

如果您在视频捕获开始时(或从视频源中抓取静态图像时)执行此操作,则可以使用该信息进行自己的播放旋转。

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

iOS AVFoundation 视频捕获方向选项 的相关文章

  • 如何在 iOS 6 中强制 UIViewController 为纵向

    As the ShouldAutorotateToInterfaceOrientation在 iOS 6 中已弃用 我用它来强制特定视图仅肖像 在 iOS 6 中执行此操作的正确方法是什么 这仅适用于我的应用程序的一个区域 所有其他视图都可
  • 在后台继续下载

    我正在创建一个应用程序 其中我从服务器下载一些数据 在后台运行时 我希望连接继续运行 以便可以下载数据 我知道有方法应用程序委托 void applicationDidEnterBackground UIApplication applic
  • 在 Swift 中,如何为具有自动布局的 UIView 制作动画,就像页面滑入一样?

    我尝试创建一个 UIView 来表示一个大小与设备屏幕相同的页面 由于该应用程序支持方向 因此我使用 AutoLayout 来构建它 它工作正常 直到我尝试将页面动画化以从右侧滑入 经过一番研究后 我能想到的最好的办法是 myView UI
  • 构建 iOS 应用程序后退出代码 1 错误

    我正在尝试使用 RestKit 构建我的项目 当我构建它时 我收到以下错误 我尝试使用 Apple LLVM 3 0 和 LLVM GCC 4 2 进行编译 两者都产生相同的结果 任何人有任何想法是什么导致了这个问题 Ld Users Ji
  • 在对象的 NSArray 中搜索与任何属性匹配的字符串

    我有一个 NSArray 对象 这些对象有 10 个属性 我想对这些对象进行文本搜索 我知道如何一次搜索 1 个房产 但有没有一种简单的方法可以一次搜索所有房产 以下是我的对象具有的属性列表 property nonatomic retai
  • 在 iOS 上使用 MDCBottomNavigationBar 切换视图控制器

    我正在尝试创建一个使用 Material Design 库的底部导航功能的 iOS 应用程序 我可以获得带有底部导航栏的视图控制器来编译和显示 但我无法添加其他视图控制器并在单击不同选项卡时在它们之间切换 我将所有内容简化为两个文件 一个是
  • 如何找到安全区域的高度和宽度?

    我正在尝试以编程方式为某些标签 按钮和文本字段设置相对于安全区域的高度和宽度的约束 例如 我希望将标签到安全区域顶部的距离设置为安全区域高度的 10 如何检索安全区域的高度和宽度 这是一个合理的方法吗 我的想法是 无论 iOS 设备如何 我
  • iOS 应用程序中的屏幕共享? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我想与运行相同应用程序的其他设备共享
  • UIKeyboardFrameBeginUserInfoKey 和 UIKeyboardFrameEndUserInfoKey

    在管理键盘中文档 http developer apple com iphone library documentation StringsTextFonts Conceptual TextAndWebiPhoneOS KeyboardMa
  • Xcode如何将目标打包为.framework(而不是.a库)

    我有一个通用框架项目 其中包含一个库作为其主要目标 在产品下是带有 lib 前缀和 a 扩展名的库 请参阅下面的屏幕截图 我正在使用一个第三方项目 其中包含一个框架作为其目标 并且在 产品 下是具有 framework 扩展名的框架 请参阅
  • 如何使用AVAssetWriter将h264流写入视频?

    我想将 h 264 流从服务器传输到视频文件 但是当我使用assetwrite finishwrite XCode 报告 Video var mobile Applications DE4196F1 BB77 4B7D 8C20 7A5D6
  • 如何在没有 Apple 开发者帐户的设备上运行应用程序

    我找到了几个网站 其中提供了有关如何完成此操作的信息 但似乎没有一个网站适用于 Xcode 10 1 或 iOS 12 1 我尝试过的那些似乎都不起作用 我试过这个 创建一个空的 swift 项目 单视图应用程序 将签名团队设置为我的个人团
  • 应用内购买自定义价格

    我已经搜索了一段时间 但它可能太明显了 人们不会发布它 我想知道是否可以为产品设定动态价格 我有送货申请 价格可能会因距离而异 此外 它也可以是非整数价格 例如 2 43 美元 是否可以 另外 我无法在 iTunes Connect 上设定
  • 从 HealthKit 获取昨天的步数

    我正在构建一个供个人使用的应用程序 目前我正致力于如何从 healthkit 中准确获取昨天的步数 然后从那里将其放入变量中 我知道应该很容易 我有一个 HealthKitManager 类 它从视图内部调用该函数 然后将其附加到同一视图中
  • 如何比双击更快地识别单击?

    我有一个UITableView与我添加单击的行and双击手势 let doubleTap UITapGestureRecognizer target self action doubleTap doubleTap numberOfTapsR
  • iOS 上有像 JUNG 这样的可视化框架吗?

    有没有类似的可视化框架JUNG http jung sourceforge net applet index html对于iOS 我想实现类似的东西this http prefuse org gallery graphview iOS 上最
  • 无法在 Swift 的 Storyboard 中加载 UIViewController XIB 文件

    我读了使用 XCode 故事板实例化使用 XIB 进行设计的视图控制器 https stackoverflow com questions 9155719 using xcode storyboard to instantiate view
  • 以模态方式呈现 UIImagePickerController 时出错

    我有一个奇怪的问题UIImagePickerController在我的 iOS 6 应用程序中以模态方式显示 这XCode给我这个错误 Warning Attempt to present
  • WebCore::UserGestureIndicator::processingUserGesture 中的 EXC_BAD_ACCESS (SIGSEGV)

    我有一个使用 UIWebView 和 HTML5 websockets 构建的 iOS 应用程序 该应用程序经历了看似随机的崩溃 它发生在用户与其交互时以及在用户和应用程序之间没有发生交互的寿命测试期间 崩溃日志都有以下内容 Excepti
  • 如何使用 XCode 7 在故事板中将视图高度设置为屏幕高度的百分比

    我需要设计如下图所示的视图 我尝试过固定高度 也尝试过紧凑宽度和常规高度以及常规宽度和紧凑高度 但这些场景对我不起作用 如何在故事板中将视图高度设置为屏幕高度的百分比 我正在使用 Xcode 7 Basically you need to

随机推荐

  • 如何验证 ADFS SAML 令牌

    我目前正在从 ADFS 生成 SAML 令牌 如下所示 WSTrustChannelFactory factory null try use a UserName Trust Binding for username authenticat
  • 如何在 Heroku 上使用 Datomic Pro?

    我想在 Heroku 上使用 Datomic Pro 目前为入门版 但我不想将我的下载密钥提交到 Git 中 相反 正确的做法似乎是将其存储在环境变量中 这意味着我的project clj现在包含 dependencies org cloj
  • 在 inversifyjs 中重置作用域容器

    我正在实现一个范围容器架构 这样一个新的container为每个 Express 请求 或 apollographql 请求 创建 我有一个生命周期方法 可以在发送完响应后调用 这有利于清理和释放内存 并且该方法可以引用我们已完成服务的请求
  • 我们可以在Java中调用带有空对象的静态方法吗?如果是这样,怎么办?

    既然静态方法可以直接从类中调用 即ClassName methodName 为什么需要用类的对象来调用静态方法呢 如果有人知道的话 请举例说明 public static void methodA 以下代码包含一个示例 其中通过null参考
  • 为什么我的通用 StatefulWidget 类在运行时会出现 TypeError?

    我有一个通用的StatefulWidget类有一个Function打回来 当我尝试调用该回调时 我得到一个运行时TypeError EXCEPTION CAUGHT BY WIDGETS LIBRARY The following Type
  • Tomcat 中的共享 JNI 库 (.so) - UnsatisfiedLinkError

    我有一个在 Tomcat7 中部署的两个 Web 应用程序之间共享的 JNI 库 so 我在正在部署的第一个 Web 应用程序中仅使用 System loadLibrary 加载一次库 然后在第二个应用程序中检查它是否已加载以不再加载 我尝
  • 活动与片段生命周期[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在开发我正在使用的新应用程序Activity and Fragment 他们之间有什么主要区别吗 Update 我在 Androi
  • 我可以使用 asyncio 读取和写入 multiprocessing.Pipe 吗?

    我需要在 Python 中的进程之间进行通信并且正在使用asyncio在每个进程中进行并发网络IO 目前我正在使用multiprocessing Pipe to send and recv进程之间存在大量数据 但是我在外部这样做asynci
  • CRC32 校验和是如何计算的?

    也许我只是没有看到它 但 CRC32 似乎要么不必要地复杂 要么在我可以在网络上找到的任何地方都没有得到充分的解释 我知道它是消息值的基于非进位的算术除法除以 生成器 多项式的余数 但它的实际实现让我无法理解 我读了CRC 错误检测算法的轻
  • 所有不同 Intl.NumberFormats 的完整列表

    我正在寻找所有不同 Intl NumberFormats 的完整列表 The 国际数字格式 https developer mozilla org en US docs Web JavaScript Reference Global Obj
  • 如何在静态方法中调用类的成员变量?

    我正在使用某种方法来自动加载带有函数的帮助程序文件 我现在遇到的唯一问题是如何调用该类中的变量 因为我没有将其实例化为对象 this行不通的 但会怎样呢 class some helperclass var some variable 00
  • 如何处理 Laravel 5 中的异常和错误消息?

    当我收到此错误时 Connection php 第 620 行中的 QueryException SQLSTATE 23000 完整性 违反约束 1062 重复条目 我可以用我自己的闪存错误消息来处理它 而不是 哎呀 看起来像出事了 您有两
  • 在ansible中创建一个带有循环的docker-compose

    我需要基于 yml 文件构建一个 docker compose 在下一个 yml 中 它将是每个服务的名称 图像和版本 services service front image acalls caselog web app version
  • 如何在Android应用程序中创建游标数据而不从数据库获取数据?

    在我的 Android 应用程序中 我使用 Sqlite DataBase 来存储来自服务器的数据 我使用 ContentProvider 和 ContentResolver 访问 DataBase 中的数据 并使用 CursorAdapt
  • 空手道 - 如何处理 unicode 字符?

    我想发送一个 Unicode 字符串作为请求参数 如下所示 mobile 但空手道会这样发送 移动的 我尝试从包含我的文本的文件中读取 Unicode 文本 然后阅读并以这种方式发送 def persianMobile1 read clas
  • JPEG 的无损裁剪(剪切和粘贴)

    我正在寻找无损 jpeg 操作的示例 博客文章 等 裁剪 n drop 剪切和粘贴 我知道有一个程序jpegtran http jpegclub org jpegtran 它可以执行无损裁剪 在某些情况下 但似乎缺乏良好的文档 是的 我已经
  • javascript new Date(0) 类显示 16 小时?

    interval new Date 0 return interval getHours 上面返回 16 我希望它返回 0 有任何指针吗 getMinutes 和 getSeconds 按预期返回零 谢谢 我正在尝试制作一个计时器 func
  • iPhone 中 POST 方法的多个参数

    我正在尝试使用 POST 将多个参数发送到特定的 url 但它没有正确发送参数 NSDate now NSDate date NSDateFormatter formatter NSDateFormatter alloc init form
  • 使用objective-c/核心图形的水平居中文本

    我正在尝试使用 Core Graphics 在 iPhone 屏幕上居中显示文本 我发现这段代码 https stackoverflow com questions 48034940 draw centered text using cor
  • iOS AVFoundation 视频捕获方向选项

    我有一个应用程序 我只想为前置摄像头进行视频捕获 那没问题 但我希望视频捕捉始终是横向的 即使手机处于纵向状态也是如此 我有一个基于 Apple 发布的 AVCamDemo 代码的工作实现 并借用了中的信息本技术说明 http develo