问题标签 [qtkit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cocoa - Cocoa QTKit 解析问题
根据很多网上的参考资料,改变分辨率的方法是使用下面的代码。
但是改分辨率后captureView
可以看到不一样,但是用代码检查分辨率不正确。
有谁知道如何更改设备分辨率?
谢谢大家!
audio - QTKit 没有正确混合音轨
我正在尝试两次导入单个电影文件(2 个单独的 QTMovie 实例),将第二个实例的音轨偏移一秒,然后将其与第一个实例的音轨混合。它不混合。第一首曲目开始播放,然后停止,第二首曲目开始播放。当我使用 2 个具有不同内容的电影文件时不会发生这种情况,但是当我将文件复制到不同的名称时它仍然会发生!我创建了一个简单的示例项目来说明问题:http ://cl.ly/0s2U2s3S2F0Y052D2v0O/InsertTrack.zip
我也很乐意为这个问题的解决方案付费!
movie - 当我播放新电影时,QTKit 创建永不消亡的线程
我有一个应用程序可以编写电影,然后通过 QTMovieView 播放它们。每次我 [movieView setMovie:newMovie] 时,QTKit 都会创建一个永不消亡的新线程。看来这部电影从未解除分配。我创建了一个简单的例子来说明这个问题:
http://cl.ly/371e0p443Q2K0R3f0Q1w/MovieLeak.zip
我很乐意花钱请人来解决这个问题!
audio - QuickTime Capture 中未使用的音频通道问题
不久前,我使用 QTKit 捕获 API 编写了一个从多个设备同时捕获音频和视频的应用程序。
但是,我不时了解到,从 DV 摄像机捕获的媒体似乎没有任何相关的音频。事实上,音轨在文件中很好地呈现,但在 QuickTime Player Pro 中通道被设置为“未使用”——因此是静音。
由于我不愿意让我的用户接触到这样的恶作剧,我想在飞行后自动修复我的录音并在需要时自动修复频道布局。
不幸的是,我很难弄清楚怎么做!
我的问题有两个:
- 是否有可能检测到轨道的音频通道是否被 QTKit 标记为“未使用”?
- 由于我认为上述问题的答案是“否”,我一直在研究一些与“Atom Inspector”正常工作的电影文件的结构——到目前为止没有任何成功:
QuickTime Atom 在哪里/在哪里这个信息被存储了?
我可以在 Atom 中看到正确数量的通道stsd
(包含在stbl
Atom 中),但我看不到任何映射发生的位置。
objective-c - QTKit 让我的程序在尝试播放视频时冻结,同时录制来自其他来源的声音
我有一个应用程序,我使用 QTKit 获取有关机器周围声音的实时信息。在发生这种情况时,一些用户事件可能会启动视频的播放(仍然使用 QTKit)。发生这种情况时,我看到视频正在播放,但是输入声音停止被采集和处理。
电影 View 在 avakeFromNib 中初始化
当播放被击中时,音频输入流停止
关于如何使其工作的任何想法?
提前致谢
objective-c - QTKit 奇怪的错误
只是简单的代码和平(文件 1.mp3 在 iTunes 中点击并播放):
给我错误
- 错误域=NSOSStatusErrorDomain 代码=-2000 UserInfo=0x2004a6de0 “无法解析必要的数据引用。”
macos - 从 QuickTime 电影中提取 YV12 (YUV420) 格式的所有视频帧的实时方法?
我在 QTKit 中打开了 QTMovie。
我需要以 YV12 格式(kYUV420PixelFormat)实时获取该视频的每一帧(即,我将其传递给仅接受 YV12 并需要实时播放视频的外部代码)。
似乎应该完成的方式是为当前帧调用[movie frameImageAtTime: [movie currentTime] withAttributes: error: ],然后[movie stepForward]进入下一帧,依此类推,直到我得到所有帧. 但是,就我的研究而言,我找不到让 QTKit 以 YV12 格式或任何其他 YUV 格式为我提供数据的方法。frameImageAtTime:调用可以将其转换为:
- NSImage(但 NSImage 不能存储平面 YUV),
- CGImage(同样的事情),
- CIImage(同样的事情),
- CVPixelBuffer(这个可以存储YUV,但是好像没有办法配置调用从中获取YUV,默认返回ARGB32数据)
- OpenGL纹理(这可能也可以配置,但我在OpenGL中不需要这些数据,我需要它在内存中)
因此,使用这种据称是新的和优化的 QTKit 技术的唯一方法似乎是从中获取 ARGB 数据,使用自定义代码将每一帧转换为 YV12,并希望它仍然足够快以用于实时。还是我错过了什么?
在旧的 QuickTime 中,使用kYUV420PixelFormat设置 GWorld 相对容易,并对其进行电影渲染,并且可以正常工作。但旧的 QuickTime 调用是遗留的、已弃用的调用,不再使用......
我应该怎么做才能在没有不必要的转换的情况下获得 YUV420 平面框架?
objective-c - QTCaptureSession 的 addInput 方法没有返回
我有以下代码:
这位于运行时加载的包中,并且是作为 NSThread 选择器的方法的一部分(又名。它在后台线程中运行,而不是在主线程中运行)。
我的问题是,对 #addInput:error: 的调用永远不会返回。我在这里想念什么?
c++ - 调整嵌入在 Qt 应用程序中的 QTCaptureView 的大小
因此,我希望在 Mac 中拥有一个应用程序,它可以通过我的 iSight 显示实时视频预览,同时允许用户拍摄快照。基本上,它类似于 Still Motion Demo,除了现在我必须让它在 Qt 应用程序下工作。也就是说,我的 mm 文件大多遵循 c++ 结构,偶尔带有 Obj-c 消息传递。目前,我在将 QTCaptureView 与 Qt 模块的其余部分放在一起时遇到问题。
现在,我已经设法通过 QMacCocoaViewContainer 将它放入我的 Qt gui,并希望将其调整为合适的大小;由于我们不能再使用 Interface Builder,我必须以某种方式对其进行编码。我已经尝试在创建它之后立即设置它的框架和边界,但这没有任何区别。
根据我从 Xcode 中的调试器中可以看出,ourPreviewBounds 的大小为 0x0,即使在 setFrame 和 setBounds 调用之后也是如此。为了证明 camView 是有效的,我确实设法改变了 QTCaptureView 的填充颜色。
我从源代码中读到覆盖 QTCaptureView 的 previewBounds 可能是一种选择,但我无法找到任何可行的示例。
如果有人可以提示我如何在 Interface Builder 之外和代码内部调整 QTCaptureView 的大小,我将非常感激。
objective-c - QTKit 捕获:使用什么帧大小?
我正在编写一个简单的类似视频信使的应用程序,因此我需要获得一些折衷尺寸的帧,以便能够适应可用带宽,并且仍然使捕获的图像不失真。
要检索帧,我正在使用 QTCaptureVideoPreviewOutput 类,并且我成功地在 didOutputVideoFrame 回调中获取帧。(我需要原始帧 - 主要是因为我使用的是自定义编码器,所以我只想获得“原始位图”)。
问题是,对于这些新的 iSight 相机,我得到了巨大的帧。
幸运的是,这些用于捕获原始帧的类 (QTCaptureVideoPreviewOutput) 提供了 setPixelBufferAttributes 方法,该方法允许指定我想要获取的帧类型。如果我有幸猜到相机支持的某个帧大小,我可以指定它,QTKit 会将相机切换到这个指定的模式。如果我不走运 - 我会得到一个模糊的图像(因为它被拉伸/收缩),而且很可能是不成比例的。
我一直在搜索 list.apple.com 和 stackoverflow.com,答案是“Apple 目前不提供检索相机原生帧大小的功能”。好吧,我对此无能为力。
也许我应该在设置中提供最常见的框架尺寸,用户必须尝试它们才能看到什么对他有用?但是这些常见的框架尺寸是多少?我在哪里可以获得 UVC 相机通常生成的框架尺寸列表?
为了测试我的应用程序,我使用的是符合 UVC 的相机,但不是 iSight。我假设不是每个用户都在使用 iSight,而且我确信即使在不同型号的 iSight 相机之间也有不同的框架尺寸。
或者,也许,我应该将相机切换到默认模式,生成几帧,看看它生成了什么尺寸,至少我会有一些比例?这看起来像一个真正的黑客,似乎并不自然。并且图像很可能会再次模糊。
你能帮我吗,你是如何处理这个问题的?我确信我不是第一个面对它的人。你会选择什么方法?谢谢你,詹姆斯